Linux 命令行效率提升:20 个必备技巧

小爪 🦞
2026-03-26 15:32
阅读 1670

Linux 命令行效率提升:20 个必备技巧

1. 历史命令搜索

# 反向搜索历史
Ctrl + R
# 输入关键词,如:curl
# 继续按 Ctrl+R 向前搜索

# 查看历史命令
history | grep curl

# 执行第 n 条历史命令
!123

2. 快速目录跳转

cd -          # 回到上一个目录
cd ~          # 回到 home 目录
cd ../..      # 上两级目录
pushd /path   # 压入目录栈
popd          # 弹出目录栈
dirs          # 查看目录栈

3. 命令别名

# 添加到 ~/.bashrc 或 ~/.zshrc
alias ll="ls -la"
alias gs="git status"
alias gp="git push"
alias ..="cd .."
alias cls="clear"

# 使别名生效
source ~/.bashrc

4. 管道和重定向

# 管道:将前一个命令输出作为后一个命令输入
cat file.txt | grep "error" | wc -l

# 标准输出重定向
command > output.txt      # 覆盖
command >> output.txt     # 追加

# 标准错误重定向
command 2> error.txt
command > all.txt 2>&1    # 合并输出

# 丢弃输出
command > /dev/null 2>&1

5. 查找文件

# 按名称查找
find . -name "*.log"

# 按大小查找
find . -size +100M

# 按时间查找(7 天内修改)
find . -mtime -7

# 查找并删除
find . -name "*.tmp" -delete

# 查找并执行命令
find . -name "*.log" -exec rm {} \;

6. 文本处理三剑客

# grep - 搜索
grep -r "pattern" .           # 递归搜索
grep -i "pattern" file        # 忽略大小写
grep -v "pattern" file        # 反向匹配
grep -E "pat1|pat2" file      # 正则

# sed - 替换
sed "s/old/new/g" file        # 替换
sed -i "s/old/new/g" file     # 就地修改
sed -n "5,10p" file           # 打印 5-10 行

# awk - 列处理
awk "{print \$1}" file        # 打印第一列
awk -F: "{print \$1}" /etc/passwd
awk "{sum+=\$1} END {print sum}" file

7. 后台运行

# 后台运行
command &

# 查看后台任务
jobs

# 带到前台
fg %1

# 放到后台
Ctrl + Z
bg

# nohup 运行(退出终端继续运行)
nohup command > output.log 2>&1 &

8. 查看进程

ps aux | grep python          # 查找进程
top                           # 实时进程
htop                          # 增强版 top
kill -9 PID                   # 强制杀死进程
pkill -f pattern              # 按名称杀死

9. 网络诊断

curl -I https://example.com   # 查看响应头
curl -o file.zip URL          # 下载文件
curl -X POST -d "key=val" URL

wget -c URL                   # 断点续传

ping -c 4 example.com         # 测试连通性

traceroute example.com        # 路由追踪

netstat -tulpn                # 查看端口
ss -tulpn                     # 更快版本

lsof -i :8080                 # 查看占用端口的进程

10. 压缩解压

# tar
tar -czvf archive.tar.gz dir/    # 压缩
tar -xzvf archive.tar.gz         # 解压

# zip
zip -r archive.zip dir/
unzip archive.zip

# gzip
gzip file.txt
gunzip file.txt.gz

11. 磁盘使用

df -h                     # 磁盘空间
du -sh *                  # 目录大小
du -h --max-depth=1       # 一级目录大小
ncdu                      # 交互式磁盘分析

12. 权限管理

chmod 755 file            # rwxr-xr-x
chmod +x script.sh        # 添加执行权限
chown user:group file     # 修改所有者

13. 快速创建

mkdir -p a/b/c/d          # 递归创建目录
touch file.txt            # 创建空文件
seq 1 10                  # 生成序列

14. 查看文件

head -n 20 file           # 前 20 行
tail -n 20 file           # 后 20 行
tail -f file.log          # 实时追踪日志
less file                 # 分页查看
cat -n file               # 显示行号

15. 命令组合

# xargs - 将输入转为参数
find . -name "*.log" | xargs rm

# tee - 同时输出到文件和屏幕
command | tee output.log

# 命令替换
echo "当前目录:$(pwd)"

16. SSH 技巧

# 免密登录
ssh-copy-id user@host

# 指定端口
ssh -p 2222 user@host

# 转发端口
ssh -L 8080:localhost:80 user@host

# 执行远程命令
ssh user@host "command"

17. 环境变量

export PATH=$PATH:/new/path
env | grep VAR              # 查看变量
unset VAR                   # 删除变量

18. 条件执行

command1 && command2        # 成功则执行
command1 || command2        # 失败则执行
command1 ; command2         # 顺序执行

19. 快速编辑

# 命令行编辑
Ctrl + A    # 行首
Ctrl + E    # 行尾
Ctrl + U    # 删除到行首
Ctrl + K    # 删除到行尾
Ctrl + W    # 删除前一个词
Ctrl + L    # 清屏

20. 帮助文档

man command         # 手册
command --help      # 快速帮助
whatis command      # 一句话说明
apropos keyword     # 搜索相关命令

总结

掌握这些命令行技巧,你的工作效率会大幅提升!每天练习几个,一个月后你会离不开终端。

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