Linux 命令备忘单

2025年3月17日 | 阅读 21 分钟

Linux 是一款强大且开源的操作系统,主要供开发人员和网络安全专业人员使用。与其他操作系统相比,它对初学者来说可能较难操作。在 Linux 环境中,命令非常重要,广泛用于执行特定任务。因此,为了方便使用 Linux,我们提供了一个 Linux 命令备忘单,其中包含所有基本和高级命令,以便在 Linux 终端中正确执行各种任务。

Linux Commands Cheat Sheet

本备忘单包含基本和高级终端命令,例如文件目录命令、文件压缩命令、文件路径等等。为了清晰起见,我们按功能对命令进行了分类,并提供了简要的说明、语法和示例,以帮助用户理解其用法。Linux 中有大量的命令,备忘单对用户非常有价值,因此为了提高工作效率,请查阅本备忘单和详细的命令手册,以便在 Linux OS 世界中成为一名专业人士。

什么是 Linux?

Linux 是一种开源的类 Unix 操作系统,以其健壮性、安全性和灵活性而闻名。它由 Linus Torvalds 于 1991 年开发,其命令行界面允许用户控制系统的功能。Linux 广泛用于服务器、桌面、移动设备和嵌入式系统。它是现代计算的基石,比 Windows 或 Mac 更受欢迎。

什么是命令?

在 Linux 中,“命令”是指分配给特定操作系统或进程以执行特定任务的指令。可以通过终端窗口中的 CLI(命令行界面)输入命令。每个命令通常都有特定的语法,并且可以接受选项或参数来更改其行为或指定要执行的操作。

命令通常是位于系统 PATH 环境变量列出的目录中的可执行函数。命令涵盖广泛的任务,从管理文件和目录到编辑文本、执行程序、配置系统设置、管理应用程序、网络等等。命令是区分大小写的,这意味着每个命令将被视为不同。

要在 Linux 中打开终端,请使用键盘上的 Ctrl + Alt + T 键。如果您使用的是 Ubuntu,终端将如下所示。

Linux Commands Cheat Sheet

文件和目录命令

大量命令用于管理 Linux 中的文件和目录。最常见的命令对文件和目录进行分类。

文件操作

文件和目录命令基本被认为是 Linux 操作系统中的基本命令。此处列出了一些常用的命令。

列出文件和目录

查看所有文件和目录

详细查看所有文件和目录

以可读格式查看文件大小

更改目录

将当前目录更改为给定路径

cd /path/to/directory

示例

打印当前工作目录

创建新目录

示例

删除文件和目录

删除目录,包括所有内容

强制删除文件,无需确认

复制文件或目录

复制目录及其内容到指定的目标位置

移动或重命名文件和目录

覆盖现有文件前显示提示

无提示移动。如果未指定任何选项,则默认行为就是如此

不覆盖现有文件

仅当源文件比目标文件新时移动

获取移动操作的输出详细信息

创建空文件或更新文件时间戳

仅更改访问时间

示例

仅更改修改时间

示例

如果文件不存在,则不创建文件

示例

使用指定的时间戳替换当前时间戳

示例

使用另一个文件的时间戳

示例

使用特定的日期字符串更新时间戳

示例

更改文件权限

授予所有人执行权限

从其他人那里移除写入权限

允许组读取权限

查看文件内容

将文本输入追加到文件中

(追加后,按 Ctrl + D 退出。)

给输出行编号

给非空输出行编号

将多个空行压缩成一个

在每行末尾显示 $ (美元) 符号

将制表符显示为 ^I

从文件开头显示前 10 行

显示文件的前 N 行。将 N 替换为您想显示的行数

显示文件的前 N 个字节

此命令用于始终显示文件名标题

此命令用于从不显示文件名标题

显示文件末尾的几行

查看文件最后 N 行

(此处,将 N 替换为您想查看的行数。例如,5)

查看文件最后 N 个字节

此命令主要用于监视日志文件

与 -f 相同,但它还检查文件是否被重新创建

