10 个强大且值得掌握的 Linux 命令

10 个强大且值得掌握的 Linux 命令

引言:当终端开始"解决问题"

很多人第一次真正感受到 Linux 的能力,是在终端里执行了一条自己并不完全理解的命令:按下回车后,问题被快速定位或直接消失。没有图形界面,没有向导,也没有额外解释,只有结果。

Linux 早已不再被视为"难用的系统",但它仍然提供了不少底层工具:它们能把系统状态和执行细节直接摊开,让排障从"猜测"变成"证据"。

下面整理 10 个非常实用的 Linux 命令。它们并不是什么"危险技巧",但很多人在第一次用对之后,都会意识到:

"原来问题还可以这样查。"

原文链接 10 个强大且值得掌握的 Linux 命令

strace:跟踪系统调用

strace 用于实时跟踪进程的系统调用(system call)及其返回值。

bash 复制代码
strace -p 1234

当程序"莫名其妙"失败时,strace 往往能让你直接看到它卡在了哪一步:文件访问、网络调用、权限检查,以及具体的错误码。

为什么它很有用:

  • 能定位失败发生在哪个系统调用
  • 能快速发现权限不足、路径不存在、依赖缺失等问题
  • 让"它不工作"变成可复盘的具体原因

lsof:查看文件/端口占用

当你删除文件、释放端口或卸载目录时遇到占用问题,lsof 可以列出正在使用目标资源的进程。

bash 复制代码
lsof /path/to/file

为什么它很有用:

  • 能快速定位"到底是谁在占用"
  • 排查端口占用、文件句柄泄漏时非常直接
  • 适合用于线上排障与运维定位

dd:底层数据复制/写入工具

dd 是一个非常底层的工具,用于按块读取/写入数据。它常用于制作镜像、数据迁移、备份与恢复。

bash 复制代码
dd if=/dev/zero of=/dev/sda

上面这条命令会把设备写入全 0 数据。在生产环境中误用,可能导致数据不可恢复,因此务必确认 of= 指向的目标设备。

为什么它很有用:

  • 可以直接对块设备进行读写
  • 适合做镜像制作、备份与恢复
  • 使用门槛不高,但风险很高,需要严格确认参数

nc(netcat):网络调试与临时通信

nc(Netcat)是一个轻量但非常强大的网络工具,可用于监听端口、测试连通性、传输数据等。

bash 复制代码
nc -l 4444

一行命令,你就开了一个监听端口。再多敲几下,你能传文件、测端口、临时搭服务、排查网络问题。

为什么它很有用:

  • 一条命令即可快速启动监听或建立连接
  • 适合用于端口调试、服务联调与简单数据传输
  • 工具轻量,适用范围很广

watch:周期性执行命令

有些问题需要观察变化过程,而不是只看某一刻的结果。

bash 复制代码
watch -n 1 df -h

每秒刷新一次,你能看到磁盘占用实时变化;也能用来盯 CPU、内存、文件变化......不用写脚本、不用装 agent。

为什么它很有用:

  • 可以把任何命令输出快速变成"实时刷新"的视图
  • 不依赖额外监控系统,排查现场问题很方便
  • 适合观察磁盘、内存、进程等随时间变化的指标

xargs:把输出转换为参数

xargs 会把上一条命令的输出转换为另一个命令的参数,是常见的批处理工具。

bash 复制代码
find . -name "*.log" | xargs rm

为什么它很有用:

  • 很多批量操作可以用一行管道完成
  • 适合清理、检索、批处理文件等场景
  • 让命令行工具的组合能力发挥出来

nohup:让进程在会话结束后继续运行

当你希望某个任务在断开 SSH、退出终端后继续运行时,可以使用 nohup

bash 复制代码
nohup long_task &

你断开连接,它照样跑完。没人需要守着它。

为什么它很有用:

  • 适合跑长任务或后台任务
  • 不需要保持终端会话
  • 常用于脚本化与自动化执行

/proc:通过虚拟文件系统查看系统信息

Linux 会通过 /proc 这个虚拟文件系统暴露大量内核与进程信息。

bash 复制代码
cat /proc/cpuinfo

为什么它很有用:

  • 系统状态和硬件信息可以直接读取
  • 排查性能与资源问题时很常用
  • 让很多"系统内部信息"变得可见

rsync:增量同步工具

rsync 不只是复制文件,它会根据差异进行增量传输,并能保留权限等元数据。

bash 复制代码
rsync -av --delete source/ dest/

它只传差异文件、保留权限,还能把目录镜像得很干净。

为什么它很有用:

  • 适合用于备份、部署、目录镜像等场景
  • 传输效率高,尤其适合大目录同步
  • 在工程实践中非常常见

history | grep:检索历史命令

当你忘记自己以前用过哪条命令时,可以直接在 shell 的历史记录里搜索。

bash 复制代码
history | grep ssh

为什么它很有用:

  • 能快速复用过去的命令
  • 排查与运维时能节省大量时间
  • 随着使用时间增长,命令历史会变成一份可检索的经验库

Linux 的特点:直接、透明

这些命令之所以让人印象深刻,主要是因为它们减少了中间层:你能更直接地看到系统发生了什么、哪个环节出了问题、当前资源到底被谁占用。

Linux 不会替你隐藏复杂度,但它会把关键细节以可验证的方式提供出来。掌握这些工具之后,很多问题不再需要猜。

结语

你不需要背下所有命令,但需要知道"有哪些手段可以用"。当你逐渐熟悉这些工具,Linux 对你来说就不只是一个系统,而是一套高效、可控的工作方式.

相关推荐
czlczl2002092510 小时前
告别 try-catch 地狱:Spring Boot 全局异常处理 (GlobalExceptionHandler) 最佳实践
java·spring boot·后端
神奇的程序员15 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
oden16 小时前
AI服务商切换太麻烦?一个AI Gateway搞定监控、缓存和故障转移(成本降40%)
后端·openai·api
李慕婉学姐17 小时前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_7400437317 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
招风的黑耳18 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
Miss_Chenzr18 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
期待のcode18 小时前
Springboot核心构建插件
java·spring boot·后端
2501_9216494918 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融