你应该知道的 40 个最常用的 Linux 命令
已发表: 2021-10-06在撰写本文时,Linux 在桌面上的全球市场份额为 2.68%,但超过 90% 的所有云基础设施和托管服务都在此操作系统中运行。 仅出于这个原因,熟悉流行的 Linux 命令就至关重要。
根据 2020 年 StackOverflow 调查,Linux 是专业开发人员最常用的操作系统,市场份额高达 55.9%。 这不仅仅是巧合。 Linux 是免费和开源的,比其竞争对手具有更好的安全性,并且拥有强大的命令行,使开发人员和高级用户更有效。 您还可以使用功能强大的包管理器和大量开发工具,例如 DevKinsta。
无论您是经验丰富的系统管理员还是 Linux 新手,都可以利用本指南。
让我们开始!
什么是 Linux 命令?
Linux 命令是在命令行上运行的程序或实用程序。 命令行是接受文本行并将其处理成计算机指令的界面。
任何图形用户界面 (GUI) 都只是命令行程序的抽象。 例如,当您通过单击“X”关闭窗口时,该操作后面会运行一个命令。
标志是我们可以将选项传递给您运行的命令的一种方式。 大多数 Linux 命令都有一个帮助页面,我们可以使用标志-h
调用它。 大多数时候,标志是可选的。
参数或参数是我们为命令提供的输入,以便它可以正常运行。 在大多数情况下,参数是文件路径,但它可以是您在终端中键入的任何内容。
您可以使用连字符 ( -
) 和双连字符 ( --
) 调用标志,而参数执行取决于您将它们传递给函数的顺序。
文
最常用的 Linux 命令
在开始使用最常用的 Linux 命令之前,请确保启动终端。 在大多数 Linux 发行版中,您将使用Ctrl + Alt + T来执行此操作。 如果这不起作用,请在您的应用程序面板中搜索“终端”。

现在让我们深入了解 40 个最常用的 Linux 命令。 其中许多有多个选项,您可以将它们串起来,因此请务必查看命令手册。
1. ls
命令
ls
可能是每个 Linux 用户在其终端中键入的第一个命令。 它允许您列出您想要的目录(默认为当前目录)的内容,包括文件和其他嵌套目录。
ls
它有很多选项,因此最好使用--help
标志获得一些帮助。 此标志返回您可以与 ls 一起使用的所有标志。
例如,要为ls
命令的输出着色,可以使用以下命令:
ls --color=auto

现在ls
命令输出是彩色的,您可以体会到目录和文件之间的区别。
但是用颜色标志输入ls
会效率低下; 这就是我们使用alias
命令的原因。
2. alias
命令
alias
命令允许您在 shell 会话中定义临时别名。 创建别名时,您指示 shell 用一系列命令替换单词。
例如,要将ls
设置为具有颜色而不每次都键入--color
标志,您可以使用:
alias ls="ls --color=auto"
如您所见, alias
命令采用一个键值对参数: alias NAME="VALUE"
。 请注意,该值必须在引号内。
如果要列出 shell 会话中的所有别名,可以运行不带参数的alias
命令。
alias