如果文件不可用,则此命令会一直尝试打开该文件

此命令始终显示文件名标题

从不显示文件名标题

在文件之间创建链接

创建符号链接

强制创建链接,即使覆盖现有文件

在覆盖现有文件前提示

启用详细模式

使用此命令搜索文件和目录

选项:-

按名称查找文件

示例

不区分大小写地按名称查找文件

按扩展名查找文件

按大小查找文件

查找在过去 N 天内修改过的文件

查找 N 天前修改过的文件

查找空文件或目录

按权限查找文件

查找并删除文件

获取文件的行数、单词数和字符数

仅获取行数

仅查看单词数

仅显示字符数

仅显示字符数,并将多字节字符视为单独字符

获取文件中最长的一行

对文件中的行进行排序

按数值对行进行排序

按反向顺序对行进行排序

排序并删除文件的重复行

根据第二个字段(单词或列)对行进行排序,您可以管理字段名称

排序文件名时忽略大小写差异,例如大写和小写

以随机顺序对文件进行排序

比较文件

以统一格式查看文件差异

比较两个文件时忽略空格中的更改

比较两个文件时忽略大小写差异

查看两个文件是否不同的报告。它不会显示实际的差异

仅显示两个文件之间的差异,忽略公共行

比较两个文件的内容

创建补丁文件,包含“oldfile”和“newfile”之间的差异

文件权限命令

在文件权限的上下文中,有三个主要权限:读取、写入和执行。权限可以授予或拒绝给三个用户类别:文件的所有者、文件的组成员组以及所有人。

更改文件权限

用户/所有者权限

组权限

其他权限

添加权限

移除权限

显式设置权限

更改文件所有权

将目录及其所有内容的所有权递归地更改为用户指定的所有者

更改文件的所有权和所属组

仅更改文件的组所有权

递归地更改目录的所有权

更改组所有权

更改目录的组所有权

使用数字 ID 更改目录的组所有权

显示已更改组所有权的文件消息

设置默认文件权限

设置新的 umask 值

示例

umask 002

文件压缩和归档

在 Linux 中,我们使用文件压缩和归档命令来高效地管理文件。请参阅下面常用的命令。

创建或提取归档文件

创建新归档

从归档中提取文件

指定归档文件名

激活详细模式

使用 gzip 压缩归档

使用 bzip2 压缩归档

压缩文件

解压缩文件

查看有关文件压缩率和未压缩大小的信息

压缩文件,但保留未压缩的文件

强制压缩文件

显示详细输出

创建压缩 zip 归档

创建 zip 归档

在上述命令中,将 directory_or_files_name 替换为您想包含的实际目录或文件名。demo.zip 是您希望创建的 zip 文件名。

将文件添加到现有 zip 归档

压缩整个目录

以最高压缩率创建 zip 归档

从 zip 归档中排除文件

在 zip 归档中包含隐藏文件

将 zip 归档分割成多个部分

使用密码加密 zip 文件

以静默模式运行

显示详细输出

进程管理

显示正在运行的进程

查看所有正在运行的进程的信息

以完整格式列表显示进程

启动 top 命令界面

终止进程

向具有特定名称的所有进程发送信号

以修改后的调度优先级启动进程

在后台启动命令

编辑当前用户的 crontab

列出当前用户的 crontab

计划一个命令在特定时间运行一次

以树状格式显示进程

监视系统进程

根据名称终止进程

根据名称列出进程

此命令用于搜索特定模式

搜索时忽略大小写区别

反转匹配,显示不匹配的行

递归搜索目录中的匹配模式

仅打印包含匹配项的文件名

在匹配行旁边显示行号

仅匹配整个单词,而不是部分匹配

计算匹配的行数,而不是显示它们

指定多个要搜索的模式

显示匹配行之后的行

显示匹配行之前的行

显示匹配行之前和之后的行

系统信息命令

在 Linux 环境中,您可以使用这些命令收集系统信息。您可以轻松了解系统的硬件、软件、网络等。此处提供了命令。

