玩转命令行:7 个高效 Linux 命令技巧,助你事半功倍!
wptr33 2025-05-26 19:22 8 浏览
日常的运维、开发、测试过程中,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 的命令行世界广阔无垠,每一个参数、每一种组合都值得你去尝试与探索。建议你将这些技巧整理成一个小本本,逐步内化为肌肉记忆——未来的你一定会感谢现在的你。
如果你有更棒的命令技巧,欢迎在评论区分享交流!
- 上一篇:如何在GitHub上更新或同步派生的仓库
- 下一篇:1、类京东商城小程序_项目搭建
相关推荐
- 文科生自学Python-生成简单的WORD文档
-
--天行健君子以自强不息,地势坤君子以厚德载物,学习编程成就更好的自己--Python语言简洁生动,特别适合文科生学习入门IT世界,用几十行代码就能够做一个完整的爬虫脚本,开发效率杠杠的!短时间内即可...
- 使用Python 爬取京东、淘宝等商品详情页的数据,避开反爬虫机制
-
以下是爬取京东商品详情的Python3代码,以excel存放链接的方式批量爬取。excel如下...
- CV学习笔记(二十四):数据集标注与制作
-
最近在做一些数据标注的工作,虽然标注数据比较枯燥,但这也是每个做算法的工程师升级打怪的必由之路。使用一些合适的工具往往可以事半功倍,效率UP。一:数据标注流程二:数据处理的一些小代码1:重命名当得到这...
- 新手常见的python报错及解决方案(如何理解python报错信息)
-
此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题。希望帮助到刚入门的朋友们。后续会不断补充。...
- 殊途同归python第5节:一键管理所有文档
-
Python自带的os模块,文件和文件夹的小管家,直接上代码importosa=os.getcwd()#获取当前路径,以字符串形式返回当前的绝对路径。os.chdir("动画片收...
- 1.文件夹的处理 OS(文件夹的操作方法)
-
os.getcwd()#当前目录os.listdir()#列出目录下的文件os.path.join()#拼接路径os.path.split()#拆分路径os.path.exists...
- Linux下分析bin文件的10种方法(linux binary文件)
-
这世界有10种人,一种人懂二进制,另一种人不懂二进制。——鲁迅大家好,我是良许。二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,...
- 文科生自学Python-pandas交叉透视表降维变换
-
--心有猛虎,细嗅蔷薇,学习编程成就更好的自己--...
- 史上最全!近万字梳理Python 开发必备的 os 模块(建议收藏)
-
点赞、收藏、加关注,下次找我不迷路...
- Undoing a git rebase(undoing a git rebase)
-
技术背景在使用Git进行版本控制时,gitrebase是一个强大的命令,它可以将一个分支的修改合并到另一个分支,使提交历史更加线性。然而,在某些情况下,我们可能需要撤销...
- 【干货】常用的Git命令有哪些?(git 常用命令行入门)
-
Git是一个开源的分布式版本控制系统,它被广泛用于软件开发中。在使用Git进行版本控制时,有许多常用的命令,本文将对这些命令进行详细的介绍。...
- 项目中使用 husky 格式化代码和校验 commit 信息
-
大家好,我是前端西瓜哥。今天我们学习使用husky工具,在commit的时候做一些风格的校验工作,包括commit信息格式化和文件格式化。githook和husky...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
因果推断Matching方式实现代码 因果推断模型
-
git pull命令使用实例 git pull--rebase
-
面试官:git pull是哪两个指令的组合?
-
git 执行pull错误如何撤销 git pull fail
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)