你必须知道的 50 多个 Linux 命令你必须知道的 50 多个 Linux 命令你必须知道的 50 多个 Linux 命令你必须知道的 50 多个 Linux 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

你必须知道的 50 多个 Linux 命令

定期使用 Linux 命令?今天我们来看看你必须知道的 50 多个 Linux 命令!下面列出的命令是一些最有用和最常用的 Linux 命令。让我们开始吧!

普通用户必须知道的 50 大 Linux 命令

  1. ls - Linux 中最常用的列出目录的命令
  2. pwd - 在 Linux 中打印工作目录命令
  3. cd - 用于浏览目录的 Linux 命令
  4. mkdir - 用于在 Linux 中创建目录的命令
  5. mv - 在 Linux 中移动或重命名文件
  6. cp - 与 mv 类似,但用于在 Linux 中复制文件
  7. rm - 删除文件或目录
  8. 触摸 - 创建空白/空文件
  9. ln - 创建指向其他文件的符号链接(快捷方式)
  10. cat - 在终端显示文件内容
  11. clear - 清除终端显示
  12. echo - 打印命令后的任何文本
  13. less - 在终端中显示分页输出的 Linux 命令
  14. man - 访问所有 Linux 命令的手册页
  15. uname - 获取操作系统基本信息的 Linux 命令
  16. whoami - 获取活动用户名
  17. tar - 在 Linux 中提取和压缩文件的命令
  18. grep - 在输出中搜索字符串
  19. head - 从顶部返回指定行数
  20. tail - 从底部返回指定行数
  21. diff - 找出两个文件之间的差异
  22. cmp - 允许您检查两个文件是否相同
  23. comm - 结合了 diff 和 cmp 的功能
  24. sort - 用于在输出时对文件内容进行排序的 Linux 命令
  25. export - 在 Linux 中导出环境变量
  26. zip - Linux 中的 Zip 文件
  27. unzip - 在 Linux 中解压文件
  28. ssh - Linux 中的安全 Shell 命令
  29. service - 用于启动和停止服务的 Linux 命令
  30. ps - 显示活动进程
  31. kill 和 killall - 按进程 ID 或名称杀死活动进程
  32. df - 显示磁盘文件系统信息
  33. mount - 在 Linux 中挂载文件系统
  34. chmod - 更改文件权限的命令
  35. chown - 授予文件或文件夹所有权的命令
  36. ifconfig - 显示网络接口和 IP 地址
  37. traceroute - 跟踪所有网络跃点以到达目的地
  38. wget - 直接从互联网下载文件
  39. ufw - 防火墙命令
  40. iptables - 所有其他防火墙实用程序与之交互的基本防火墙
  41. apt、pacman、yum、rpm - 取决于发行版的包管理器
  42. sudo - 在 Linux 中提升权限的命令
  43. cal - 查看命令行日历
  44. alias - 为您常用的命令创建自定义快捷方式
  45. dd - 主要用于创建可启动 U 盘
  46. whereis - 找到命令的二进制文件、源代码和手册页
  47. whatis - 找出命令的用途
  48. top - 查看活动进程及其系统使用情况
  49. useradd 和 usermod - 添加新用户或更改现有用户数据
  50. passwd - 为现有用户创建或更新密码

现在让我们更深入地研究这些命令中的每一个,并更详细地理解它们。对于这些单独的命令,我们已经有很多现有的文章。为了您的方便,我们将添加指向所有现有文章的链接,并在涵盖新主题时继续更新文章。

Linux 中的 ls 命令

ls 命令用于列出当前工作目录中的文件和目录。这将是您必须知道的最常用的 Linux 命令之一。

正如您在上图中看到的,不带任何参数单独使用命令将为我们提供包含目录中所有文件和目录的输出。该命令在显示输出中的数据方面提供了很大的灵活性。

了解有关 ls 命令的更多信息(链接到全文)

Linux 中的 pwd 命令

pwd 命令允许您在终端上打印当前工作目录。这是一个非常基本的命令,很好地解决了它的目的。

现在,你的终端提示通常应该有完整的目录。但如果没有,这可以是一个快速命令来查看您所在的目录。此命令的另一个应用是在创建脚本时,此命令可以让我们找到保存脚本的目录。

Linux 中的 cd 命令

在终端内工作时,在目录内移动几乎是必要的。 cd 命令是您必须知道的重要 Linux 命令之一,它将帮助您浏览目录。只需键入 cd,然后键入目录,如下所示。

root@ubuntu:~# cd <directory path>