显示系统信息

显示所有可用的系统信息

查看内核版本

详细查看系统信息、主机名和相关信息

查看系统已运行多长时间、用户数和系统负载平均值

查看文件系统上可用和已使用的磁盘空间量

以人类可读的格式查看磁盘空间使用情况

估算文件和目录的空间使用情况

显示目录及其内容的大小

查看有关所有块设备(包括磁盘和分区)的信息

列出所有连接存储设备的分区表

查看内存使用情况

显示当前用户名

显示系统正常运行时间

查看 CPU 信息

列出 PCI 设备

列出 USB 设备

查看系统硬件的详细信息,例如 BIOS、处理器、内存等

获取系统中所有可用硬件的详细信息

网络命令

要配置网络接口和诊断网络问题,请使用下面提供的命令。

查看或操作路由设备、策略路由和隧道

显示所有网络接口上的所有 IP 地址

查看路由表

检查网络连接

配置网络接口

显示网络统计信息

安全地连接到远程服务器

检查到主机的网络连接

跟踪数据包到达网络主机的路由

获取用于管理 NetworkManager 的命令行工具

查看网络设备的状态

此命令结合了 ping 和 traceroute 的功能

此命令显示网络连接、路由表、接口统计信息、NAT 连接和多播成员资格

此 Linux 命令列出所有正在监听的端口及其状态

显示内核路由表

检查套接字

显示正在监听的端口及其详细信息

提供套接字统计摘要

显示接口上的带宽使用情况

注意:您的 Linux 环境可能未安装 iftop。要安装 iftop 网络监控工具,请在终端中运行以下命令。运行命令后,系统会要求您输入密码,然后安装过程将继续。类似地,许多命令行实用程序可能未安装在您的 Linux 环境中。请执行与安装 iftop 实用程序相同的操作。语法是:sudo apt install utiity_name。在此处,将 utility_name 替换为您要安装的实用程序名称。

命令

显示实时带宽使用情况

监视网络流量和带宽使用情况

它分别显示传入和传出流量

网络故障排除

有各种命令可用于排除网络故障,以识别和解决问题。这是一个包含多个网络故障排除命令的集合,附带说明和使用示例。

查询 DNS 服务器

查询 DNS 服务器

操作系统的 ARP 缓存

查看 ARP 表

显示/操作 IP 路由表

获取路由表详细信息

捕获网络数据包并显示它们

在 eth0 接口上捕获数据包

将捕获的数据包保存到文件

管理网络连接

有多种命令用于配置网络接口、设置连接、管理路由表以及处理无线连接。以下是用于管理网络连接的命令,包括如何使用它们的示例。

用于管理 NetworkManager 的命令行工具

显示网络设备的状态

列出所有网络连接

启动网络连接

关闭网络连接

此命令用于管理系统服务

重新启动 NetworkManager 服务

检查 NetworkManager 服务的状态

无线网络

配置无线网络接口

显示无线网络接口及其设置

连接到具有指定 SSID 的无线网络

一个用于配置无线设备的新工具

列出所有无线设备

显示当前无线连接状态

显示/操作路由、设备、策略路由和隧道

显示所有网络接口的 IP 地址和属性

显示和管理网络设备

显示和操作路由表

向接口添加 IP 地址

启动接口

禁用接口

显示所有网络接口的信息

为接口设置 IP 地址和子网掩码

启动接口

禁用接口

显示或更改以太网设备设置

显示 eth0 接口的设置

设置接口的速度和双工模式

I/O 重定向命令

输入输出 (IO) 命令允许我们重定向标准输入、输出和进程。这包括将输入重定向到文件,将输出重定向到文件,以及合并标准输出和错误。以下是一些常见的 I/O 重定向命令。

将 stdout 重定向到文件

将 stdout 追加到文件

将 stderr 重定向到文件

将 stderr 追加到文件

将 stdout 和 stderr 重定向到同一个文件

将 stdout 和 stderr 重定向到不同的文件

