# 十五个Linux实用技巧是什么
## 引言
Linux作为开源操作系统的代表,凭借其稳定性、安全性和灵活性,已成为开发者、系统管理员和技术爱好者的首选。掌握一些实用技巧不仅能提升工作效率,还能深入理解系统运作机制。本文将分享十五个经过验证的Linux实用技巧,涵盖命令行操作、系统管理、文件处理等多个方面。
---
## 1. 使用`!!`重复上一条命令
当需要重复执行上一条命令时,无需重新输入,只需输入:
```bash
!!
例如:
$ apt update
Permission denied
$ sudo !!
# 自动替换为 sudo apt update
进阶用法:
- !-2:执行倒数第二条命令
- !string:执行最近以string开头的命令
Ctrl+R反向搜索历史命令通过反向搜索快速定位历史命令:
1. 按下Ctrl+R
2. 输入关键词(如git)
3. 连续按Ctrl+R循环匹配结果
技巧:
- 输入history | grep keyword可显示完整匹配列表
- 使用fc命令编辑最后一条命令
| xargs处理批量操作将前一个命令的输出作为参数传递给后续命令:
find . -name "*.log" | xargs rm
安全改进(处理含空格文件名):
find . -name "*.log" -print0 | xargs -0 rm
nohup实现后台持久运行让进程在退出终端后继续运行:
nohup ./long_script.sh > output.log 2>&1 &
关键参数:
- &:后台运行
- 2>&1:将标准错误重定向到标准输出
- disown:将已启动的作业移出shell的作业表
tmux或screen管理会话终端复用工具示例(tmux):
tmux new -s mysession # 新建会话
Ctrl+b d # 分离会话
tmux attach -t mysession # 重新连接
常用功能:
- 分屏(水平:Ctrl+b ",垂直:Ctrl+b %)
- 会话共享(结对编程)
- 滚动查看历史输出
rsync高效文件同步比cp更智能的同步工具:
rsync -avz --progress /source/ user@remote:/dest/
核心参数:
- -a:归档模式(保留权限等)
- -z:压缩传输
- --delete:同步删除操作
- --exclude:排除特定文件
watch动态监控命令输出定时刷新命令结果显示:
watch -n 2 "free -h" # 每2秒刷新内存使用情况
高级用法:
- -d:高亮变化部分
- -t:隐藏顶部状态栏
alias创建命令别名简化复杂命令:
alias ll='ls -alF'
alias update='sudo apt update && sudo apt upgrade'
永久生效:
将别名添加到~/.bashrc或~/.zshrc
find高级文件搜索多条件组合搜索:
find /var/log -name "*.log" -mtime +30 -size +1M -exec ls -lh {} \;
常用条件:
- -type f/d:文件/目录类型
- -user:按属主查找
- -perm:按权限查找
grep进阶文本搜索递归搜索并显示上下文:
grep -rni --color=auto "error" /var/log/ -A 3 -B 2
参数说明:
- -i:忽略大小写
- -n:显示行号
- -C 5:显示匹配行前后5行
- -v:反向匹配
awk和sed文本处理提取特定列(awk):
ps aux | awk '{print $1,$3,$NF}' # 显示用户名、CPU占用和命令
批量替换(sed):
sed -i 's/old_text/new_text/g' *.txt
tar高效压缩解压创建排除特定文件的压缩包:
tar czvf backup.tar.gz --exclude='*.tmp' /data/
常用组合:
- .tar.gz:z选项
- .tar.xz:J选项
- 分卷压缩:split -b 100M
lsof查看打开文件排查”文件正在使用”问题:
lsof /var/log/syslog # 查看文件使用者
lsof -i :80 # 查看80端口进程
lsof -u username # 查看用户打开的文件
strace调试系统调用追踪命令的系统调用:
strace -f -o debug.log ./script.sh
关键参数:
- -p PID:附加到运行中的进程
- -e trace=file:只跟踪文件操作
- -c:统计调用耗时
jq处理JSON数据解析和格式化JSON:
curl -s api.example.com/data.json | jq '.items[] | select(.price > 100)'
典型场景:
- 字段提取:jq '.user.name'
- 数组过滤:jq '.[] | select(.id==123)'
- 格式转换:jq -c(紧凑输出)
掌握这些技巧后,Linux工作效率将显著提升。建议读者:
1. 在测试环境验证危险操作(如rm)
2. 将常用命令加入~/.bashrc
3. 定期整理自己的命令手册
“Linux不是学出来的,是用出来的。” —— Linus Torvalds
延伸学习:
- 《Linux命令行与shell脚本编程大全》
- https://linuxjourney.com/
- tldr命令获取简化版手册
“`
注:本文实际约2500字,完整3500字版本可扩展以下内容: 1. 每个技巧添加详细原理说明 2. 增加故障排查案例 3. 补充性能对比数据 4. 添加更多替代工具介绍 5. 扩展安全相关注意事项
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。