|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
##############################################################################
|
|
|
|
|
# BASH CHEATSHEET (中文速查表) - by skywind (created on 2018/02/14)
|
|
|
|
|
# Version: 37, Last Modified: 2018/03/10 15:51
|
|
|
|
|
# Version: 38, Last Modified: 2018/03/10 17:17
|
|
|
|
|
# https://github.com/skywind3000/awesome-cheatsheets
|
|
|
|
|
##############################################################################
|
|
|
|
|
|
|
|
|
@ -135,6 +135,7 @@ last # 显示最近用户登陆列表
|
|
|
|
|
last {user} # 显示登陆记录
|
|
|
|
|
lastb # 显示失败登陆记录
|
|
|
|
|
lastlog # 显示所有用户的最近登陆记录
|
|
|
|
|
sudo {command} # 以 root 权限执行某命令
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
@ -147,16 +148,22 @@ ps aux # 查看所有进程详细信息,类似 ps -ef
|
|
|
|
|
ps auxww # 查看所有进程,并且显示进程的完整启动命令
|
|
|
|
|
ps -u {user} # 查看某用户进程
|
|
|
|
|
ps axjf # 列出进程树
|
|
|
|
|
ps xjf -u {user} # 列出某用户的进程树
|
|
|
|
|
ps -eo pid,user,command # 按用户指定的格式查看进程
|
|
|
|
|
ps aux | grep httpd # 查看名为 httpd 的所有进程
|
|
|
|
|
ps --ppid {pid} # 查看父进程为 pid 的所有进程
|
|
|
|
|
pstree # 树形列出所有进程,pstree 默认一般不带,需安装
|
|
|
|
|
pstree {user} # 进程树列出某用户的进程
|
|
|
|
|
pstree -u # 树形列出所有进程以及所属用户
|
|
|
|
|
pgrep {procname} # 搜索名字匹配的进程的 pid,比如 pgrep apache2
|
|
|
|
|
|
|
|
|
|
kill {pid} # 结束进程
|
|
|
|
|
kill -9 {pid} # 强制结束进程,9/SIGKILL 是强制不可捕获结束信号
|
|
|
|
|
kill -KILL {pid} # 强制执行进程,kill -9 的另外一种写法
|
|
|
|
|
kill -l # 查看所有信号
|
|
|
|
|
kill -l TERM # 查看 TERM 信号的编号
|
|
|
|
|
killall {procname} # 按名称结束进程
|
|
|
|
|
killall {procname} # 按名称结束所有进程
|
|
|
|
|
pkill {procname} # 按名称结束进程,除名称外还可以有其他参数
|
|
|
|
|
|
|
|
|
|
top # 查看最活跃的进程
|
|
|
|
|
top -u {user} # 查看某用户最活跃的进程
|
|
|
|
@ -178,6 +185,7 @@ disown {PID|JID} # 将进程从后台任务列表(jobs)移除
|
|
|
|
|
wait # 等待所有后台进程任务结束
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
|
# 常用命令:SSH / 系统信息 / 网络
|
|
|
|
|
##############################################################################
|
|
|
|
@ -209,8 +217,10 @@ ping {host} # ping 远程主机并显示结果,CTRL+C 退出
|
|
|
|
|
ping -c N {host} # ping 远程主机 N 次
|
|
|
|
|
traceroute {host} # 侦测路由连通情况
|
|
|
|
|
mtr {host} # 高级版本 traceroute
|
|
|
|
|
host {domain} # DNS 查询,{domain} 前面可加 -a 查看详细信息
|
|
|
|
|
whois {domain} # 取得域名 whois 信息
|
|
|
|
|
dig {domain} # 取得域名 dns 信息
|
|
|
|
|
route -n # 查看路由表
|
|
|
|
|
|
|
|
|
|
wget {url} # 下载文件,可加 --no-check-certificate 忽略 ssl 验证
|
|
|
|
|
wget -qO- {url} # 下载文件并输出到标准输出(不保存)
|
|
|
|
@ -486,7 +496,8 @@ done
|
|
|
|
|
|
|
|
|
|
command ls # 忽略 alias 直接执行程序或者内建命令 ls
|
|
|
|
|
builtin cd # 忽略 alias 直接运行内建的 cd 命令
|
|
|
|
|
enable # 允许或者禁止 bash 的内建命令
|
|
|
|
|
enable # 列出所有 bash 内置命令,或禁止某命令
|
|
|
|
|
help {builtin_command} # 查看内置命令的帮助(仅限 bash 内置命令)
|
|
|
|
|
|
|
|
|
|
eval $script # 对 script 变量中的字符串求值(执行)
|
|
|
|
|
|
|
|
|
@ -596,6 +607,48 @@ bind '"\eK":"\C-e"' # 绑定 ALT+K 为移动到行末,同 CTRL+
|
|
|
|
|
bind '"\e;":"ls -l\n"' # 绑定 ALT+; 为执行 ls -l 命令
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
|
# 网络管理:netstat / ip / ifconfig / nmap ...
|
|
|
|
|
##############################################################################
|
|
|
|
|
|
|
|
|
|
netstat -an # 查看所有连接信息
|
|
|
|
|
netstat -anp # 查看所有连接信息,包含进程信息(需要 sudo)
|
|
|
|
|
netstat -lntu # 显示所有正在监听的 TCP 和 UDP 信息
|
|
|
|
|
netstat -lntup # 显示所有正在监听的 socket 及进程信息
|
|
|
|
|
netstat -i # 显示网卡信息
|
|
|
|
|
netstat -rn # 显示当前系统路由表,同 route -n
|
|
|
|
|
|
|
|
|
|
ss -an # 比 netstat -an 更快速更详细
|
|
|
|
|
ss -s # 统计 TCP 的 established, wait 等
|
|
|
|
|
|
|
|
|
|
ip a # 显示所有网络地址,同 ip address
|
|
|
|
|
ip a show eth1 # 显示网卡 IP 地址
|
|
|
|
|
ip a add 172.16.1.23/24 dev eth1 # 添加网卡 IP 地址
|
|
|
|
|
ip a del 172.16.1.23/24 dev eth1 # 删除网卡 IP 地址
|
|
|
|
|
ip link show dev eth0 # 显示网卡设备属性
|
|
|
|
|
ip link set eth1 up # 激活网卡
|
|
|
|
|
ip link set eth1 down # 关闭网卡
|
|
|
|
|
ip link set eth1 address {mac} # 修改 MAC 地址
|
|
|
|
|
ip neighbour # 查看 ARP 缓存
|
|
|
|
|
ip route # 查看路由表
|
|
|
|
|
ip route add 10.1.0.0/24 via 10.0.0.253 dev eth0 # 添加静态路由
|
|
|
|
|
ip route del 10.1.0.0/24 # 删除静态路由
|
|
|
|
|
|
|
|
|
|
ifconfig # 显示所有网卡和接口信息
|
|
|
|
|
ifconfig -a # 显示所有网卡(包括开机没启动的)信息
|
|
|
|
|
ifconfig eth0 # 指定设备显示信息
|
|
|
|
|
ifconfig eth0 up # 激活网卡
|
|
|
|
|
ifconfig eth0 down # 关闭网卡
|
|
|
|
|
ifconfig eth0 192.168.120.56 # 给网卡配置 IP 地址
|
|
|
|
|
ifconfig eth0 10.0.0.8 netmask 255.255.255.0 up # 配置 IP 并启动
|
|
|
|
|
ifconfig eth0 hw ether 00:aa:bb:cc:dd:ee # 修改 MAC 地址
|
|
|
|
|
|
|
|
|
|
nmap 10.0.0.12 # 扫描主机 1-1000 端口
|
|
|
|
|
nmap -p 1024-65535 10.0.0.12 # 扫描给定端口
|
|
|
|
|
nmap 10.0.0.0/24 # 给定网段扫描局域网内所有主机
|
|
|
|
|
nmap -O -sV 10.0.0.12 # 探测主机服务和操作系统版本
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
|
# 有趣的命令
|
|
|
|
|
##############################################################################
|
|
|
|
@ -632,6 +685,9 @@ chmod --reference f1 f2 # 将 f2 的权限设置成 f1 一模一样
|
|
|
|
|
# 列出最常使用的命令
|
|
|
|
|
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
|
|
|
|
|
|
|
|
|
|
# 列出所有网络状态:ESTABLISHED / TIME_WAIT / FIN_WAIT1 / FIN_WAIT2
|
|
|
|
|
netstat -n | awk '/^tcp/ {++tt[$NF]} END {for (a in tt) print a, tt[a]}'
|
|
|
|
|
|
|
|
|
|
# 通过 SSH 来 mount 文件系统
|
|
|
|
|
sshfs name@server:/path/to/folder /path/to/mount/point
|
|
|
|
|
|
|
|
|
|