正如您在上面的命令中看到的,我只是键入 cd /etc/ 进入 /etc 目录。我们使用 pwd 命令打印当前工作目录。

Linux 中的 mkdir 命令

mkdir 命令允许您从终端内创建目录。默认语法是 mkdir 后跟目录名。

root@ubuntu:~# mkdir <folder name>

正如您在上面的屏幕截图中看到的,我们仅使用这个简单的命令就创建了 JournalDev 目录。

了解有关 mkdir 命令的更多信息(文章链接)

cp 和 mv 命令

cp 和 mv 命令等同于 Windows 中的复制粘贴和剪切粘贴。但由于 Linux 并没有真正的重命名文件的命令,我们也使用 mv 命令来重命名文件和文件夹。

root@ubuntu:~# cp <source> <destination>

在上面的命令中,我们创建了一个名为 Sample 的文件的副本。让我们看看如果我们以相同的方式使用 mv 命令会发生什么。对于此演示,我将删除 Sample-Copy 文件。

root@ubuntu:~# mv <source> <destination

在上面的例子中,因为我们在同一个目录中移动文件,所以它起到了重命名的作用。文件名现已更改。

了解有关 mv 命令的更多信息(文章链接)。

Linux 中的 rm 命令

在上一节中,我们删除了 Sample-Copy 文件。 rm命令用于删除文件和文件夹,是你必须知道的重要Linux命令之一。

root@ubuntu:~# rm <file name>
root@ubuntu:~# rm -r <folder/directory name>

要删除目录,您必须向它添加 -r 参数。没有 -r 参数,rm 命令不会删除目录。

Linux 中的触摸命令

要创建新文件,将使用 touch 命令。 touch 关键字后跟文件名将在当前目录中创建一个文件。

root@ubuntu:~# touch <file name>

Linux 中的 ln 命令

要创建到另一个文件的链接,我们使用 ln 命令。如果您打算担任 Linux 管理员,这是您应该知道的重要 Linux 命令之一。

root@ubuntu:~# ln -s <source path> <link name>

基本语法涉及使用 -s 参数,因此我们可以创建符号链接或软链接。

cat、echo 和 less 命令

当您想要输出文件的内容,或将任何内容打印到终端输出时,我们使用 cat 或 echo 命令。让我们看看它们的基本用法。我在我们之前创建的新文件中添加了一些文本。

root@ubuntu:~# cat <file name>
root@ubuntu:~# echo <Text to print on terminal>

正如你在上面的例子中看到的,在我们的 \New-File 上使用 cat 命令时,打印文件的内容。同时,当我们使用 echo 命令时,它只是打印命令后面的内容。

当任何命令打印的输出大于屏幕空间并且需要滚动时,使用 less 命令。 less 命令允许使用 enter 或 space 键分解输出并滚动浏览它。

执行此操作的简单方法是使用管道运算符 (|)。

root@ubuntu:~# cat /boot/grub/grub.cfg  | less

了解有关 cat 命令的更多信息(文章链接)。

Linux 中的 man 命令

man命令是你必须知道的一个非常有用的Linux命令。在使用 Linux 时,我们下载的包可以具有很多功能。知道这一切是不可能的。

手册页提供了一种非常有效的方式来了解您可以使用 Linux 发行版中的包管理器下载的几乎所有包的功能。

root@ubuntu:~# man <command>

uname 和 whoami 命令

uname 和 whoami 命令让您了解一些基本信息,当您在多个系统上工作时,这些信息非常有用。一般来说,如果您只使用一台计算机,您就不会像网络管理员那样经常需要它。

让我们看看这两个命令的输出以及我们可以使用它们的方式。

root@ubuntu:~# uname -a

我提供给 uname 的参数 -a 代表 \all。这会打印出完整的信息。如果不添加该参数,您将得到的输出是 \Linux。

tar、zip 和 unzip 命令

Linux 中的 tar 命令用于在 Linux 中创建和提取归档文件。我们可以使用 tar 命令提取多个不同的归档文件。

要创建存档,我们使用 -c 参数并提取存档,我们使用 -x 参数。让我们看看它的工作。

#Compress
root@ubuntu:~# tar -cvf <archive name> <files seperated by space>
#Extract
root@ubuntu:~# tar -xvf <archive name>

在第一行中,我们使用 New-File 和 New-File-Link 创建了一个名为 Compress.tar 的存档。在下一个命令中,我们从存档中提取了这些文件。

现在进入 zip 和 unzip 命令。这两个命令都非常简单。您可以在没有任何参数的情况下使用它们,它们将按预期工作。让我们看下面的例子。