cmd2 的输出用作 cmd1 的输入文件

通过重定向到 null 设备来丢弃 cmd 的 stdout

所有 cmd 输出都重定向到 demofile.txt

stdout 被重定向到与 stderr 相同的位置

从文件重定向 stdin

环境变量命令

在 Linux OS 中,环境变量存储配置设置、系统信息和其他进程和 shell 脚本可以访问的变量。以下是一些常用的命令。

查看所有环境变量

仅查看特定环境变量

设置环境变量的值

显示特定环境变量

列出当前系统中设置的所有环境变量

取消设置或删除环境变量

查看所有当前导出的环境变量

为特定命令设置环境变量的值

用户管理命令

Linux 中的用户管理涉及创建、修改和删除用户帐户和组。以下是用于管理 Linux 中用户和组的关键命令的综合指南。

查看当前登录的用户

创建新用户

如果用户主目录不存在,则创建它

指定用户主目录

指定登录 shell

将用户添加到附加组

添加注释

示例

设置或更改用户的密码

修改现有用户帐户

更改用户名

更改用户的主目录

将主目录的内容移动到新位置

更改用户的登录 shell

将用户添加到辅助组

锁定用户帐户

解锁用户帐户

示例

删除用户帐户

删除用户的家目录和邮件 spool

示例

组管理命令

创建新组

修改现有组

重命名组

删除组

管理 /etc/group 和 /etc/gshadow

将用户添加到组

将用户从组中移除

用户信息和组信息命令

显示用户信息或组信息

查看用户信息,包括用户名、实际姓名、空闲时间、终端和登录时间

查看最近的用户登录历史

显示用户所属的组

从管理数据库检索条目

显示系统用户信息

将指定用户从指定组中移除

特殊用户和组文件命令

查看 /etc/passwd 文件的内容

编辑 /etc/passwd 文件

查看 /etc/shadow 文件中的加密密码信息

查看 /etc/group 文件的组信息

显示用户帐户详细信息

从系统中删除用户帐户,以及家目录和相关文件

锁定指定用户帐户密码,防止用户登录

切换到另一个用户帐户及其环境

将现有用户添加到选定组,而不将其从当前组中移除

高级用户管理命令

锁定用户帐户

解锁用户帐户

用户密码过期

列出帐户老化信息

设置最后一次密码更改日期

设置帐户过期日期

设置密码有效天数上限

设置密码过期后帐户被锁定的天数

快捷命令

Linux 中有几种重要的快捷命令,我们可以用它们快速完成任务,无需花费太多时间。这些快捷键主要用于终端和文本编辑器,如 Nano、VI 和 Vim。

Bash 快捷键

Bash 是一个功能强大的 shell,提供了许多用于处理命令行快捷键。以下是这些快捷键的完整列表。

快捷键描述
Ctrl + A将光标移动到当前行的开头。
Ctrl + E将光标移动到当前行的末尾。
Ctrl + U清除光标之前的行。
Ctrl + K清除光标之后的行。
Ctrl + W删除光标之前的单词。
Ctrl + Y恢复最后删除的文本。
Ctrl + L清除屏幕并重绘当前行。
Ctrl + R向后搜索历史记录。
Ctrl + P 或向上箭头访问历史记录中的上一条命令。
Ctrl + N 或向下箭头访问历史记录中的下一条命令。
Alt + .检索上一条命令的最后一个参数。
!!重复上一条命令。
!$使用上一条命令的最后一个参数。
!n执行历史记录中的第 n 条命令。
!prefix执行以 prefix 开头的最近一条命令。
Tab (制表符)自动完成文件名和目录名。
Ctrl + X, Ctrl + E使用 Nano 或 Vim 等文本编辑器在默认编辑器中编辑当前命令行。
Ctrl + C终止当前命令。
Ctrl + Z挂起当前命令,将其发送到后台。
Ctrl + D退出当前 shell 或在空行上使用时结束输入。
Ctrl + T交换当前字符与前一个字符。
Alt + T交换当前单词与前一个单词。

