wc 命令,用于统计

  1. wc index.php #依次输出 行数 字数 字节数 文件名
  2. wc -l index.php #统计文件行数
  3. wc -w index.php #统计文件字数
  4. wc -c index.php #统计字节数

last 命令

  1. last #显示最近登录的用户列表
  2. last -6 #显示最近登录的 6 条登录信息
  3. last -u nick #显示指定用户 nick 的登录信息

lastlog 命令

  1. lastlog #显示最后登录的用户信息,内容为 用户名 终端 ip地址 登录时间,如果没有登录信息登录时间为 **Never logged in**
  2. 内容如下
  3. tss **Never logged in**
  4. postfix **Never logged in**
  5. sshd **Never logged in**
  6. ntp **Never logged in**
  7. tcpdump **Never logged in**
  8. nscd **Never logged in**
  9. nick pts/0 x.x.x.x Sun May 6 16:06:39 +0800 2018
  10. lastlog -t 2 #指定 2 天内的登录信息
  11. lastlog -u nick #指定 nick 用户的登录信息

lastb 命令

  1. sudo lastb #显示最近登录失败的用户,需要 root 权限
  2. lastb -2 #显示 2 天内登录失败的用户

date 命令

  1. date #输出系统时间与日期,世界标准时间(UTC)格式 Sun May 6 16:19:05 CST 2018
  2. date +"%Y-%m-%d" #输出年月日
  3. date +"%Y-%m-%d %H:%M.%S" #输出年月日时分秒

history 命令

  1. history #显示执行过的命令,以列表显示
  2. history 5 #只显示最近执行过的 5 条命令
  3. history -c #清除执行过的命令

fc 命令

  1. fc -l #显示执行过的命令
  2. fc -l 2 #显示最近执行的 2 条命令
  3. fc -ln #显示执行过的命令,不显示编号
  4. fc 588 #默认使用 vim 打开,编辑编号为 588 的命令,如果有修改,保存退出之后自动执行

echo 命令

  1. echo hello linux #输出字符串
  2. echo $my_name #输出变量值

time 命令

  1. time ls #统计执行命令的时间
  2. real 0m0.002s #命令执行开始到结束的时间
  3. user 0m0.002s #进程花费在用户模式中的时间
  4. sys 0m0.000s #在内核模式中的时间
  5. /usr/bin/time -o output.log ls #将执行时间写入文件日志
  6. /usr/bin/time -ao outfile.txt ls #以追加的形式将执行时间写入日志文件

补充:-a 选项必须在 -o 前面,否则执行不成功

login 命令

  1. login nick #当前用户切换到 nick 登录

logout 命令

  1. logout #以当前用户退出登录

exit 命令

  1. exit #退出登录或登录当前 shell 脚本

clear 命令

  1. clear #清除屏幕内容

alias 命令

  1. alias gs="git status" #给 git status 起别名为 gs,仅在当前环境生效,关闭终端或退出登录以后无效,一般配置在当前 shell 的配置文件中

unalias 命令

  1. unadlias gs #取消命令别名

type 命令

  1. type pwd #查看命令的类型

w 命令

  1. w #查看当前登录系统的用户

mesg 命令

  1. mesg y #允许终端接收信息
  2. mesg n #禁止终端接收信息

write 命令

  1. write root #向 `root` 用户发送消息,实时的,用户必须登录服务器状态并且 `mesg` 设置为 `y` 才可以接收到,输入信息之后按 `control +d`

wall 命令

  1. wall #向所有在线的用户发送消息,输入信息之后按 `control +d` 发送,`mesg` 设置为 `y` 才可以接收到

sort 命令

  1. ls /usr | sort #排序

nohup 命令

  1. nohup node app.js & #将执行的结果不显示并在后台运行,默认会在执行命令当前目录插件 nohup.out ,如果 nohup.out 文件没有写入权限,会在 ~ 目录下新建
  2. nohup node app.js > demo.txt 2>&1 & #同上,指定写入文件名

tree 命令

  1. tree /usr/local #以树状形式显示指定路径的目录和文件内容
  2. tree -d /usr/local #以树状形式显示指定路径目录内容

ln 命令

  1. ln -s 目标文件 软连接
  2. ln -s /usr/local/php/bin/php /usr/local/bin/php #创建软连接,软连接被删除并不会影响源文件,源文件被删除软连接失效,只有文件才可以设置软连接,类似 Windows 系统的快捷方式

scp 命令

  1. scp demo.php username@ip:path #将本地文件复制在远程服务器
  2. scp -r dirname username@ip:path #将本地命令复制到远程服务器
  3. scp [-P 端口号] xxx username@ip:path #指定端口号
  4. scp username@ip:path/filename ./ #将远程服务器上的文件复制到本地
  5. scp -r username@ip:path/dirname ./ #将远程服务器上的目录复制到本地
  6. scp [-P 端口号] [-r] username@ip:path/ ./

补充:-P 指定端口,-r 递归

source 命令

  1. source .zshrc #加载配置
  2. source demo.sh #运行 shell 脚本,在 shell 脚本中代表引入文件

ab 命令

  1. ab -c 100 -n 200 'url' #压力测试

补充:c 代表并发数量 n 代表请求数量

yes 命令

  1. yes #不指定输出内容默认输出 y
  2. yes xxx #不断输出指定内容

chsh 命令

  1. chsh -l #查看系统 shell ,相当于 cat /etc/shells
  2. chsh -s /bin/zsh #更改当前用户的 shell ,更改完之后要重新登录才生效

补充:Ubuntu 系统没 -l 选项

tee 命令

  1. ls ~ | tee test.txt #查看指定目录的内容并写入文件
  2. ls /usr/local/nginx | tee -a test.txt #查看并以追加的形式写入内容

nmap 命令

  1. nmap ip #查看开放端口
  2. nmap ip -p 端口 #查看指定端口是否开启
  3. nmap -sS -P0 -sV -O ip #查看主机系统信息

sqlmap 命令

readonly 命令

  1. readonly name=demo #声明变量并将变量设置为只读,不允许修改删除
  2. address=china #声明变量
  3. readonly address #设置已存在的变量为只读
  4. readonly -p #查看只读变量列表
  5. readonly -a arr=(1,e,5) #数组类型的只读变量

enable 命令

  1. enable #查看内置 shell 命令,只有列表内的命令可以设置禁用
  2. enable -n type #禁用 type 命令,设置之后执行 type 命令会提示命令不存在
  3. enable -pn #查看禁用的命令列表
  4. enable -a type #解除禁用

visudo 命令

  1. visudo #打开编辑 /etc/sudoers 文件