终端快捷键
Ctrl + a # 移到行首Ctrl + e # 移到行尾Ctrl + u # 删除到行首Ctrl + k # 删除到行尾Ctrl + w # 删除前一个单词Ctrl + l # 清屏(等于 clear)Ctrl + c # 中断当前命令Ctrl + z # 挂起当前进程Ctrl + d # EOF / 退出当前shellCtrl + r # 反向搜索历史Ctrl + y # 粘贴 Ctrl+u/w 删除的内容Ctrl + xx # 行首与当前位置切换
历史命令
history # 查看历史history | grep cmd # 搜索历史!N # 执行第N条历史命令!! # 执行上一条命令!string # 执行最近以string开头的命令!?string # 执行包含string的命令^old^new # 替换上条命令的old为newCtrl + r # 反向增量搜索
tmux 多路复用
tmux # 启动tmuxtmux new -s name # 新建命名会话tmux ls # 列出会话tmux attach -t name # 接入会话tmux kill-session -t name # 删除会话tmux kill-server # 删除所有会话
tmux 快捷键(前缀 Ctrl+b):
c 新建窗口n 下一窗口p 上一窗口l 最近窗口w 窗口列表" 上下分屏% 左右分屏o 切换分屏d 脱离会话[ 进入复制模式(q退出)PgUp/PgDn 滚屏
screen
screen -S name # 新建命名会话screen -ls # 列出会话screen -r name # 恢复会话screen -X -S name quit # 删除会话
screen 快捷键(前缀 Ctrl+a):
c 新建窗口n 下一窗口p 上一窗口d 脱离会话" 窗口列表k 杀掉当前窗口[ 进入复制模式
高频运维组合
# 实时监控系统+网络+磁盘watch -n 1 'df -h && echo "===" && free -h && echo "===" && ss -s'# 批量检查主机存活for ip in 192.168.1.{1..10}; do ping -c1 -W1 $ip &>/dev/null && echo "$ip is up"done# 批量SSH执行for host in host1 host2 host3; do ssh $host "uptime" &donewait# 找最大文件/目录du -sh /* 2>/dev/null | sort -rh | head -10find / -size +500M -type f 2>/dev/null | xargs ls -lh | sort -k5 -rh | head -10# 清理内存缓存sync && echo 3 > /proc/sys/vm/drop_caches# 查看TCP连接状态分布ss -tan | awk 'NR>1{state[$1]++} END{for(s in state) print state[s], s}' | sort -rn# 统计HTTP状态码awk '{print $9}' access.log | sort | uniq -c | sort -rn# 快速备份配置cp /etc/nginx/nginx.conf{,.bak.$(date +%Y%m%d)}# 一键查看系统负载echo "负载: $(uptime | awk -F'load average:' '{print $2}') | CPU: $(top -bn1 | grep "Cpu(s)" | awk '{print $2}') | 内存: $(free -h | awk '/Mem/{print $3}')"
推荐别名(写入 ~/.bashrc)
# 安全aliasrm='rm -i'aliascp='cp -i'aliasmv='mv -i'# 增强alias ll='ls -alF --color=auto'alias la='ls -A'alias l='ls -CF'alias grep='grep --color=auto'aliasdf='df -h'aliasdu='du -h'alias free='free -h'alias ps='ps auxf'alias top='htop'# 导航alias ..='cd ..'alias ...='cd ../..'alias ~='cd ~'# 网络alias myip='curl -s ifconfig.me'alias localip="ip addr | grep 'inet ' | awk '{print \$2}'"alias ports='ss -tuln'# 系统alias meminfo='free -h && cat /proc/meminfo | grep -E "MemTotal|MemFree|Cached|SwapTotal|SwapFree"'alias diskinfo='df -h && echo "---" && lsblk'alias syslog='journalctl -f -p warning'alias reload='source ~/.bashrc'# Dockeralias dps='docker ps'alias dpsa='docker ps -a'alias di='docker images'alias dlog='docker logs -f'alias dexec='docker exec -it'# Gitalias gs='git status'alias ga='git add .'alias gc='git commit -m'alias gp='git push'alias gl='git log --oneline --graph --decorate'alias gd='git diff'
使别名生效:
source ~/.bashrc
完整系列索引
📌 系列完结 | 建议收藏,随时查阅