很多人第一次真正感受到 Linux 的能力,是在终端里执行了一条自己并不完全理解的命令:按下回车后,问题被快速定位或直接消失。没有图形界面,没有向导,也没有额外解释,只有结果。
Linux 早已不再被视为“难用的系统”,但它仍然提供了不少底层工具:它们能把系统状态和执行细节直接摊开,让排障从“猜测”变成“证据”。
下面整理 10 个非常实用的 Linux 命令。它们并不是什么“危险技巧”,但很多人在第一次用对之后,都会意识到:
“原来问题还可以这样查。”
strace 用于实时跟踪进程的系统调用(system call)及其返回值。
strace -p 1234当程序“莫名其妙”失败时,strace 往往能让你直接看到它卡在了哪一步:文件访问、网络调用、权限检查,以及具体的错误码。
为什么它很有用:
当你删除文件、释放端口或卸载目录时遇到占用问题,lsof 可以列出正在使用目标资源的进程。
lsof /path/to/file为什么它很有用:
dd 是一个非常底层的工具,用于按块读取/写入数据。它常用于制作镜像、数据迁移、备份与恢复。
dd if=/dev/zero of=/dev/sda上面这条命令会把设备写入全 0 数据。在生产环境中误用,可能导致数据不可恢复,因此务必确认 of= 指向的目标设备。
为什么它很有用:
nc(Netcat)是一个轻量但非常强大的网络工具,可用于监听端口、测试连通性、传输数据等。
nc -l 4444一行命令,你就开了一个监听端口。再多敲几下,你能传文件、测端口、临时搭服务、排查网络问题。
为什么它很有用:
有些问题需要观察变化过程,而不是只看某一刻的结果。
watch -n 1 df -h每秒刷新一次,你能看到磁盘占用实时变化;也能用来盯 CPU、内存、文件变化……不用写脚本、不用装 agent。
为什么它很有用:
xargs 会把上一条命令的输出转换为另一个命令的参数,是常见的批处理工具。
find . -name "*.log" | xargs rm为什么它很有用:
当你希望某个任务在断开 SSH、退出终端后继续运行时,可以使用 nohup。
nohup long_task &你断开连接,它照样跑完。没人需要守着它。
为什么它很有用:
Linux 会通过 /proc 这个虚拟文件系统暴露大量内核与进程信息。
cat /proc/cpuinfo为什么它很有用:
rsync 不只是复制文件,它会根据差异进行增量传输,并能保留权限等元数据。
rsync -av --delete source/ dest/它只传差异文件、保留权限,还能把目录镜像得很干净。
为什么它很有用:
当你忘记自己以前用过哪条命令时,可以直接在 shell 的历史记录里搜索。
history | grep ssh为什么它很有用:
这些命令之所以让人印象深刻,主要是因为它们减少了中间层:你能更直接地看到系统发生了什么、哪个环节出了问题、当前资源到底被谁占用。
Linux 不会替你隐藏复杂度,但它会把关键细节以可验证的方式提供出来。掌握这些工具之后,很多问题不再需要猜。
你不需要背下所有命令,但需要知道“有哪些手段可以用”。当你逐渐熟悉这些工具,Linux 对你来说就不只是一个系统,而是一套高效、可控的工作方式.