root@ubuntu:~# zip <archive name> <file names separated by space>
root@ubuntu:~# unzip <archive name>

由于我们已经将这些文件放在同一目录中,解压缩命令会在覆盖这些文件之前提示我们。

了解有关 zip 和 unzip 命令的更多信息(文章链接)

Linux 中的 grep 命令

如果您希望在输出中搜索特定字符串,可以使用 grep 命令。我们可以通过管道 (|) 将输出传输到 grep 命令并提取所需的字符串。

root@ubuntu:~# <Any command with output> | grep "<string to find>"

这是命令的简单演示。了解有关 grep 命令的更多信息(文章链接)

头部和尾部命令

输出大文件时,head 和 tail 命令就派上用场了。我创建了一个名为 \Words 的文件,里面有很多按字母顺序排列的单词。head 命令将输出文件的前 10 行,而 tail 命令将输出最后 10 行。这也包括任何空行而不仅仅是文本行。

root@ubuntu:~# head <file name>
root@ubuntu:~# tail <file name>

如您所见,head 命令显示了从文件顶部算起的 10 行。

tail 命令输出文件的最后 10 行。

了解有关 tail 命令的更多信息(文章链接)

diff、comm 和 cmp 命令

Linux 提供了多个命令来比较文件。 diff、comm 和 cmp 命令比较差异,是您必须知道的一些最有用的 Linux 命令。让我们看看所有三个命令的默认输出。

root@ubuntu:~# diff <file 1> <file 2>

正如你在上面看到的,我在 New-File-Edited 文件中添加了一小段文字,上面写着“This line is edited”。

root@ubuntu:~# cmp <file 1> <file 2>

cmp 命令只告诉使用不同的行号。不是实际的文本。让我们看看 comm 命令的作用。

root@ubuntu:~# comm <file 1> <file2>

左对齐的文本是仅存在于文件 1 中的文本。居中对齐的文本仅存在于文件 2 中。右对齐的文本存在于两个文件中。

从外观上看,当我们尝试比较较大的文件并希望将所有内容排列在一起时,comm 命令最有意义。

Linux 中的排序命令

排序命令将提供文件内容的排序输出。让我们使用不带任何参数的排序命令并查看输出。

排序命令的基本语法是:

root@ubuntu:~# sort <filename>

Linux 中的导出命令

导出命令专门用于在运行时导出环境变量。例如,如果我想更新 bash 提示符,我将更新 PS1 环境变量。 bash 提示将立即更新。

root@ubuntu:~# export <variable name>=<value>

如果出于某种原因,您的 bash 提示符没有更新,只需输入 bash,您应该会看到更新后的终端提示符。

了解有关导出命令的更多信息(文章链接)

Linux 中的 ssh 命令

ssh 命令允许我们使用 ssh 协议连接到网络上的外部机器。 ssh 命令的基本语法是:

root@ubuntu:~ -->> ssh username@hostname

了解有关 ssh 命令的更多信息(文章链接)

Linux中的服务命令

Linux 中的服务命令用于启动和停止操作系统中的不同服务。命令的基本语法如下。

root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start 

正如您在图中看到的,ssh 服务器正在我们的系统上运行。

ps、kill 和 killall 命令

当我们讨论进程的主题时,让我们看看如何找到活动进程并杀死它们。要查找正在运行的进程,我们只需在终端提示符中键入 ps 并获取正在运行的进程列表。

root@ubuntu:~ -->> ps 
root@ubuntu:~ -->> kill <process ID>
root@ubuntu:~ -->> killall <process name>

出于演示目的,我正在创建一个带有无限循环的 shell 脚本,并将在后台运行它。

通过使用 & 符号,我可以将进程传递到后台。如您所见,创建了一个 PID 为 14490 的新 bash 进程。

现在,要使用 kill 命令终止进程,您可以键入 kill,然后输入进程的 PID。

但是,如果您不知道进程 ID,而只想杀死具有该名称的进程,则可以使用 killall 命令。

您会注意到 PID 14490 保持活动状态。那是因为我两次都杀死了睡眠过程。

了解有关 ps 命令的更多信息(文章链接)。

df 和 mount 命令

使用 Linux 时,df 和 mount 命令是挂载文件系统和获取文件系统详细信息的非常有效的实用程序。

当我说挂载时,这意味着我们会将设备连接到一个文件夹,以便我们可以从我们的文件系统访问文件。挂载文件系统的默认语法如下:

root@ubuntu:~ -->> mount /dev/cdrom /mnt
root@ubuntu:~ -->> df -h

