2018-07-18 21:37:02 +08:00

314 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### wc 命令,用于统计
```
wc index.php #依次输出 行数 字数 字节数 文件名
wc -l index.php #统计文件行数
wc -w index.php #统计文件字数
wc -c index.php #统计字节数
```
#### last 命令
```
last #显示最近登录的用户列表
last -6 #显示最近登录的 6 条登录信息
last -u nick #显示指定用户 nick 的登录信息
```
#### lastlog 命令
```
lastlog #显示最后登录的用户信息,内容为 用户名 终端 ip地址 登录时间,如果没有登录信息登录时间为 **Never logged in**
内容如下
tss **Never logged in**
postfix **Never logged in**
sshd **Never logged in**
ntp **Never logged in**
tcpdump **Never logged in**
nscd **Never logged in**
nick pts/0 x.x.x.x Sun May 6 16:06:39 +0800 2018
lastlog -t 2 #指定 2 天内的登录信息
lastlog -u nick #指定 nick 用户的登录信息
```
#### lastb 命令
```
sudo lastb #显示最近登录失败的用户,需要 root 权限
lastb -2 #显示 2 天内登录失败的用户
```
#### date 命令
```
date #输出系统时间与日期世界标准时间UTC格式 Sun May 6 16:19:05 CST 2018
date +"%Y-%m-%d" #输出年月日
date +"%Y-%m-%d %H:%M.%S" #输出年月日时分秒
```
#### history 命令
```
history #显示执行过的命令,以列表显示
history 5 #只显示最近执行过的 5 条命令
history -c #清除执行过的命令
```
#### fc 命令
```
fc -l #显示执行过的命令
fc -l 2 #显示最近执行的 2 条命令
fc -ln #显示执行过的命令,不显示编号
fc 588 #默认使用 vim 打开,编辑编号为 588 的命令,如果有修改,保存退出之后自动执行
```
#### echo 命令
```
echo hello linux #输出字符串
echo $my_name #输出变量值
```
#### time 命令
```
time ls #统计执行命令的时间
real 0m0.002s #命令执行开始到结束的时间
user 0m0.002s #进程花费在用户模式中的时间
sys 0m0.000s #在内核模式中的时间
/usr/bin/time -o output.log ls #将执行时间写入文件日志
/usr/bin/time -ao outfile.txt ls #以追加的形式将执行时间写入日志文件
```
补充:`-a` 选项必须在 `-o` 前面,否则执行不成功
#### login 命令
```
login nick #当前用户切换到 nick 登录
```
#### logout 命令
```
logout #以当前用户退出登录
```
#### exit 命令
```
exit #退出登录或登录当前 shell 脚本
```
#### clear 命令
```
clear #清除屏幕内容
```
#### alias 命令
```
alias gs="git status" #给 git status 起别名为 gs仅在当前环境生效关闭终端或退出登录以后无效一般配置在当前 shell 的配置文件中
```
#### unalias 命令
```
unadlias gs #取消命令别名
```
#### type 命令
```
type pwd #查看命令的类型
```
#### w 命令
```
w #查看当前登录系统的用户
```
#### mesg 命令
```
mesg y #允许终端接收信息
mesg n #禁止终端接收信息
```
#### write 命令
```
write root #向 `root` 用户发送消息,实时的,用户必须登录服务器状态并且 `mesg` 设置为 `y` 才可以接收到,输入信息之后按 `control +d`
```
#### wall 命令
```
wall #向所有在线的用户发送消息,输入信息之后按 `control +d` 发送,`mesg` 设置为 `y` 才可以接收到
```
#### sort 命令
```
ls /usr | sort #排序
```
#### nohup 命令
```
nohup node app.js & #将执行的结果不显示并在后台运行,默认会在执行命令当前目录插件 nohup.out ,如果 nohup.out 文件没有写入权限,会在 ~ 目录下新建
nohup node app.js > demo.txt 2>&1 & #同上,指定写入文件名
```
#### tree 命令
```
tree /usr/local #以树状形式显示指定路径的目录和文件内容
tree -d /usr/local #以树状形式显示指定路径目录内容
```
#### ln 命令
```
ln -s 目标文件 软连接
ln -s /usr/local/php/bin/php /usr/local/bin/php #创建软连接,软连接被删除并不会影响源文件,源文件被删除软连接失效,只有文件才可以设置软连接,类似 Windows 系统的快捷方式
```
#### scp 命令
```
scp demo.php username@ip:path #将本地文件复制在远程服务器
scp -r dirname username@ip:path #将本地命令复制到远程服务器
scp [-P 端口号] xxx username@ip:path #指定端口号
scp username@ip:path/filename ./ #将远程服务器上的文件复制到本地
scp -r username@ip:path/dirname ./ #将远程服务器上的目录复制到本地
scp [-P 端口号] [-r] username@ip:path/ ./
```
补充:`-P` 指定端口,`-r` 递归
#### source 命令
```
source .zshrc #加载配置
source demo.sh #运行 shell 脚本,在 shell 脚本中代表引入文件
```
#### ab 命令
```
ab -c 100 -n 200 'url' #压力测试
```
补充:`c` 代表并发数量 `n` 代表请求数量
#### yes 命令
```
yes #不指定输出内容默认输出 y
yes xxx #不断输出指定内容
```
#### chsh 命令
```
chsh -l #查看系统 shell ,相当于 cat /etc/shells
chsh -s /bin/zsh #更改当前用户的 shell ,更改完之后要重新登录才生效
```
补充:`Ubuntu` 系统没 `-l` 选项
#### tee 命令
```
ls ~ | tee test.txt #查看指定目录的内容并写入文件
ls /usr/local/nginx | tee -a test.txt #查看并以追加的形式写入内容
```
#### nmap 命令
```
nmap ip #查看开放端口
nmap ip -p 端口 #查看指定端口是否开启
nmap -sS -P0 -sV -O ip #查看主机系统信息
```
#### sqlmap 命令
```
```
#### readonly 命令
```
readonly name=demo #声明变量并将变量设置为只读,不允许修改删除
address=china #声明变量
readonly address #设置已存在的变量为只读
readonly -p #查看只读变量列表
readonly -a arr=(1,e,5) #数组类型的只读变量
```
#### enable 命令
```
enable #查看内置 shell 命令,只有列表内的命令可以设置禁用
enable -n type #禁用 type 命令,设置之后执行 type 命令会提示命令不存在
enable -pn #查看禁用的命令列表
enable -a type #解除禁用
```
#### visudo 命令
```
visudo #打开编辑 /etc/sudoers 文件
```