Back to prev

ShortCuts of Some Software

Jun 26, 2020
Linkang Chan
@Jesse Chan

这篇笔记主要记录一些工具的惯用的快捷键用法, 有些已经是很熟练了,但是有些很少用,所以记录下,方便查阅。 熟练使用快捷键,节约生命,提高效率😄️。

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