Nano 快捷键

Nano 是一个基本的文本编辑器,预装在包括 Linux 在内的许多类 Unix 操作系统中。以下是 Nano 的一些有用快捷键命令。

快捷键描述
Ctrl + O保存当前文件。
Ctrl + X退出 Nano。
Ctrl + R将文件插入到当前光标位置。
Ctrl + W在文件中搜索文本。
Ctrl + A将光标移到行首。
Ctrl + E将光标移到行尾。
Ctrl + Y向上滚动一页。
Ctrl + V向下滚动一页。
Ctrl + _转到特定行号。
Ctrl + K剪切当前行。
Ctrl + U粘贴之前剪切的文本。
Ctrl + J包装当前段落。
Alt + 6复制当前行。
Ctrl + W搜索文本。
Ctrl + \搜索并替换文本。
Ctrl + ^开始选择文本。
Ctrl + G显示帮助文本。
Ctrl + C显示当前光标位置。
Ctrl + T调用拼写检查器(如果可用)。
Ctrl + M打开/关闭鼠标支持。

Vim 快捷键

Vim 是一个用于编辑文本的文本编辑器。它是 vi 编辑器的扩展版本。它也被称为程序员编辑器,对于作为 IDE 进行编程很重要。以下是 Vim 中常用命令的列表。

快捷键描述
h将光标向左移动
j将光标向下移动
k将光标向上移动
l将光标向右移动
w将光标移动到下一个单词的开头。
b将光标移动到前一个单词的开头。
e将光标移动到当前单词的末尾。
0将光标移到行首。
$将光标移到行尾。
gg将光标移动到文档的第一行。
G将光标移动到文档的最后一行。
Ctrl + f向前移动一屏。
Ctrl + b向后移动一屏。
i在光标处进入插入模式。
I在行首进入插入模式。
a在光标后追加。
A在末尾追加。
o在当前行下方打开新行。
O在当前行上方打开新行。
x删除光标下的字符。
X删除光标前的字符。
dd删除当前行。
dw删除当前单词
D从光标删除到行尾
u撤销上次更改。
Ctrl + r重做上次撤销的更改。
yy复制当前行。
p在光标后粘贴。
P在光标前粘贴。
v进入可视模式,标记文本并移动光标选择文本
Ctrl + v进入可视块模式。
/pattern搜索模式。
?pattern向后搜索模式。
n以相同方向重复上次搜索。
N以相反方向重复上次搜索。
:s/old/new/g替换当前行中所有出现的“old”为“new”。
:w保存文件。
:q退出 Vim。
:wq 或 :x保存并退出。
:q!不保存退出。
:e filename打开新文件。
:w filename另存为新文件。
:n转到参数列表中的下一个文件。
:prev转到参数列表中的上一个文件。
:split 或 :sp水平分割窗口。

:vsplit 或 :vsp垂直分割窗口。
Ctrl + w, h移至左侧分割。
Ctrl + w, l移至右侧分割。
Ctrl + w, j移至下方分割。
Ctrl + w, k移至上方分割。
:resize n将当前窗口调整为 n 行。
:set number 或 :set nu显示行号。
:set nonumber 或 :set nonu隐藏行号。
q<register>开始将宏记录到寄存器 <register>。
q停止录制宏。
@<register>播放寄存器 <register> 中存储的宏。
:ls列出所有打开的缓冲区。
:b n切换到缓冲区号 n。
:tabnew打开新标签页。
:tabnext 或 :tabn转到下一个标签页。
:tabprev 或 :tabp转到上一个标签页。

结论

Linux 被认为是一种复杂的操作系统,供开发人员和网络安全专业人员使用。对于初学者来说,与 Windows 或 Mac 相比,它可能具有挑战性。在 Linux 环境中,命令对于生存至关重要。因此,为了方便使用 Linux,我们为初学者和有经验的用户提供了一个 Linux 命令备忘单,以便在 Linux 终端中高效地执行各种任务。