基本 Linux 命令17 Mar 2025 | 阅读 17 分钟 命令是用户提供的一组指令,指示系统执行单个程序或一组相互连接的程序。通常,命令通过在命令行中指定并按回车键发出,回车键将命令传递给 shell。shell 可以定义为可以读取这些命令并执行它们的程序。 这些 shell 是用户与计算机交互的最常用技术。所有类 UNIX 操作系统都包含至少一个 shell。Bash 几乎是所有 Linux 系统的默认 shell。 程序是 CPU(计算机的主要逻辑单元)可读的指令序列。它说明了 CPU 必须对一组数据执行哪些操作。 通常,程序或文件可以存储在 bin 目录之一中,例如 /usr/local/bin 和 /bin/usr/bin。类 UNIX 操作系统上的命令可以是外部命令,也可以是内置命令。前者是 shell 的分支。后者结合了可执行文件和 shell 脚本。 这些可执行文件是使用 Java、C++、C 等编程语言指定,然后编译成二进制的程序。 shell 脚本可以定义为用 Shell 编程语言(如 sh、ksh、csh 或 bash)指定的程序,它允许用户发出单个命令来执行命令的合并,包括带参数或/和选项以及重定向的命令。这些 shell 脚本非常适合自动化通用任务和创建自定义过滤器。 选项有时也称为标志或开关。选项是单个字母的代码,有时是一组单词或单个单词。它可以在一些预定方式上改变命令的性质。 当使用多个单字母选项时,每个字母彼此紧密排列,并且可以是任何顺序。通常,选项组应以单个连字符开头,之间没有空格。 参数也称为命令行参数。它可以是文件名或提供给命令的任何其他数据,以便命令将其用作输入。 命令包含命令的名称,通常后跟多个字符串(字符顺序),这些字符串组合了参数和选项。所有字符串都由空白(包含多个制表符或空格)分隔。 命令的基本语法是 这些方括号表示插入的项是可选的。几乎所有命令都包含至少一些选项,并且可能需要(或接受)参数。但是,有一些命令不接受参数,有些则没有选项。 pwd 命令代表 print working directory(打印工作目录)。它告诉用户当前目录的位置和名称(即用户当前正在工作的目录),并且不接受参数。相反,它通过 shell 获取其输入。 它只包含两个非常常见的选项:version 和 help。因此,它始终只按以下方式应用: ![]() shell 会忽略在 pwd 命令之后在同一行中输入的任何内容,除了其选项之外,并且不会返回任何错误消息。 其他不接受参数只接受选项的命令示例是 ps 和 dmeg。dmeg 命令显示系统启动时(或引导时)由内核(即操作系统的核心)生成的消息。 ps 命令显示系统上当前正在执行的进程(即正在执行的程序)。ps 命令很特殊,因为其选项前面的连字符是可选的(至少在某些版本中)。因此,它不接受参数。它无法将无连字符的选项与参数一起使用。因此,以下两个命令会生成相同的结果: ![]() 并且, ![]() 基本命令现在,下面讨论一些在 Linux 中广泛使用的基本命令: rmdir 和 mkdir 命令如果我们需要创建一个目录或文件夹,请使用 mkdir 命令。例如,如果我们要创建一个名为 "DIY" 的目录,我们可以输入 "mkdir DIY"。 如果我们要创建一个名为 "DIY Hacking" 的目录,我们可以输入 "mkdir DIY\Hacking"。 使用 rmdir 命令删除任何目录。但是,rmdir 命令只能用于删除空目录。要删除包含文件的任何目录,我们可以使用 rm。 rmdir 中的选项
![]()
rm 命令使用 rm 命令删除目录和文件。使用 "rm -r" 仅删除目录。如果只使用 rm 命令,它将删除目录及其包含的文件和文件夹。 rm 命令中的选项
touch 命令此命令用于创建文件。它可以是空 zip 文件,也可以是空 txt 文件。例如,"touch new.txt"。它是 Linux/UNIX 操作系统中使用的标准命令。 它用于修改、更改和创建文件的时间戳。此命令用于创建不带内容的文件。touch 命令用于创建空文件。当用户在创建文件时没有要存储的数据时,也可以使用它。 Touch 命令用于创建新文件:我们可以一次使用 touch 命令创建一个文件。 语法 ![]() 创建的文件可以使用 ls 命令查看。此外,我们可以使用长列表命令 ls -l 或 ll 命令获取文件的更多详细信息。 Touch 命令用于创建多个文件:Touch 命令可以一次创建多个文件。但是,这些文件在创建时将是空的。 语法 ![]() Touch 命令中的选项touch 命令包含与其他命令类似的几个选项。这些选项用于多种目的: 1. touch -a:此选项用于更改访问时间。-a 命令可用于更新或更改任何文件的上次修改或访问时间。 语法 ![]() 2. touch -c:此选项可用于检查文件是否已创建。如果文件未创建,则不创建。此外,此选项会忽略创建文件。 语法 ![]() 3. touch -c-d:它用于更新修改和访问时间。 语法 ![]() 3. touch -m:此选项用于更改修改时间。它只能更新上次修改时间。 语法 ![]() 4. touch -r:它可用于使用其他文件的时间戳。 语法 ![]() 5. touch -t:它可用于在特定时间创建文件。 语法 ![]() man 和 --help 命令我们可以使用 man 命令详细了解命令以及如何使用它。它显示命令的手册页。 例如,"man cd" 显示 cd 命令的手册页。在命令中键入名称和参数会显示命令的使用方式(例如,cd --help)。 它提供了命令的总体视图,其中包含名称、描述、概要、选项、返回值、退出状态、文件、错误、作者、示例、版本等。 所有手册都分为以下几个部分:
语法 man 命令中的选项1. 无选项:它显示命令的整个手册。 语法 示例 输出 ![]() 2. Section-num:由于我们知道手册分为多个部分,因此此命令用于仅显示手册的特定部分。 语法 示例 输出 ![]() 3. -a 选项:它支持我们按顺序显示 intro 手册的每一页。 语法 示例 输出 ![]() 4. -k 选项:它可以在每个手册中将提供的命令作为正则表达式进行搜索,并返回所有手册页以及检测到该命令的章节号。 语法 示例 输出 ![]() 5. -w 选项:它返回提供的命令手册页的可用位置。 语法 示例 输出 ![]() 6. -I 选项:它将命令视为区分大小写。 语法 示例 输出 ![]() cp 命令使用 cp 命令从命令行复制文件。它可以接受两个参数:
cp 的完整形式是 copy。它可用于复制目录、文件组或文件。它可以在磁盘上创建文件的相似图像,并带有不同的文件名。cp 命令在其参数中至少需要两个文件名。 语法 第二个和第一个语法用于将源文件复制到目录或目标文件。 第三个语法可用于复制多个源文件目录。 cp 中的操作模式cp 命令可以在三种基本操作模式下实现,这些操作依赖于传递给 cp 命令的参数类型和数量: 1. 两个文件名:当命令包含文件名时,它会将第一个文件的内容复制到第二个文件。如果第二个文件不存在,它将创建一个并复制内容到其中。 2. 多个参数:在多个参数的情况下,描述文件名并跟随这些参数(描述目录名的参数,然后命令会将所有源文件复制到其目标目录,并带有相似的名称),如果不存在则创建,如果已存在则覆盖。 3. 两个目录名:cp 命令会将每个源目录文件复制到目标目录。如果 cp 命令包含两个目录名,它会创建所需的任何目录或文件。此操作需要一个额外的选项(通常是 R)来指示目录的递归复制。 cp 命令中的选项命令中有几个选项。我们将解释一些有用且有帮助的选项。 1. -i 选项:此选项表示交互式复制。系统在覆盖目标文件之前会警告用户。cp 命令会提示响应,当我们点击 y 时,它会覆盖文件。 示例 ![]() 2. -b 选项:该命令可以在类似文件夹中创建目标文件的备份,并具有不同的格式和名称。 示例 ![]() 3. -f 选项:它代表强制。有时系统无法使用 cp 命令打开目标文件进行写入操作。在这种情况下,-f 选项会找到目标文件,并将内容从源文件复制到目标文件。 示例 ![]() 4. -R 或 -r:它用于复制目录结构。cp 命令通过递归复制整个目录结构来显示其递归性质。 示例 ![]() 5. -p:它代表保留。cp 命令可以使用此选项保留所有源文件在相关目标文件中的以下特征:上次数据更改时间、上次访问时间、文件的权限位和所有权。 注意:我们必须是系统的 root 用户才能保留这些特征,否则特征将改变。示例 ![]() mv 命令使用 mv 命令从命令行移动文件。此外,我们还可以使用 mv 命令重命名任何文件。假设,如果我们要将文件 "text" 重命名为 "new",那么我们可以使用 "mv text new"。它将像 cp 命令一样接受两个参数。它表示移动。此命令包含两个不同的功能,如下所示:
重命名时不会占用磁盘上的额外空间。通常,此命令默默地工作。它定义为无需确认提示。 语法 示例 mv 命令中的选项1. -i 选项:它表示交互式。此选项使命令在移动将覆盖现有文件的文件之前询问用户授权,就像在 cp 命令中一样。我们需要点击以确认移动。 当文件不存在时,此选项不生效。它只是将其移动或重命名到新位置。 示例 ![]() 2. -n 选项:它代表 no-clobber。使用 -n 选项,mv 命令可防止覆盖现有文件。 示例 ![]() 3. -b 选项:使用此选项可以更轻松地保留将被此 mv 命令覆盖的现有文件的备份。它将创建一个带有波浪号 (~) 字符的文件备份。 示例 ![]() 4. -version:它可用于显示我们系统上当前正在执行的 mv 命令的版本。 示例 ![]() locate 命令此命令用于在 Linux 系统中查找文件,类似于 Windows 中的(搜索命令)。当不知道文件存储在哪里或文件的实际名称时,locate 命令很有用。 使用 -i 参数和命令可以避免大小写(无论是小写还是大写都不重要)。因此,如果我们希望查找包含单词 "john" 的文件,当我们输入 "locate -i john" 时,它会提供 Linux 系统中包含单词 "john" 的每个文件的列表。 如果我们记住两个单词,那么我们可以使用星号 (*) 将它们隔开。例如,要查找包含单词 "john" 和 "jonny" 的任何文件,我们可以使用命令 "locate -i *john*jonny"。 locate 实用程序比 find 命令更快更好,因为它在启动文件搜索时不会在文件系统中查找,而是在数据库中查找。该数据库包含文件及其在系统上的相关路径的部分和位。locate 命令默认不检查数据库中检测到的文件是否仍然可用。 语法 locate 命令的退出状态:如果检测到任何描述的匹配项,locate 命令以 0 状态退出。如果未检测到匹配项或遇到任何致命错误,则以 1 状态退出。 locate 命令中的选项
注意:数据库只能通过标准输入读取一次。
locate 命令的示例查找具有特定名称的文件的命令 上述命令在特定目录中查找 note.txt。 将搜索查询限制为特定数量 上述命令将显示以 .html 结尾的文件的 10 个搜索结果。 显示匹配的条目数 上述命令计算以 .txt 结尾的文件。 中级命令下面列出并讨论了一些最常用的中级命令: 1. echo:echo 命令支持我们通常将一些数据、文本移动到文件中。例如,如果我们要创建一个新的文本文件或包含一个已创建的文本文件,那么我们只需键入 "echo hello, my name is john >> new.txt"。 我们不需要在这里用反斜杠分隔空格。这是因为如果我们需要指定什么,我们会把它放在两个尖括号内。 示例 ![]() 2. cat:此命令代表 concatenate。它允许我们创建单个或多个文件,连接文件,查看文件内容,将结果重定向到文件或终端。 我们可以使用 cat 命令显示文件内容。通常,它用于轻松查看程序。cat 命令可以读取文件中的数据并将其内容作为结果提供。
示例 ![]() sudo:它是 Linux 终端中一个常用的命令。它代表“SuperUser Do”。 因此,如果您希望使用 root 或管理权限执行命令,我们可以应用此命令。例如,如果我们要编辑任何需要 root 权限的文件,例如 viz.alsa-base.conf,我们可以应用 sudo nano also-base.conf 命令。我们可以使用 "sudo bash" 命令使用 root 命令行。 此外,我们可以使用“su”命令来执行此操作,但在此之前我们需要为 root 设置密码。我们可以使用“sudo command”命令。之后输入新的 root 密码。 示例 ![]() df:我们可以使用 df 命令查看系统中所有分区中存在的磁盘空间。 我们只需在终端中键入 df 命令,就可以看到所有已挂载的分区以及它们以 KB 和 % 表示的可用/已用空间。如果我们要以 MB 显示,可以使用“df -m”命令。 示例 ![]() du:我们可以使用 du 命令来了解系统中文件的磁盘使用情况。如果您想了解 Linux 中特定文件或文件夹的磁盘使用情况,我们可以键入 df 命令以及文件或文件夹的名称。 例如,如果我们要了解 Linux 中文档文件夹占用的磁盘空间,我们可以使用“du Documents”命令。此外,我们可以使用“ls -lah”命令查看文件夹中每个文件的大小。 示例 ![]() tar:我们可以使用 tar 命令在 Linux 终端中处理 tar 包。它包含很长的用户列表。 它可以用于压缩和解压缩不同类型的归档文件,例如 .tar.bz2、.tar.gz、.tar 等。它根据提供给它的各种参数进行操作。例如,“tar -cvf”用于创建 .tar 归档文件,“-xvf”用于解压缩 tar 归档文件,“-tvf”用于列出归档内容等。 示例 ![]() unname:我们可以使用 unname 命令显示我们的 Linux 发行版正在执行的系统信息。unname -a 命令可以打印大多数系统详细信息。它可以打印处理器类型、版本、内核发布日期。 示例 ![]() zip 和 unzip:我们可以使用 zip 命令将文件压缩到 zip 归档文件中,使用 unzip 从 zip 归档文件中提取文件。 Zip 示例 ![]() Unzip 示例 ![]() jed, vi, nano: vi 和 nano 是 Linux 终端中安装的文本编辑器。nano 命令是一个更好的文本编辑器,它用颜色表示关键字,并且可以诊断大多数语言。vi 命令比 nano 命令更容易。我们可以使用此编辑器创建新文件或更改文件。 假设我们需要创建一个名为“create.txt”的文件,我们可以使用“nano create.txt”命令创建它。编辑后,我们可以使用 Ctrl+X,然后按 Y 的序列保存文件。对于 HTML 编辑,Nano 命令似乎不是很好,因为它的颜色,这就是为什么我们推荐 jed 文本编辑器。 apt-get:我们可以使用 apt 命令处理 Linux 终端中的各种软件包。此外,我们还可以使用 apt-get 命令安装软件包。 它需要 root 权限;因此,我们可以将 sudo 命令与它一起使用。例如,如果我们要安装 jed 文本编辑器,我们可以输入“sudo apt-get install jed”命令。 同样,可以安装各种软件包。每次尝试安装任何新软件包时,更新我们的存储库都是很好的。我们可以使用“sudo apt-get update”命令来完成。 我们可以使用“sudo apt-get upgrade”命令升级我们的系统。此外,我们可以使用“sudo apt-get dist-upgrade”命令升级我们的发行版。 “apt-cache search”命令可用于搜索任何软件包。如果我们要搜索一个,我们可以使用“apt-cache search jed”命令(它不需要 root 权限)。 示例 ![]() 下一主题Kill 命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。