3. unalias
命令
顾名思义, unalias
命令旨在从已定义的别名中删除alias
。 要删除以前的ls
别名,您可以使用:
unalias ls
4. pwd
命令
pwd
命令代表“打印工作目录”,它输出您所在目录的绝对路径。例如,如果您的用户名是“john”并且您在 Documents 目录中,那么它的绝对路径将是: /home/john/Documents
。
要使用它,只需在终端中输入pwd
:
pwd # My result: /home/kinsta/Documents/linux-commands
5. cd
命令
cd
命令和ls
一样非常流行。 它指的是“更改目录”,顾名思义,它会将您切换到您尝试访问的目录。
例如,如果您在 Documents 目录中,并且尝试访问其中一个名为Videos的子文件夹,则可以输入以下内容:
cd Videos
您还可以提供文件夹的绝对路径:
cd /home/kinsta/Documents/Videos
使用cd
命令有一些技巧可以在使用它时为您节省大量时间:
1. 转到主文件夹
cd
2.提升一个级别
cd ..
3.返回上一个目录
cd -
cp
命令
直接在 Linux 终端中复制文件和文件夹非常容易,有时它可以取代传统的文件管理器。
要使用cp
命令,只需将其与源文件和目标文件一起键入:
cp file_to_copy.txt new_file.txt
您还可以使用递归标志复制整个目录:
cp -r dir_to_copy/ new_copy_dir/
请记住,在 Linux 中,文件夹以正斜杠 ( /
) 结尾。
7. rm
命令
既然您知道如何复制文件,那么了解如何删除它们会很有帮助。
您可以使用rm
命令删除文件和目录。 但是,在使用它时要小心,因为以这种方式删除的文件很难(但并非不可能)恢复。
要删除常规文件,请键入:
rm file_to_copy.txt
如果要删除空目录,可以使用递归 ( -r
) 标志:
rm -r dir_to_remove/
另一方面,要删除其中包含内容的目录,您需要使用强制 (-f) 和递归标志:
rm -rf dir_with_content_to_remove/
8. mv
命令
您可以使用mv
命令在文件系统中移动(或重命名)文件和目录。
要使用此命令,您需要输入其名称以及源文件和目标文件:
mv source_file destination_folder/ mv command_list.txt commands/
要使用绝对路径,您可以使用:
mv /home/kinsta/BestMoviesOfAllTime ./
…其中./
是您当前所在的目录。
您还可以使用mv
重命名文件,同时将它们保存在同一目录中:
mv old_file.txt new_named_file.txt
9. mkdir
命令
要在 shell 中创建文件夹,请使用mkdir
命令。 只需指定新文件夹的名称,确保它不存在,就可以开始了。
例如,要创建一个目录来保存所有图像,只需键入:
mkdir images/
要使用简单命令创建子目录,请使用父 ( -p
) 标志:
mkdir -p movies/2004/
10. man
命令
另一个重要的 Linux 命令是man
。 它显示任何其他命令的手册页(只要它有一个)。
要查看mkdir
命令的手册页,请键入:
man mkdir
您甚至可以参考man
页:
man man

11. touch
命令
touch
命令允许您更新指定文件的访问和修改时间。
例如,我有一个旧文件,上次修改时间是 4 月 12 日:

要将其修改日期更改为当前时间,我们需要使用-m
标志:
touch -m old_file
现在日期与今天的日期匹配(在撰写本文时是 8 月 8 日)。

尽管如此,大多数时候,您不会使用touch
来修改文件日期,而是创建新的空文件:
touch new_file_name
12. chmod
命令
chmod
命令可让您快速更改文件的模式(权限)。 它有很多可用的选项。
文件可以拥有的基本权限是:
- r(读取)
- w(写)
- x(执行)
chmod
最常见的用例之一是使文件可由用户执行。 为此,请输入chmod
和标志+x
,然后输入要修改权限的文件:
chmod +x script
您可以使用它来使脚本可执行,从而允许您使用./
符号直接运行它们。
13. ./
命令
也许./
符号本身不是命令,但在此列表中值得一提。 它允许您的 shell 直接从终端运行带有安装在系统中的任何解释器的可执行文件。 不再需要在图形文件管理器中双击文件!
例如,使用此命令,您可以运行 Python 脚本或仅以 .run 格式提供的程序,例如 XAMPP。 运行可执行文件时,请确保它具有可执行 (x) 权限,您可以使用chmod
命令对其进行修改。
这是一个简单的 Python 脚本,以及我们如何使用./
符号运行它:
#! /usr/bin/python3 # filename: script for i in range(20): print(f"This is a cool script {i}")
以下是我们如何将脚本转换为可执行文件并运行它:
chmod +x script ./script
14. exit
命令
exit
命令完全符合其名称的含义:使用它,您可以结束 shell 会话,并且在大多数情况下,自动关闭您正在使用的终端:
exit
15. sudo
命令
此命令代表“超级用户执行”,它允许您在运行特定命令时充当超级用户或 root 用户。 这是 Linux 保护自己并防止用户意外修改机器的文件系统或安装不适当的软件包的方式。
sudo 通常用于安装软件或编辑用户主目录之外的文件:
sudo apt install gimp sudo cd
/root/
在运行您在其后键入的命令之前,它会询问您管理员的密码。
16. shutdown
命令
正如您可能猜到的, shutdown
命令可以让您关闭机器。 但是,它也可用于停止和重新启动它。
要立即关闭计算机(默认为一分钟),请键入:
shutdown now
您还可以安排以 24 小时格式关闭系统:
shutdown 20:40
要取消先前的shutdown
调用,您可以使用-c
标志:
shutdown -c
17. htop
命令
htop
是一个交互式进程查看器,可让您直接从终端管理机器资源。 在大多数情况下,默认情况下不会安装它,因此请务必在其下载页面上阅读有关它的更多信息。
htop

