10 个鲜为人知的 Linux 命令

linuxoperating systemopen source更新于 2026/2/1 13:07:17

Linux 是一款流行的操作系统,因其灵活性、稳定性和安全性而广受欢迎。它还以其命令行界面而闻名,为用户提供了强大的系统交互方式。虽然许多 Linux 命令众所周知且广泛使用,但也有一些鲜为人知的命令在某些任务中非常有用。在本文中,我们将探讨其中一些鲜为人知的 Linux 命令。

xargs

xargs 命令用于执行带有从标准输入读取参数的命令。当您需要对大量文件或目录执行命令时,此命令尤其有用。例如,假设您有一个包含数千个文件的目录,需要将它们移动到其他位置。您可以使用 xargs 命令一次性完成,而不必为每个文件输入命令。以下是一个例子 -

$ find . -type f -name '*.txt' | xargs -I{} mv {} /tmp

在此示例中,find 命令用于在当前目录及其子目录中搜索所有扩展名为".txt"的文件。此命令的输出随后通过管道传输到 xargs,xargs 从标准输入读取每个文件名,并将其作为参数传递给 mv 命令。-I{} 选项指示 xargs 将字符串"{}"替换为文件名。

tee

tee 命令用于将输出重定向到文件和标准输出 (stdout) 流。当您想将命令的输出保存到文件并在终端屏幕上查看时,此命令特别有用。以下是示例 -

$ ls | tee output.txt

在此示例中,ls 命令列出了当前目录及其子目录中的所有文件和目录。然后,此命令的输出通过管道传输到 tee,后者将其保存到文件 output.txt 中,并显示在终端屏幕上。

nl

nl 命令用于为文件添加行号。当您想引用大型文件中的特定行时,此命令特别有用。以下是示例 -

$ nl myfile.txt

在此示例中,nl 命令为文件 myfile.txt 添加行号,并将输出显示在终端屏幕上。

watch

watch 命令用于以指定的时间间隔重复运行命令。当您想实时监控命令的输出时,此命令特别有用。以下是示例 -

$ watch -n 1 'ls -l'

在此示例中,watch 命令每秒运行一次 ls -l 命令,并将输出显示在终端屏幕上。

sort

sort 命令用于按指定顺序对文件的行进行排序。当您要对大型文件的内容进行排序时,此命令特别有用。以下是示例 -

$ sort -n myfile.txt

在此示例中,sort 命令按数字顺序对文件 myfile.txt 的行进行排序,并将输出显示在终端屏幕上。

split

split 命令用于将文件分割成更小的部分。当您需要通过具有文件大小限制的网络传输大文件时,此命令特别有用。以下是示例 -

$ split -b 1m bigfile.txt smallfile

在此示例中,split 命令将文件 bigfile.txt 分割为每个大小为 1 MB 的小文件。生成的文件名分别为 smallfileaa、smallfileab、smallfileac 等。

du

du 命令用于显示文件和目录的磁盘使用情况。当您想要找出哪些文件或目录占用了最多的硬盘空间时,此命令特别有用。以下是示例 -

$ du -sh *

在此示例中,du 命令显示当前目录中所有文件和目录的磁盘使用情况。 -s 选项指示 du 仅显示每个文件或目录的总大小,而 -h 选项指示它以人类可读的格式显示输出(例如,显示"1.2G"而不是"1234567890")。

comm

comm 命令用于逐行比较两个已排序的文件。当您想找出两个文件之间哪些行是相同的,或者哪些行是每个文件独有的时,此命令尤其有用。以下是示例 -

$ comm file1.txt file2.txt

在此示例中,comm 命令比较文件 file1.txt 和 file2.txt,并显示三列输出:file1.txt 特有的行、file2.txt 特有的行以及两个文件共有的行。

df

df 命令用于显示文件系统上的可用和已用磁盘空间量。当您想了解硬盘或其他存储设备上有多少可用空间时,此命令尤其有用。以下是示例 -

$ df -h

在此示例中,df 命令显示计算机上每个文件系统的磁盘使用情况和可用空间。 -h 选项指示 df 以人类可读的格式显示输出。

rev

rev 命令用于反转文件每一行字符的顺序。当您想要反转文件内容时,此命令特别有用。以下是示例 -

$ rev myfile.txt

在此示例中,rev 命令反转文件 myfile.txt 每一行字符的顺序,并将输出显示在终端屏幕上。

timeout

timeout 命令用于执行带有时间限制的命令。当您想要为可能无限期运行的命令设置时间限制时,此命令特别有用。以下是示例 -

$ timeout 10s sleep 20s

在此示例中,timeout 命令运行 sleep 命令 20 秒,但由于 timeout 命令设置的时间限制,10 秒后终止该命令。

tac

tac 命令用于以相反的顺序显示文件内容,最后一行在最前面,第一行在最后。当您想要以相反的顺序查看文件或检查日志文件的内容时,此命令特别有用。以下是示例 -

$ tac access.log

在此示例中,tac 命令以相反的顺序显示文件 access.log 的内容。

yes

yes 命令用于重复输出字符串或字符。当您想要模拟用户输入或自动化需要大量重复的过程时,此命令特别有用。以下是示例 -

$ yes "yes" | rm -i *

在此示例中,yes 命令重复输出"yes",该输出通过管道传输到带有 -i 选项的 rm 命令,以确认删除当前目录中的每个文件。

pgrep

pgrep 命令用于根据正在运行的进程名称查找其进程 ID (PID)。当您想要查找需要终止或监控的进程的 PID 时,此命令特别有用。以下是一个例子 -

$ pgrep firefox

在此示例中,pgrep 命令查找 Firefox Web 浏览器进程的 PID。

结论

Linux 是一个功能强大的操作系统,它为用户提供了大量与系统交互的命令。虽然许多 Linux 命令众所周知且广泛使用,但也有一些鲜为人知的命令在某些任务中非常有用。在本文中,我们探讨了一些鲜为人知的 Linux 命令,包括 xargs、tee、nl、watch、sort、split、du、comm、df 和 rev。通过学习和使用这些命令,您可以更高效地使用 Linux。


相关文章


有用资源