机器人工程师都要知道的 50 个 Linux 终端命令(二)

25.使用"less"查看文本文件
"less" 命令允许一次一页地查看文本文件的内容。对于查看无法在一个屏幕上完整显示的大文件,"less" 特别有用。进入"less"后,可以使用各种键盘快捷键浏览文件:26.使用echo显示文本
"echo" 命令用于在终端中显示文本或变量的值。要显示一条简单的消息,输入"echo" 后跟想显示的文本。例如:echo "I am Automatic Addison"也可以使用"echo" 来显示环境变量的值。例如,要显示 "ROS_DISTRO" 变量的值:27.使用"wc"统计单词数、行数和字符数
"wc" 命令用于统计文件中的单词数、行数和字符数。输出显示文件中的行数、单词数和字符数,按顺序排列。28.使用管道连接命令
在 Linux 中,可以使用管道将多个命令连接在一起。一个命令的输出成为下一个命令的输入。要使用管道,输入第一个命令,后跟管道符号("|"),然后输入下一个命令。例如,要统计目录中的文件数量:在这个例子中,"ls"命令的输出(文件列表)被管道传递给 "wc" 命令,该命令统计行数("-l" 选项)。应该会看到如下输出:29.使用"sort"对文本行进行排序
"sort" 命令用于按字母顺序或数字顺序对文本行进行排序。要排序文件的内容,输入"sort" 后跟文件名。例如,要排序名为"head_example.txt" 文件中的行:注意,此 sort 命令不会更改实际文件。它只会在终端窗口中显示排序后的输出。30.执行Shell扩展
Shell 扩展是一种修改 Shell 解释和执行命令方式的功能。假设需要为三个不同的项目快速创建目录,每个项目都以当前年份命名:mkdir -p Project_{A,B,C}_$(date +%Y)此命令在当前目录中创建名为Project_A_2026、Project_B_2026和Project_C_2026 的目录。{A,B,C} 扩展为创建三个字符串:A、B 和 C。$(date +%Y) 执行 date 命令以获取当前年份(例如,2026),并将其替换到命令中。31.使用"diff"逐行比较文件
在处理涉及多个版本文件的项目时,尤其是在协作环境中,跟踪和理解不同文件版本之间的变化至关重要。diff 命令允许逐行比较两个文件,并输出它之间的差异。让创建这个文件的一个副本:cp head_example.txt head_example_copy.txtgedit head_example_copy.txt修改文件中的其中一行,然后保存。将删除第一行 "This is"。保存文件并关闭它。要使用diff,只需提供要比较的两个文件的名称:diff head_example.txt head_example_copy.txt此命令将显示两个文件之间不同的行,以及指示行是添加、删除还是更改的符号。以 < 为前缀的行表示存在于第一个文件中但不存在于第二个文件中的内容。以 > 为前缀的行显示存在于第二个文件中但不存在于第一个文件中的内容。32.使用"find"搜索文件
"find" 命令用于根据各种条件(如名称、大小或修改时间)搜索文件和目录。要按名称搜索文件,输入 "find",后跟要搜索的目录和带有文件名模式的 "-iname" 选项。例如,要在 Documents 目录及其子目录中搜索名为 "head_example_copy.txt" 的文件:find . -iname "head_example_copy.txt"要在当前目录或其子目录中找到一个名为 "folder1" 的文件夹,可以使用 find 命令并进行细微修改。以下是可以使用的命令:find . -type d -iname "folder1"33.使用"grep"搜索文本
"grep" 命令用于在文件中搜索特定的文本模式。要在文件中搜索文本模式,输入"grep",后跟模式以及文件名。例如,要在名为 "grep_example.txt" 的文件中搜索单词 "example":cd ~/Documents/linux_tutorial/echo "This is an example line." > grep_example.txtecho "Another line here." >> grep_example.txtecho "One more example." >> grep_example.txtgrep "example" grep_example.txtgrep -i "EXAMPLE" grep_example.txt34.使用"du"估算文件空间使用情况
"du" 命令用于估算文件和目录使用的磁盘空间。要显示特定文件或目录使用的磁盘空间,输入 "du" 后跟文件或目录名称。例如:输出将显示"my_directory" 中每个文件和子目录使用的磁盘空间,以及该目录使用的总磁盘空间。35.使用"df"显示文件系统空间使用情况
"df" 命令用于显示文件系统的磁盘空间使用情况信息。要显示所有已挂载文件系统的磁盘空间使用情况,只需输入 "df":36.使用"history"查看命令历史
"history" 命令用于显示当前 shell 会话中先前执行过的命令列表。要查看命令历史,输入"history":37.使用"ps"显示进程状态
"ps" 命令用于显示有关正在运行的进程的信息。要显示与当前 shell 会话关联的进程,输入 "ps":输出将显示每个进程的进程ID (PID)、终端、CPU 时间和命令名称。要显示系统上运行的所有进程,请使用"-e" 选项:38.使用"top"显示系统资源使用情况
"top" 命令用于显示有关系统资源使用情况和正在运行的进程的实时信息。要启动"top",只需输入"top":- 按 "M" 按内存使用量排序进程(即 Shift + M)
- 按 "P" 按 CPU 使用量排序进程(即Shift + P)
39.使用"kill"和"killall"终止进程
"kill" 命令用于向进程发送信号,通常是终止它,而"killall" 命令用于向所有具有指定名称的进程发送信号。要使用 "kill" 终止进程,输入 "kill" 后跟进程 ID (PID)。例如,要终止 PID 为 1234 的进程:要使用"killall" 终止所有具有特定名称的进程,输入 "killall" 后跟进程名称。例如,要终止所有名为 "firefox" 的进程:启动 firefox。40.使用"jobs"显示后台进程
"jobs" 命令用于显示由当前 shell 会话启动的后台进程列表,而 "bg" 和 "fg" 命令用于管理这些进程。要在后台启动进程,请在命令末尾附加一个与符号("&")。例如,让将 sleep 命令作为后台进程启动:<command> &
每个进程将显示一个作业编号及其状态(例如,"Running" 或 "Stopped")。41.使用"bg"和"fg"管理后台进程
要将后台进程带到前台,输入"fg" 后跟作业编号。例如,要将作业1 带到前台:要将前台进程发送到后台,按"Ctrl+Z" 暂停它,然后输入 "bg" 在后台恢复它:42.使用"gzip"压缩文件
"gzip" 命令用于压缩文件以减小其大小。要压缩文件,输入"gzip" 后跟文件名。例如,要压缩名为"grep_example.txt" 的文件:cd ~/Documents/linux_tutorial压缩后的文件将在其名称后添加扩展名 ".gz",例如,"grep_example.txt.gz"。43.使用"gunzip"解压文件
"gunzip" 命令用于解压使用 "gzip" 压缩的文件。要解压文件,输入 "gunzip" 后跟文件名。例如,要解压名为"grep_example.txt.gz" 的文件:gunzip -k grep_example.txt.gz44.使用"tar"归档和解压文件
"tar" 命令用于创建和解压归档文件,归档文件是将多个文件和目录组合成单个文件的集合。例如,要创建一个名为 "archive.tar" 的归档文件,其中包含 "file1.txt" 和 "file2.txt":touch tar_example_file1.txt tar_example_file2.txttar cf archive.tar tar_example_file1.txt tar_example_file2.txtrm tar_example_file1.txt tar_example_file2.txt要解压 tar 归档文件的内容,输入 "tar",后跟 "xf" 选项和归档文件名。例如,要解压名为"archive.tar" 的归档文件的内容:45.使用"xargs"构建和执行命令
"xargs" 命令用于从标准输入构建和执行命令。"xargs" 的一个常见用例是将一个命令的输出作为参数传递给另一个命令。mkdir xargs_test && cd xargs_testtouch file1.txt file2.txt file3.txtecho file1.txt file2.txt file3.txt | xargs catecho file1.txt file2.txt file3.txt | xargs cat这个基本示例演示了xargs 如何将一个命令的输入作为另一个命令的参数。现在让返回到之前的目录。46.使用"ln"创建符号链接
"ln" 命令用于在文件之间创建链接。有两种类型的链接:硬链接和符号(软)链接。要创建符号链接,输入带有 "-s" 选项的 "ln",后跟源文件和链接名称。例如:touch symbolic_link_example.txtln -s symbolic_link_example.txt my_test_link符号链接"my_test_link" 将指向 "symbolic_link_example.txt"。当访问 "my_test_link" 时,它将重定向到 "symbolic_link_example.txt" 的内容。符号链接可以指向不同文件系统上的文件或目录,即使源文件被移动或删除,它也能继续工作。现在,通过向原始文件添加一些文本来测试此符号链接:echo "Hello, World!" > symbolic_link_example.txt47.使用"sed"替换单词
"sed" 命令用于修改文件或输入流中的文本。可以使用"sed" 来替换单词或短语的出现:cd ~/Documents/linux_tutorialecho "The old_word is here. Another old_word is there." > test.txtsed -i 's/old_word/new_word/g' test.txt48.使用"sudo"以超级用户权限执行命令
"sudo" 命令用于以超级用户(root)权限执行命令。要以超级用户权限执行命令,输入"sudo" 后跟命令。例如,在Ubuntu 系统上更新软件包列表:系统将提示输入用户密码。认证成功后,该命令将以超级用户权限运行。"sudo" 命令为单个命令授予临时的超级用户权限,无需切换到 root 帐户。49.使用"passwd"更改用户密码
"passwd" 命令用于更改用户密码。要更改自己的密码,只需输入"passwd":系统将提示输入当前密码,然后提示输入并确认新密码。50.使用"chown"修改文件所有权
为了演示 chown 的用法,让创建一个测试文件:cd ~/Documents/linux_tutorial要查看文件的当前所有者,请使用带有 -l 选项的 ls 命令:要更改文件的所有者,使用"chown",后跟新的所有者以及文件名。例如,将 "chown_example.txt" 的所有者更改为 root:sudo chown root chown_example.txt加上上期的命令,为本教程的50个命令,欢迎大家继续学习。