在上面的例子中,/dev/cdrom 是需要挂载的设备。通常,可以在 /dev 文件夹中找到可安装的设备。 /mnt 是要将设备安装到的目标文件夹。您可以将其更改为您想要的任何文件夹,但我使用 /mnt 因为它几乎是用于安装设备的系统默认文件夹。

要查看已安装的设备并获取有关它们的更多信息,我们使用 df 命令。只需键入 df 就会为我们提供不可读的字节数据。所以我们将使用 -h 参数使数据易于阅读。

了解有关 df 命令的更多信息(文章链接)

chmod 和 chown 命令

chmod 和 chown 命令为我们提供了更改文件权限和文件所有权的功能,这是您应该了解的最重要的 Linux 命令。

这两个命令的功能主要区别在于chmod命令允许更改文件权限,而chown允许我们更改文件所有者。

这两个命令的默认语法是 chmod filename 和 chown user:group filename

root@ubuntu:~ -->> chmod +x loop.sh
root@ubuntu:~ -->> chmod root:root loop.sh

在上面的示例中,我们使用 chmod 命令向 loop.sh 文件添加了可执行权限。除此之外,通过 chown 命令,我们使其只能由 root 用户和 root 组内的用户访问。

您会注意到,root root 部分现在更改为 www-data,这是具有完整文件所有权的新用户。

了解有关 chown 命令的更多信息(文章链接)

ifconfig 和 traceroute 命令

转到 Linux 中的网络部分,我们遇到了 ifconfig 和 traceroute 命令,如果您管理网络,这些命令将经常使用。

ifconfig 命令将为您提供所有网络接口的列表以及 IP 地址、MAC 地址和有关接口的其他信息。

root@ubuntu:~ -->> ifconfig

可以使用多个参数,但我们将在此处使用基本命令。

使用 traceroute 时,您可以简单地指定端点的 IP 地址、主机名或域名。

root@ubuntu:~ -->> traceroute <destination address>

现在很明显,localhost 只是一个跃点(即网络接口本身)。您可以使用任何其他域名或 IP 地址尝试执行相同的命令,以查看您的数据包到达目的地所经过的所有路由器。

了解有关 ifconfig 命令的更多信息(文章链接)

Linux 中的 wget 命令

如果您想从终端下载文件,wget 命令是可用的最方便的命令行实用程序之一。这将是您在使用源文件时应该知道的重要 Linux 命令之一。

当您指定下载链接时,它必须直接是文件的链接。如果 wget 命令无法访问该文件,它只会下载 HTML 格式的网页,而不是您想要的实际文件。

让我们举个例子。 wget 命令的基本语法是:

root@ubuntu:~ -->> wget <link to file>
OR
root@ubuntu:~ -->> wget -c <link to file>

-c 参数允许我们恢复中断的下载。

ufw 和 iptables 命令

UFW 和 IPTables 是 Linux 内核的 netfilter 防火墙的防火墙接口。 IPTables 直接将防火墙规则传递给 netfilter,而 UFW 在 IPTables 中配置规则,然后将这些规则发送给 netfilter。

当我们有 IPTables 时,为什么我们需要 UFW?因为 IPTables 对于新手来说相当困难。 UFW 让事情变得非常简单。请参阅下面的示例,我们正在尝试为我们的网络服务器允许端口 80。

root@ubuntu:~# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
root@ubuntu:~# ufw allow 80

我相信你现在知道为什么要创建 UFW 了!看看语法变得多么简单。这两种防火墙都非常全面,可以让您创建网络所需的任何类型的配置。至少了解 UFW 或 IPTables 防火墙的基础知识,因为这些是您必须知道的 Linux 命令。

了解更多在 Linux 上打开端口(链接到文章)

Linux 中的包管理器

不同的 Linux 发行版使用不同的包管理器。因为我们在 Ubuntu 服务器上工作,所以我们有 apt 包管理器。但是对于在 Fedora、Red Hat、Arch 或 Centos 机器上工作的人来说,包管理器会有所不同。

  • Debian 和基于 Debian 的发行版 - apt install
  • Arch 和基于 Arch 的发行版 - pacman -S
  • Red Hat 和基于 Red Hat 的发行版 - yum install
  • Fedora 和 CentOS - yum install

从长远来看,让自己精通发行版的包管理器会让事情变得更容易。因此,即使您安装了基于 GUI 的包管理工具,在继续使用 GUI 实用程序之前,请尝试使用基于 CLI 的工具。将这些添加到您必须知道的 Linux 命令列表中。

