这篇笔记主要记录一些工具的惯用的快捷键用法, 有些已经是很熟练了,但是有些很少用,所以记录下,方便查阅。 熟练使用快捷键,节约生命,提高效率😄️。
Bash
- 基本操作
CTRL+A # 移动到行首,同 <Home>
CTRL+B # 向后移动,同 <Left>
CTRL+C # 结束当前命令
CTRL+D # 删除光标前的字符,同 <Delete> ,或者没有内容时,退出会话
CTRL+E # 移动到行末,同 <End>
CTRL+F # 向前移动,同 <Right>
CTRL+G # 退出当前编辑(比如正在 CTRL+R 搜索历史时)
CTRL+H # 删除光标左边的字符,同 <Backspace>
CTRL+K # 删除光标位置到行末的内容
CTRL+L # 清屏并重新显示
CTRL+N # 移动到命令历史的下一行,同 <Down>
CTRL+O # 类似回车,但是会显示下一行历史
CTRL+P # 移动到命令历史的上一行,同 <Up>
CTRL+R # 历史命令反向搜索,使用 CTRL+G 退出搜索
CTRL+S # 历史命令正向搜索,使用 CTRL+G 退出搜索
CTRL+T # 交换前后两个字符
CTRL+U # 删除字符到行首
CTRL+V # 输入字符字面量,先按 CTRL+V 再按任意键
CTRL+W # 删除光标左边的一个单词
CTRL+X # 列出可能的补全
CTRL+Y # 粘贴前面 CTRL+u/k/w 删除过的内容
CTRL+Z # 暂停前台进程返回 bash,需要时可用 fg 将其切换回前台
CTRL+_ # 撤销(undo),有的终端将 CTRL+_ 映射为 CTRL+/ 或 CTRL+7
ALT+b # 向后(左边)移动一个单词
ALT+d # 删除光标后(右边)一个单词
ALT+f # 向前(右边)移动一个单词
ALT+t # 交换字符
ALT+BACKSPACE # 删除光标前面一个单词,类似 CTRL+W,但不影响剪贴板
CTRL+X CTRL+X # 连续按两次 CTRL+X,光标在当前位置和行首来回跳转
CTRL+X CTRL+E # 用你指定的编辑器,编辑当前命令
reset # 重置终端(当你不小心 cat 了一个二进制,终端状态乱掉时使用)
- 进程管理
ps # 查看当前会话进程
ps ax # 查看所有进程,类似 ps -e
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
- 用户管理
finger {user} # 显示某用户信息,包括 id, 名字, 登陆状态等
adduser {user} # 添加用户
deluser {user} # 删除用户
w # 查看谁在线
su # 切换到 root 用户
su - # 切换到 root 用户并登陆(执行登陆脚本)
su {user} # 切换到某用户
su -{user} # 切换到某用户并登陆(执行登陆脚本)
id {user} # 查看用户的 uid,gid 以及所属其他用户组
id -u {user} # 打印用户 uid
id -g {user} # 打印用户 gid
write {user} # 向某用户发送一句消息
last # 显示最近用户登陆列表
last {user} # 显示登陆记录
lastb # 显示失败登陆记录
lastlog # 显示所有用户的最近登陆记录
sudo {command} # 以 root 权限执行某命令
- 网络管理
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 # 探测主机服务和操作系统版本
- 其他命令
man hier # 查看文件系统的结构和含义
man test # 查看 posix sh 的条件判断帮助
man ascii # 显示 ascii 表
getconf LONG_BIT # 查看系统是 32 位还是 64 位
bind -P # 列出所有 bash 的快捷键
mount | column -t # 漂亮的列出当前加载的文件系统
curl ip.cn # 取得外网 ip 地址和服务商信息
disown -a && exit # 关闭所有后台任务并退出
cat /etc/issue # 查看 Linux 发行版信息
lsof -i port:80 # 哪个程序在使用 80 端口?
showkey -a # 取得按键的 ASCII 码
svn diff | view - # 使用 Vim 来显示带色彩的 diff 输出
mv filename.{old,new} # 快速文件改名
time read # 使用 CTRL-D 停止,最简单的计时功能
cp file.txt{,.bak} # 快速备份文件
sudo touch /forcefsck # 强制在下次重启时扫描磁盘
find ~ -mmin 60 -type f # 查找 $HOME 目录中,60 分钟内修改过的文件
curl wttr.in/~beijing # 查看北京的天气预报
echo ${SSH_CLIENT%% *} # 取得你是从什么 IP 链接到当前主机上的
echo $[RANDOM%X+1] # 取得 1 到 X 之间的随机数
bind -x '"\C-l":ls -l' # 设置 CTRL+l 为执行 ls -l 命令
find / -type f -size +5M # 查找大于 5M 的文件
chmod --reference f1 f2 # 将 f2 的权限设置成 f1 一模一样的
curl -L cheat.sh # 速查表大全
[
bash 速查]: 更加专业且完整的 cheatsheet