你应该知道的 40 个最常用的 Linux 命令

已发表: 2021-10-06

在撰写本文时,Linux 在桌面上的全球市场份额为 2.68%,但超过 90% 的所有云基础设施和托管服务都在此操作系统中运行。 仅出于这个原因,熟悉流行的 Linux 命令就至关重要。

根据 2020 年 StackOverflow 调查,Linux 是专业开发人员最常用的操作系统,市场份额高达 55.9%。 这不仅仅是巧合。 Linux 是免费和开源的,比其竞争对手具有更好的安全性,并且拥有强大的命令行,使开发人员和高级用户更有效。 您还可以使用功能强大的包管理器和大量开发工具,例如 DevKinsta。

无论您是经验丰富的系统管理员还是 Linux 新手,都可以利用本指南。

让我们开始!

什么是 Linux 命令?

Linux 命令是在命令行上运行的程序或实用程序。 命令行是接受文本行并将其处理成计算机指令的界面。

任何图形用户界面 (GUI) 都只是命令行程序的抽象。 例如,当您通过单击“X”关闭窗口时,该操作后面会运行一个命令。

标志是我们可以将选项传递给您运行的命令的一种方式。 大多数 Linux 命令都有一个帮助页面,我们可以使用标志-h调用它。 大多数时候,标志是可选的。

参数或参数是我们为命令提供的输入,以便它可以正常运行。 在大多数情况下,参数是文件路径,但它可以是您在终端中键入的任何内容。

您可以使用连字符 ( - ) 和双连字符 ( -- ) 调用标志,而参数执行取决于您将它们传递给函数的顺序。

您是否知道 90% 的云基础设施和托管服务都使用 Linux? 仅出于这个原因,熟悉流行的 Linux 命令就至关重要。 点击推

最常用的 Linux 命令

在开始使用最常用的 Linux 命令之前,请确保启动终端。 在大多数 Linux 发行版中,您将使用Ctrl + Alt + T来执行此操作。 如果这不起作用,请在您的应用程序面板中搜索“终端”。

Linux 终端模拟器。
Linux 终端模拟器。

现在让我们深入了解 40 个最常用的 Linux 命令。 其中许多有多个选项,您可以将它们串起来,因此请务必查看命令手册。

1. ls命令

ls可能是每个 Linux 用户在其终端中键入的第一个命令。 它允许您列出您想要的目录(默认为当前目录)的内容,包括文件和其他嵌套目录。

 ls

它有很多选项,因此最好使用--help标志获得一些帮助。 此标志返回您可以与 ls 一起使用的所有标志。

例如,要为ls命令的输出着色,可以使用以下命令:

 ls --color=auto
彩色的 ls 命令。
彩色的 ls 命令。

现在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
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
htop 接口。
“htop”界面。

18. unzip命令

unzip 命令允许您从终端中提取.zip文件的内容。 再一次,默认情况下可能不会安装此软件包,因此请确保使用软件包管理器安装它。

在这里,我们解压一个包含图片的 .zip 文件:

 unzip images.zip

19. aptyumpacman命令

无论您使用哪个 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 命令。
回声命令

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

 echo "Hey $USER" # Hey kinsta

21. cat命令

Cat是“连接”的缩写,可让您直接从终端创建、查看和连接文件。 它主要用于在不打开图形文本编辑器的情况下预览文件:

 cat long_text_file.txt
cat 命令显示“根本没有那么大”。
猫命令。

ps命令

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

 ps
ps 命令。
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
vim 文本编辑器。
vim 文本编辑器。

26. history命令

如果您正在努力记住一个命令,那么history会派上用场。 此命令显示一个枚举列表,其中包含您过去使用过的命令:

所有 Kinsta 托管计划都包括来自我们资深 WordPress 开发人员和工程师的 24/7 支持。 与支持我们财富 500 强客户的同一团队聊天。 看看我们的计划!

 history
历史命令。
历史命令。

27. passwd命令

passwd允许您更改用户帐户的密码。 首先,它会提示您输入当前密码,然后要求您输入新密码并进行确认。

它类似于您在其他地方看到的任何其他密码更改,但在这种情况下,它直接在您的终端中:

 passwd
passwd 命令询问当前密码。
passwd 命令

使用时要小心——你不想弄乱你的用户密码!

28. which命令

which命令输出 shell 命令的完整路径。 如果它不能识别给定的命令,它会抛出一个错误。

例如,我们可以使用它来检查 Python 和 Brave 网络浏览器的二进制路径:

 which python # /usr/bin/python which brave # /usr/bin/brave

29. shred命令

如果您希望文件几乎无法恢复, shred可以帮助您完成这项任务。 此命令反复覆盖文件的内容,因此,给定的文件变得极难恢复。

这是一个内容很少的文件:

包含“测试文件”的 file_to_shred.txt
文件粉碎。

现在,让我们通过输入以下命令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
显示文件最后四行的 tail 命令。
尾四行。

32. head命令

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

 head long.txt head -n 5 long.txt
一个文件中具有不同标志的头部。
头命令。

33. grep命令

Grep 是处理文本文件的最强大的实用程序之一。 它搜索与正则表达式匹配的行并打印它们:

 grep "linux" long.txt
grep 命令。
grep 命令。

您可以使用-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
Neofetch 显示系统信息。
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 文件
aptyumpacman 包管理器
echo 显示文本行
cat 打印文件内容
ps 报告 shell 进程状态
kill 终止程序
ping 测试网络连接
vim 高效的文本编辑
history 显示先前命令的列表
passwd 更改用户密码
which 返回程序的完整二进制路径
shred 覆盖文件以隐藏其内容
less 以交互方式检查文件
tail 显示文件的最后几行
head 显示文件的第一行
grep 打印匹配模式的行
whoami 输出用户名
whatis 显示单行描述
wc 字数统计文件
uname 显示操作系统信息
neofetch 显示操作系统和硬件信息
find 搜索遵循模式的文件
wget 从 Internet 检索文件

截至 2020 年,Linux 是专业开发人员最常用的操作系统 通过这篇文章了解 40 个最常用的命令并开始利用这个强大的系统Click to Tweet

概括

学习 Linux 可能需要一些时间,但是一旦你掌握了它的一些工具,它就会成为你最好的盟友,你不会后悔选择它作为你的日常驱动程序。

Linux 的一项非凡之处在于,即使您是一位经验丰富的用户,您也将永远不会停止学习如何提高使用它的效率。

还有很多有用的 Linux 命令。 如果我们遗漏了什么,请在下面的评论中分享您最喜欢的 Linux 命令!