40个最常用的Linux命令行大全

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

根据2020年StackOverflow调查,Linux是专业开发人员使用最多的操作系统,拥有令人印象深刻的55.9%的市场份额。这不仅仅是巧合。Linux是免费的、开源的,比竞争对手具有更好的安全性,并且拥有强大的命令行,使开发人员和高级用户更加高效。

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

  1. 什么是Linux命令?
  2. 最常用的Linux命令
  3. Linux命令备忘单

什么是Linux命令?

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

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

标志(flag)是我们可以向您运行的命令传递选项的一种方式。大多数Linux命令都有一个帮助页面,我们可以使用-h标记调用该页面。大多数情况下,标志是可选的。

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

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

最常用的Linux命令

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

Linux终端模拟器

Linux终端模拟器。

现在,让我们一起来了解40个最常用的Linux命令。其中许多选项可以串到它们,所以请务必查看命令手册.

1. ls命令

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

ls

它有很多选择,所以最好使用 --help 来获得一些帮助。此标志返回所有可以与 ls一起使用的flags参数。

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

ls –color=auto

ls着色命令

ls着色命令

现在 ls 命令输出已着色,您可以欣赏目录和文件之间的区别。

但是,用彩色标志打字是低效的:这就是我们使用命令 lsalias 的原因。

2.alias命令

alias命令允许您在shell会话中定义临时别名。创建别名时,您指示shell用一系列命令替换单词。

例如,要设置 ls 为颜色而不每次键入标志 --color,您将使用:

alias ls=“ls –color=auto”

正如你所看到的,alias命令需要一个关键值对参数:alias NAME="VALUE" .请注意,该值必须是使用引号。

如果你想列出你的shell会话中所有的别名,你可不使用argument运行命令alias

alias

alias命令

alias命令。

3.unalias命令

顾名思义,unalias命令旨在从已定义的别名中删除alias。要删除以前的ls别名,可以使用:

unalias ls

4. pwd命令

pwd命令代表“打印工作目录”,它输出您所在目录的绝对路径。例如,如果您的用户名是“john”,并且您位于文档目录中,则其绝对路径将是 /home/john/Documents.

要使用它,只需在终端中键入pwd

pwd
# My result: /home/wbolt/Documents/linux-commands

5. cd命令

cd命令与ls都非常流行。它指的是“更改目录”,顾名思义,它会将您切换到您试图访问的目录。

例如,如果您在Documents目录中,并且试图访问其名为Videos的子文件夹之一,则可以通过键入以下内容来输入:

cd Videos

您还可以提供文件夹的绝对路径:

cd /home/wbolt/Documents/Videos

在使用cd命令时,有一些技巧可以为您节省大量时间:

1. 进入home文件夹

cd

2. 向上移动一个级别

cd ..

3. 返回上一个目录

cd –

6. 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/

另一方面,要删除包含内容的目录,需要使用force(-f)和recursive标志:

rm -rf dir_with_content_to_remove/

警告:误用这两个标志,你可能会抹掉一整天的工作!

8. mv命令

您可以使用mv命令在文件系统中移动(或重命名)文件和目录。

若要使用此命令,请将其名称与源文件和目标文件一起键入:

mv source_file destination_folder/
mv command_list.txt commands/

要使用绝对路径,请使用:

mv /home/wbolt/BestMoviesOfAllTime ./

…where ./是您当前所在的目录。

您还可以使用mv重命名文件,同时将其保留在同一目录中:

mv old_file.txt new_named_file.txt

9.mkdir命令

要在shell中创建文件夹,可以使用mkdir命令。只需指定新文件夹的名称,确保它不存在,然后就可以开始了。

例如,要创建一个保存所有图像的目录,只需键入:

mkdir images/

要使用简单命令创建子目录,请使用parent(-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 命令

此命令代表“超级用户do”,它允许您在运行特定命令时充当超级用户或根用户。这就是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文件的内容。同样,默认情况下可能不会安装此软件包,因此请确保使用package管理器安装它。

下面命令行,指正在解压一个包含图像的.zip文件:

unzip images.zip

19.aptyumpacman 命令

无论您使用的是哪个Linux发行版,您都可能使用package管理器来安装、更新和删除您每天使用的软件。

您可以通过命令行访问这些package管理器,并根据您的计算机运行的发行版使用其中一个或另一个package管理器。

以下示例将安装GIMP,这是一种通常在大多数package管理器中可用的免费开源软件:

1. Debian-based (Ubuntu, Linux Mint)

sudo apt install gimp

2. Red Hat-based (Fedora, CentOS)

sudo yum install gimp

3. Arch-based (Manjaro, Arco Linux)

sudo pacman -S gimp

20. echo 命令

echo命令在终端中显示定义的文本-就这么简单:

 

echo “Cool message”

echo命令

echo命令

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

echo “Hey $USER”
# Hey wbolt

21. cat 命令

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

cat long_text_file.txt

cat命令

cat命令.

22. ps 命令

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

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就会派上用场。此命令显示一个枚举列表,其中包含您过去使用过的命令:

history

history命令

history命令.

27. passwd 命令

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

它类似于您在其他地方看到的任何其他密码更改,但在本例中,它直接在您的终端中:

passwd

passwd命令

passwd命令

使用时要小心-一不小心可能会混肴用户密码!

28. which 命令

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

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

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命令

less命令.

less的优点在于它在其界面中包含了更多和vim命令。如果您需要比cat更具交互性的东西,less是一个不错的选择。

31. tail 命令

cat类似,tail打印文件内容时有一个主要警告:它只输出最后几行。默认情况下,它打印最后10行,但您可以使用-n修改该数字。

例如,要打印大型文本文件的最后几行,可以使用:

tail long.txt

tail命令

tail命令.

要仅查看最后四行,请执行以下操作:

tail -n 4 long.txt

tail命令尾四行

tail命令尾四行.

32. head 命令

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

head long.txt
head -n 5 long.txt

head命令

head命令.

33. grep 命令

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

grep “linux” long.txt

grep命令

grep命令.

您可以使用-c标志计算与给定条件匹配的次数:

grep -c “linux” long.txt
# 2

34. whoami 命令

该命令(who am I的缩写)显示当前使用的whoami用户名:

whoami
# wbolt

使用echo和环境变量$USER可以得到相同的结果:

echo $USER
# wbolt

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 name的缩写)打印可操作的系统信息,当您知道当前的Linux版本时,这些信息很方便。

大多数情况下,您将使用-a(–all)标志,因为默认输出没有那么有用:

uname
# Linux
uname -a
# Linux wboltmanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux

38.neofetch 命令

Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件:

neofetch

neofetch命令

neofetch命令

在大多数计算机中,此命令在默认情况下不可用,因此请确保首先使用package管理器安装它。

39.find 命令

find命令根据regex表达式在目录层次结构中搜索文件。要使用它,请遵循以下语法:

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(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。

以下是您如何从GitHub获取一个Python文件:

wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py

Linux命令备忘单

每当您想要快速参考时,只需查看下表:

命令 用法
ls 列出目录的内容
alias 定义或显示别名
unalias 删除别名定义
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 从互联网检索文件

小结

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

Linux的一个显著之处在于,即使您是经验丰富的用户,您也永远不会停止学习使用它提高工作效率。

有更多有用的Linux命令。如果我们遗漏了一些东西,请在下面的评论中分享您最喜爱的Linux 命令!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/296871.html

(0)
上一篇 2023年7月17日
下一篇 2023年7月18日

相关推荐

发表回复

登录后才能评论