18. unzip
命令
unzip 命令允许您从终端中提取.zip文件的内容。 再一次,默认情况下可能不会安装此软件包,因此请确保使用软件包管理器安装它。
在这里,我们解压一个包含图片的 .zip 文件:
unzip images.zip
19. apt
、 yum
、 pacman
命令
无论您使用哪个 Linux 发行版,您都可能使用包管理器来安装、更新和删除您每天使用的软件。
您可以通过命令行访问这些包管理器,并根据您的机器运行的发行版使用一个或另一个。
以下示例将安装 GIMP,这是大多数包管理器中通常可用的免费开源软件:
1. 基于 Debian(Ubuntu、Linux Mint)
sudo apt install gimp
2. 基于红帽(Fedora、CentOS)
sudo yum install gimp
3. 基于 Arch(Manjaro、Arco Linux)
sudo pacman -S gimp
20. echo
命令
echo
命令在终端中显示定义的文本——就这么简单:
echo "Cool message"

它的主要用途是在这些消息中打印环境变量:

echo "Hey $USER" # Hey kinsta
21. cat
命令
Cat
是“连接”的缩写,可让您直接从终端创建、查看和连接文件。 它主要用于在不打开图形文本编辑器的情况下预览文件:
cat long_text_file.txt

ps
命令
使用ps
,您可以查看当前 shell 会话正在运行的进程。 它打印有关您正在运行的程序的有用信息,例如进程 ID、TTY (TeleTYpewriter)、时间和命令名称。
ps

如果您想要更具交互性的东西,可以使用htop
。
23. kill
命令
程序无响应时很烦人,您无法以任何方式关闭它。 幸运的是, kill
命令解决了这类问题。
简单地说, kill
向终止它的进程发送一个 TERM 或 kill 信号。
您可以通过输入 PID(进程 ID)或程序的二进制名称来终止进程:
kill 533494 kill firefox
小心这个命令——使用kill
,你冒着意外删除你一直在做的工作的风险。
24. ping
命令
ping
是用于测试网络连接的最流行的网络终端实用程序。 ping
有很多选项,但在大多数情况下,您将使用它来请求域或 IP 地址:
ping google.com ping 8.8.8.8
25. vim
命令
vim
是一个免费的开源终端文本编辑器,自 90 年代以来一直在使用。 它允许您使用有效的键绑定编辑纯文本文件。
有些人认为它很难使用——退出 Vim 是 StackOverflow 最受欢迎的问题之一——但一旦你习惯了它,它就会成为你在命令行中最好的盟友。
要启动 Vim,只需输入:
vim

26. history
命令
如果您正在努力记住一个命令,那么history
会派上用场。 此命令显示一个枚举列表,其中包含您过去使用过的命令:
所有 Kinsta 托管计划都包括来自我们资深 WordPress 开发人员和工程师的 24/7 支持。 与支持我们财富 500 强客户的同一团队聊天。 看看我们的计划!
history

27. passwd
命令
passwd
允许您更改用户帐户的密码。 首先,它会提示您输入当前密码,然后要求您输入新密码并进行确认。
它类似于您在其他地方看到的任何其他密码更改,但在这种情况下,它直接在您的终端中:
passwd

使用时要小心——你不想弄乱你的用户密码!
28. which
命令
which
命令输出 shell 命令的完整路径。 如果它不能识别给定的命令,它会抛出一个错误。
例如,我们可以使用它来检查 Python 和 Brave 网络浏览器的二进制路径:
which python # /usr/bin/python which brave # /usr/bin/brave
29. shred
命令
如果您希望文件几乎无法恢复, shred
可以帮助您完成这项任务。 此命令反复覆盖文件的内容,因此,给定的文件变得极难恢复。
这是一个内容很少的文件:

现在,让我们通过输入以下命令shred
完成它的工作:
shred file_to_shred.txt

如果要立即删除文件,可以使用-u
标志:
shred -u file_to_shred.txt
30. less
命令
less
(与more相反)是一个程序,可让您前后检查文件:
less large_text_file.txt

less
的巧妙之处在于它在其界面中包含了 more 和vim
命令。 如果您需要比cat
更具交互性的东西, less
是一个不错的选择。
31. tail
命令
与cat
类似, tail
打印文件的内容有一个主要警告:它只输出最后几行。 默认情况下,它会打印最后 10 行,但您可以使用-n
修改该数字。
例如,要打印大文本文件的最后几行,您可以使用:
tail long.txt

仅查看最后四行:
tail -n 4 long.txt