Linux 中的 sudo 命令

\“能力越大,责任越大”

这是启用 sudo 的用户 (sudoer) 首次使用 sudo 命令提升权限时显示的引号。此命令等同于以 root 身份登录(基于您作为 sudoer 拥有的权限)。

non-root-user@ubuntu:~# sudo <command you want to run>
Password: 

只需在您需要以升级权限运行的任何命令之前添加单词 sudo 即可。它使用起来非常简单,但如果恶意用户获得对 sudoer 的访问权限,也可能会增加安全风险。

了解有关 sudo 命令的更多信息(文章链接)

Linux 中的 cal 命令

曾经想在终端中查看日历吗?我也不!但显然有人希望它发生,而且它就在这里。

cal 命令在终端上显示精美的日历。只需在终端提示符下输入 cal 即可。

root@ubuntu:~# cal
root@ubuntu:~# cal May 2019

虽然我不需要它,但它真的很酷!我敢肯定有些人是终端粉丝,这对他们来说是一个非常棒的选择。

别名命令

您在使用终端时是否有一些非常频繁地运行的命令?它可以是 rm -r 或 ls -l,也可以是像 tar -xvzf 这样更长的东西。这是您必须知道的提高生产力的 Linux 命令之一。

如果您知道经常运行的命令,那么是时候创建一个别名了。什么是别名?简单来说,它是您定义的命令的另一个名称。

root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"

现在,每次在终端中输入 lsl 或 rmd 时,您都会收到使用完整命令时会收到的输出。

此处的示例适用于非常小的命令,您仍然可以每次手动输入这些命令。但在某些情况下,您需要键入的命令有太多参数,最好创建一个速记版本。

了解有关别名命令的更多信息(文章链接)

Linux 中的 dd 命令

创建此命令是为了转换和复制来自多种文件系统格式的文件。目前,该命令仅用于为 Linux 创建可启动 USB,但您仍然可以使用该命令做一些重要的事情。

例如,如果我想将整个硬盘原样备份到另一个驱动器,我将使用 dd 命令。

root@ubuntu:~# dd if = /dev/sdb of = /dev/sda

if 和 of 参数代表输入文件和输出文件。

whereis 和 whatis 命令

命令的名称使其功能一目了然。但是让我们展示它们的功能以使事情更清楚。

whereis 命令将输出您在 whereis 命令后键入的任何命令的确切位置。

root@ubuntu:~# whereis sudo
sudo: /usr/bin/sudo /usr/lib/sudo /usr/share/man/man8/sudo.8.gz

whatis 命令向我们解释了命令实际上是什么。与 whereis 命令类似,您将收到在 whatis 命令后键入的任何命令的信息。

root@ubuntu:~# whatis sudo
sudo (8) - execute a command as another user

Linux中的top命令

在前面的几节中,我们讨论了 ps 命令。您观察到 ps 命令将输出活动进程并自行结束。

top 命令就像 Windows 中任务管理器的 CLI 版本。您可以实时查看进程以及伴随这些进程的所有信息,例如内存使用情况、CPU 使用情况等。

要获得 top 命令,您需要做的就是在终端中输入单词 top。

useradd 和 usermod 命令

useradd 或 adduser 命令是完全相同的命令,其中 adduser 只是指向 useradd 命令的符号链接。这个命令允许我们在 Linux 中创建一个新用户。

root@ubuntu:~# useradd JournalDev -d /home/JD

上面的命令将创建一个名为 JournalDev 的新用户,主目录为 /home/JD。

另一方面,usermod 命令用于修改现有用户。您可以修改用户的任何值,包括组、权限等。

例如,如果你想给用户添加更多的组,你可以输入:

root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql

详细了解如何在 Linux 上创建和管理用户(文章链接)

Linux 中的 passwd 命令

现在您知道如何创建新用户,让我们也为他们设置密码。 passwd 命令允许您为自己的帐户设置密码,或者如果您有权限,可以为其他帐户设置密码。

命令用法非常简单:

root@ubuntu:~# passwd
New password: 

如果在passwd后面加上username,就可以为其他用户设置密码。输入新密码两次,你就完成了。就是这样!您将为用户设置一个新密码!

最后说明

这恰好是一篇很长的文章,但我相信您可以在需要时参考。随着我们向 JournalDev 添加更多文章,我们将继续在此处添加指向这些文章的链接。

我们希望这篇文章对您有用。如果您有任何疑问,请随时在下方发表评论。

©2015-2025 艾丽卡 support@alaica.com