玩转命令行:7 个高效 Linux 命令技巧,助你事半功倍!
liuian 2025-05-23 18:32 84 浏览
日常的运维、开发、测试过程中,Linux 命令行无疑是我们最常接触的界面之一。掌握一些不为人知但极具实用价值的命令技巧,不仅能大幅提升你的工作效率,更能在关键时刻帮你快速定位问题、批量处理任务、自动化脚本化操作。本篇文章精心挑选了 7 个实用的 Linux 命令技巧,并配以详细讲解和使用案例,助你玩转终端,从此告别繁琐重复操作。
一、利用 xargs 实现高效批量处理
xargs 是 Linux 中一个极为强大的命令,它可以将标准输入转化为命令行参数,常用于与 find、grep、cat 等命令搭配使用。
假设你想删除当前目录下所有 .log 文件,传统做法可能是:
find . -name "*.log" -exec rm {} \;
使用 xargs 方式更加高效:
find . -name "*.log" | xargs rm -f
xargs 会尽可能将多个参数拼接为一次命令调用,从而显著减少子进程的创建次数,尤其在处理大量文件时,效率提升明显。
二、tee:边查看边保存命令输出
在调试脚本或执行某些任务时,我们可能既希望能看到实时输出,又想将输出保存到日志文件中。tee 就是为此而生。
some_command | tee output.log
- tee -a:追加模式写入文件而不是覆盖。
- 和 sudo 配合使用:
echo "custom.conf" | sudo tee /etc/custom.conf
避免了 sudo echo > 权限问题。
三、watch:每隔几秒自动执行命令
当你想观察一个命令的实时输出变化,如查看磁盘用量、CPU 利用率、进程状态等,watch 是你不可或缺的利器。
watch -n 2 df -h
每隔 2 秒更新一次磁盘使用情况。
- 使用 -d 标志高亮显示有变化的部分:
watch -d -n 1 cat /proc/meminfo
四、ncdu:更直观的磁盘占用分析工具
du -sh * 的输出虽然简单,但当你想分析磁盘空间瓶颈时,ncdu 提供了交互式体验,效率更高。
sudo yum install ncdu # CentOS / RHEL
sudo apt install ncdu # Ubuntu / Debian
ncdu /
你可以通过上下键浏览目录、按回车进入目录,按 d 删除文件/目录,极大提升空间排查效率。
五、tldr:快速获取命令用法摘要
相比 man 的冗长文档,tldr 提供的是“命令速查表”,简洁明了、带实际例子,适合快速学习和复习命令。
npm install -g tldr # 推荐
apt install tldr # 或使用系统包管理器
tldr rsync
输出简洁范例如下:
rsync
Copy files either locally or to/from a remote host.
- Copy a file:
rsync -a path/to/source_file path/to/destination_file
六、!!、!$ 等 Bash 快捷符:命令行效率神器
这些符号在 Bash 中被称为“事件设计器”,能够引用历史命令的特定部分。
- !!:重复上一条命令
sudo !!
(上一条未加 sudo 报权限问题,直接补救)
- !$:上一条命令的最后一个参数
touch /var/www/html/index.html
vim !$
- !*:上一条命令的所有参数
cp file1.txt file2.txt /tmp/
ls !*
- !n:执行历史记录中编号为 n 的命令
history
!108
搭配 history 使用事半功倍。
七、rsync:比 cp 更强大的文件同步利器
rsync 是 Linux 下高效的远程/本地文件同步工具,不仅可以用于文件备份、网站部署、目录对比,还支持断点续传和压缩传输。
rsync -avh /src/dir/ /dest/dir/
- -a:归档模式,保留符号链接、权限等
- -v:输出详细信息
- -h:人类可读格式
rsync -avz ./ myuser@remote:/var/www/html/
- -z:传输时压缩,提高效率
删除目标中源目录中不存在的文件(镜像):
rsync -av --delete ./src/ ./dest/
附加技巧:组合使用提升生产力
多命令串联:
df -h && free -m && top -bn1 | grep load
一次性查看磁盘、内存、CPU 使用情况。
使用 alias 自定义快捷命令:
alias ll='ls -alF'
alias gs='git status'
将上述技巧封装成 alias,每次敲命令都节省数秒,日积月累效益显著。
命令虽短,效率惊人
每一位 Linux 用户,无论是系统管理员、开发者,还是自动化运维工程师,都值得学习和掌握这些技巧。它们可能在你眼中只是“命令”,但背后蕴含的是提升效率、降低操作失误、构建自动化流程的可能性。
最后再帮你回顾一遍本文涵盖的七个技巧:
序号 | 技巧 | 关键命令/工具 |
1 | xargs 实现批量处理 | xargs |
2 | tee 实时输出+保存 | tee |
3 | watch 自动定时执行命令 | watch |
4 | ncdu 交互式空间占用分析 | ncdu |
5 | tldr 获取命令精简用法 | tldr |
6 | Bash 快捷符 !! / !$ 等 | !!、!$、!* |
7 | rsync 高效文件同步 | rsync |
掌握以上技巧只是第一步,Linux 的命令行世界广阔无垠,每一个参数、每一种组合都值得你去尝试与探索。建议你将这些技巧整理成一个小本本,逐步内化为肌肉记忆——未来的你一定会感谢现在的你。
如果你有更棒的命令技巧,欢迎在评论区分享交流!
相关推荐
- 总结下SpringData JPA 的常用语法
-
SpringDataJPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景、例如查询全部数据、根据某个字段查询,根据某字段排序等等。另一种是使用注解方式,@Query、@Modi...
- 解决JPA在多线程中事务无法生效的问题
-
在使用SpringBoot2.x和JPA的过程中,如果在多线程环境下发现查询方法(如@Query或findAll)以及事务(如@Transactional)无法生效,通常是由于S...
- PostgreSQL系列(一):数据类型和基本类型转换
-
自从厂子里出来后,数据库的主力就从Oracle变成MySQL了。有一说一哈,贵确实是有贵的道理,不是开源能比的。后面的工作里面基本上就是主MySQL,辅MongoDB、ES等NoSQL。最近想写一点跟...
- 基于MCP实现text2sql
-
目的:基于MCP实现text2sql能力参考:https://blog.csdn.net/hacker_Lees/article/details/146426392服务端#选用开源的MySQLMCP...
- ORACLE 错误代码及解决办法
-
ORA-00001:违反唯一约束条件(.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017:请求会话以设置跟踪事件ORA-00018:超出最大会话数ORA-00...
- 从 SQLite 到 DuckDB:查询快 5 倍,存储减少 80%
-
作者丨Trace译者丨明知山策划丨李冬梅Trace从一开始就使用SQLite将所有数据存储在用户设备上。这是一个非常不错的选择——SQLite高度可靠,并且多种编程语言都提供了广泛支持...
- 010:通过 MCP PostgreSQL 安全访问数据
-
项目简介提供对PostgreSQL数据库的只读访问功能。该服务器允许大型语言模型(LLMs)检查数据库的模式结构,并执行只读查询操作。核心功能提供对PostgreSQL数据库的只读访问允许L...
- 发现了一个好用且免费的SQL数据库工具(DBeaver)
-
缘起最近Ai不是大火么,想着自己也弄一些开源的框架来捣腾一下。手上用着Mac,但Mac都没有显卡的,对于学习Ai训练模型不方便,所以最近新购入了一台4090的拯救者,打算用来好好学习一下Ai(呸,以上...
- 微软发布.NET 10首个预览版:JIT编译器再进化、跨平台开发更流畅
-
IT之家2月26日消息,微软.NET团队昨日(2月25日)发布博文,宣布推出.NET10首个预览版更新,重点改进.NETRuntime、SDK、libraries、C#、AS...
- 数据库管理工具Navicat Premium最新版发布啦
-
管理多个数据库要么需要使用多个客户端应用程序,要么找到一个可以容纳你使用的所有数据库的应用程序。其中一个工具是NavicatPremium。它不仅支持大多数主要的数据库管理系统(DBMS),而且它...
- 50+AI新品齐发,微软Build放大招:拥抱Agent胜算几何?
-
北京时间5月20日凌晨,如果你打开微软Build2025开发者大会的直播,最先吸引你的可能不是一场原本属于AI和开发者的技术盛会,而是开场不久后的尴尬一幕:一边是几位微软员工在台下大...
- 揭秘:一条SQL语句的执行过程是怎么样的?
-
数据库系统能够接受SQL语句,并返回数据查询的结果,或者对数据库中的数据进行修改,可以说几乎每个程序员都使用过它。而MySQL又是目前使用最广泛的数据库。所以,解析一下MySQL编译并执行...
- 各家sql工具,都闹过哪些乐子?
-
相信这些sql工具,大家都不陌生吧,它们在业内绝对算得上第一梯队的产品了,但是你知道,他们都闹过什么乐子吗?首先登场的是Navicat,这款强大的数据库管理工具,曾经让一位程序员朋友“火”了一把。Na...
- 详解PG数据库管理工具--pgadmin工具、安装部署及相关功能
-
概述今天主要介绍一下PG数据库管理工具--pgadmin,一起来看看吧~一、介绍pgAdmin4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件,它允许连接到特定的数据库,创建表和...
- Enpass for Mac(跨平台密码管理软件)
-
还在寻找密码管理软件吗?密码管理软件有很多,但是综合素质相当优秀且完全免费的密码管理软件却并不常见,EnpassMac版是一款免费跨平台密码管理软件,可以通过这款软件高效安全的保护密码文件,而且可以...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)