玩转命令行:7 个高效 Linux 命令技巧,助你事半功倍!
wptr33 2025-05-26 19:22 26 浏览
日常的运维、开发、测试过程中,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、类京东商城小程序_项目搭建
相关推荐
- MySQL进阶五之自动读写分离mysql-proxy
-
自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...
- 3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?
-
引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...
- 一文由浅入深带你完全掌握MySQL的锁机制原理与应用
-
本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...
- 验证Mysql中联合索引的最左匹配原则
-
后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...
- MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)
-
目录1.索引基础...
- 你会看 MySQL 的执行计划(EXPLAIN)吗?
-
SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...
- MySQL 从入门到精通(四)之索引结构
-
索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...
- mysql总结——面试中最常问到的知识点
-
mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...
- mysql总结——面试中最常问到的知识点(2)
-
首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...
- MySQL基础全知全解!超详细无废话!轻松上手~
-
本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...
- 深入剖析 MySQL 中的锁机制原理_mysql 锁详解
-
在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...
- Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析
-
引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...
- MySQL基础篇:DQL数据查询操作_mysql 查
-
一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...
- MySql:索引的基本使用_mysql索引的使用和原理
-
一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
程序员的开源月刊《HelloGitHub》第 71 期
-
详细介绍一下Redis的Watch机制,可以利用Watch机制来做什么?
-
假如有100W个用户抢一张票,除了负载均衡办法,怎么支持高并发?
-
如何将AI助手接入微信(打开ai手机助手)
-
Java面试必考问题:什么是乐观锁与悲观锁
-
redission YYDS spring boot redission 使用
-
SparkSQL——DataFrame的创建与使用
-
一文带你了解Redis与Memcached? redis与memcached的区别
-
如何利用Redis进行事务处理呢? 如何利用redis进行事务处理呢英文
-
- 最近发表
- 标签列表
-
- 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)