32. head
命令
这是对tail
命令的补充。 head
输出文本文件的前 10 行,但您可以使用-n
标志设置要显示的任意行数:
head long.txt head -n 5 long.txt

33. grep
命令
Grep 是处理文本文件的最强大的实用程序之一。 它搜索与正则表达式匹配的行并打印它们:
grep "linux" long.txt

您可以使用-c
标志计算模式重复的次数:
grep -c "linux" long.txt # 2
34. whoami
命令
whoami
命令(“who am i”的缩写)显示当前使用的用户名:
whoami # kinsta
使用echo
和环境变量 $USER 可以获得相同的结果:
echo $USER # kinsta
35. whatis
命令
whatis
打印任何其他命令的单行描述,使其成为有用的参考:
whatis python # python (1) - an interpreted, interactive, object-oriented programming language whatis whatis # whatis (1) - display one-line manual page descriptions
36. wc
命令
Wc 代表“字数”,顾名思义,它返回文本文件中的字数:
wc long.txt # 37 207 1000 long.txt
让我们分解一下这个命令的输出:
- 37行
- 207 字
- 1000 字节大小
- 文件名 (long.txt)
如果您只需要字数,请使用-w
标志:
wc -w long.txt 207 long.txt
37. uname
命令
uname
(“Unix 名称”的缩写)打印操作系统信息,当您知道当前的 Linux 版本时,它会派上用场。
大多数时候,您将使用-a
(–all) 标志,因为默认输出没有那么有用:
uname # Linux uname -a # Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux
neofetch
命令
Neofetch 是一个 CLI(命令行界面)工具,可在 Linux 发行版的 ASCII 徽标旁边显示有关您的系统的信息(如内核版本、外壳和硬件):
neofetch

在大多数机器中,默认情况下此命令不可用,因此请确保先使用包管理器安装它。
39. find
命令
find
命令根据正则表达式在目录层次结构中搜索文件。 要使用它,请遵循以下语法:
find [flags] [path] -name [expression]
要在当前目录中搜索名为long.txt的文件,请输入:
find ./
-name "long.txt" # ./long.txt
要搜索以.py (Python) 扩展名结尾的文件,可以使用以下命令:
find ./
-type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py
40. wget
命令
wget
(万维网获取)是一个从互联网检索内容的实用程序。 它拥有最大的旗帜集合之一。
以下是从 GitHub 存储库下载 Python 文件的方法:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
Linux 命令备忘单
每当您想要快速参考时,只需查看下表:
命令 | 用法 |
---|---|
ls | 列出目录的内容 |
alias | 定义或显示别名 |
unalias | 删除alias 定义 |
pwd | 打印工作目录 |
cd | 更改目录 |
cp | 复制文件和目录 |
rm | 删除文件和目录 |
mv | 移动(重命名)文件和目录 |
mkdir | 创建目录 |
man | 显示其他命令的手册页 |
touch | 创建空文件 |
chmod | 更改文件权限 |
./ | 运行可执行文件 |
exit | 退出当前的 shell 会话 |
sudo | 以超级用户身份执行命令 |
shutdown | 关闭你的机器 |
htop | 显示进程和资源信息 |
unzip | 提取压缩的 ZIP 文件 |
apt , yum , pacman | 包管理器 |
echo | 显示文本行 |
cat | 打印文件内容 |
ps | 报告 shell 进程状态 |
kill | 终止程序 |
ping | 测试网络连接 |
vim | 高效的文本编辑 |
history | 显示先前命令的列表 |
passwd | 更改用户密码 |
which | 返回程序的完整二进制路径 |
shred | 覆盖文件以隐藏其内容 |
less | 以交互方式检查文件 |
tail | 显示文件的最后几行 |
head | 显示文件的第一行 |
grep | 打印匹配模式的行 |
whoami | 输出用户名 |
whatis | 显示单行描述 |
wc | 字数统计文件 |
uname | 显示操作系统信息 |
neofetch | 显示操作系统和硬件信息 |
find | 搜索遵循模式的文件 |
wget | 从 Internet 检索文件 |
概括
学习 Linux 可能需要一些时间,但是一旦你掌握了它的一些工具,它就会成为你最好的盟友,你不会后悔选择它作为你的日常驱动程序。
Linux 的一项非凡之处在于,即使您是一位经验丰富的用户,您也将永远不会停止学习如何提高使用它的效率。
还有很多有用的 Linux 命令。 如果我们遗漏了什么,请在下面的评论中分享您最喜欢的 Linux 命令!