让我们开始吧!
作为普通用户你必须知道的 50 条 Linux 命令
- ls – Linux 中最常用的列出目录的命令
- pwd -Linux 中的打印工作目录命令
- cd——用于浏览目录的 Linux 命令
- mkdir – Linux 中用于创建目录的命令
- mv——在 Linux 中移动或重命名文件
- cp – 与 mv 用法类似,但用于在 Linux 中复制文件
- rm——删除文件或目录
- touch——创建空白/空文件
- ln——创建到其他文件的符号链接(快捷方式)
- clear——清除终端显示
- cat—在终端上显示文件内容
- echo——打印命令后面的任何文本
- less – 在终端中显示分页输出的 Linux 命令
- man — 访问所有 Linux 命令的手册页
- uname – Linux 命令用于获取有关操作系统的基本信息
- whoami – 获取活跃用户名
- tar – 在 Linux 中提取和压缩文件的命令
- grep——在输出中搜索字符串
- head – 返回从顶部开始的指定行数
- tail – 返回从底部开始的指定行数
- diff——查找两个文件之间的差异
- cmp – 允许您检查两个文件是否相同
- comm – 结合 diff 和 cmp 的功能
- sort – Linux 命令,用于在输出时对文件内容进行排序
- export——在Linux中导出环境变量
- zip – Linux 中的 Zip 文件
- unzip——在 Linux 中解压缩文件
- ssh ——Linux 中的安全 Shell 命令
- service——用于启动和停止服务的 Linux 命令
- ps——显示活动进程
- kill 和 killall – 根据进程 ID 或名称终止活动进程
- df—显示磁盘文件系统信息
- mount – 在 Linux 中挂载文件系统
- chmod——更改文件权限的命令
- chown – 授予文件或文件夹所有权的命令
- ifconfig——显示网络接口和 IP 地址
- traceroute – 跟踪到达目的地的所有网络跳数
- wget——直接从互联网下载文件
- ufw-防火墙命令
- iptables – 所有其他防火墙实用程序与之交互的基础防火墙
- apt、pacman、yum、rpm – 取决于发行版的包管理器
- sudo ——Linux 中提升权限的命令
- cal—查看命令行日历
- 别名 –为您经常使用的命令创建自定义快捷方式
- dd – 主要用于创建可启动的 USB 驱动器
- whereis – 找到命令的二进制文件、源代码和手册页
- whatis – 查找命令的用途
- top – 实时查看活动进程及其系统使用情况
- useradd 和 usermod – 添加新用户或更改现有用户数据
- passwd——为现有用户创建或更新密码
现在让我们更深入地了解每个命令,并更详细地了解它们。我们已经为每个单独的命令准备了大量现有文章。为了您的方便,我们将添加所有现有文章的链接,并在涵盖新主题时继续更新文章。
ls
Linux中的命令
该ls
命令用于列出当前工作目录中的文件和目录。这将是您必须知道的最常用的 Linux 命令之一。
如上图所示,单独使用该命令而不使用任何参数将输出目录中的所有文件和目录。该命令在输出中显示数据方面提供了很大的灵活性。
了解有关使用ls
命令的更多信息
pwd
Linux中的命令
该pwd
命令允许您在终端上打印当前工作目录。这是一个非常基本的命令,并且很好地解决了其目的。
现在,您的终端提示符通常应该有完整的目录。但如果没有,这可以是一个快速命令来查看您所在的目录。此命令的另一个应用是在创建脚本时,此命令可以让我们找到保存脚本的目录。
cd
Linux中的命令
在终端中工作时,在目录中移动几乎是必需的。 cd 命令是您必须知道的重要 Linux 命令之一,它将帮助您浏览目录。只需键入,cd
然后输入目录,如下所示。
正如您在上面的命令中看到的,我只需输入cd /etc/
即可进入 /etc 目录。我们使用该pwd
命令打印当前工作目录。
mkdir
Linux中的命令
该mkdir
命令允许您在终端内创建目录。
正如您在上面的屏幕截图中看到的,我们仅使用这个简单的命令就创建了 JournalDev 目录。
和命令cp
mv
cp
和命令mv
相当于 Windows 中的复制粘贴和剪切粘贴命令。但由于 Linux 实际上没有用于重命名文件的命令,因此我们也使用该mv
命令来重命名文件和文件夹。
mv
在上面的命令中,我们创建了一个名为 Sample 的文件的副本。让我们看看如果我们以相同的方式使用该命令会发生什么。
在上述情况下,由于我们在同一目录中移动文件,因此它充当了重命名。文件名现在已更改。
rm
Linux中的命令
在上一节中,我们删除了 Sample-Copy 文件。rm 命令用于删除文件和文件夹,是您必须知道的重要 Linux 命令之一。
要删除目录,必须添加参数-r
。如果没有参数-r
,该rm
命令将不会删除目录。
-r
Linux 中该命令的标志代表rm
“递归”。与该命令一起使用时rm
,它不仅会删除指定的文件,还会递归地删除其所有子目录以及这些子目录中的文件。
注意:rm
使用带有标志的命令时务必小心-r
,因为它可以快速永久地删除大量文件和目录。最好将该-i
标志与标志结合使用-r
,它会在删除每个文件和目录之前提示您确认。
例如,要删除mydir
目录及其内容并进行确认,可以使用以下命令:
在删除目录内的每个文件和目录之前,这将提示您确认mydir
。
touch
Linux中的命令
Linux中的命令touch
创建一个空文件或者更新一个现有文件的时间戳。
ln
Linux中的命令
要创建指向另一个文件的链接,我们使用ln
命令。如果您打算担任 Linux 管理员,这是您应该知道的最重要的 Linux 命令之一。
此 -s
标志会创建指向文件或目录的符号链接(也称为符号链接或软链接)。符号链接是一种特殊类型的文件,可充当指向另一个文件或目录的快捷方式或指针。
默认情况下,该ln
命令将创建硬链接而不是符号或软链接。
注意:假设您有一个文本文件。如果您为该文件创建符号链接,则该链接只是指向原始文件的指针。如果您删除原始文件,该链接将被破坏,因为它不再指向任何内容。
硬链接是原始文件的镜像副本,内容完全相同。与符号链接一样,如果您编辑原始文件的内容,这些更改将反映在硬链接中。但是,如果您删除原始文件,硬链接仍将起作用,您可以像查看原始文件的普通副本一样查看和编辑它。
了解有关软链接和硬链接的更多信息。
clear
Linux中的命令
Linux 中的命令clear
会清除终端屏幕。它会删除当前显示在终端上的所有文本和输出,并为您提供一个干净的工作界面。
以下是如何使用该命令的示例clear
:
这将清除终端屏幕并将光标移动到屏幕的左上角。
您还可以将该clear
命令与其他命令组合使用,如下所示:
这将列出当前目录中的文件和目录,然后清除终端屏幕。
注意:该clear
命令不会从系统中删除任何文件或数据。它只会影响终端的显示。
、和命令cat
echo
less
当你想输出文件内容或将任何内容打印到终端输出时,我们使用cat
或echo
命令。让我们看看它们的基本用法。
如上例所示,cat
命令在用于时New-File
会打印文件内容。同时,当我们使用echo
命令时,它只会打印命令后面的内容。
less
当任何命令打印的输出大于屏幕空间且需要滚动时,使用此命令。此命令less
允许用户分解输出并使用 Enter 或空格键滚动查看。
简单的方法是使用管道运算符 ( |
)。
注意:使用-S
标志less
启用换行。这样您就可以查看长行文本而无需水平滚动。
使用-N
标志 withless
显示行号。当您需要知道特定文本的行号时,这很有用。
您可以按照以下方式使用这些有用的标志:
在许多不同情况下,使用less
管道运算符很有用。以下是几个示例:
- 查看长时间运行的命令的输出,例如
top
或htop
。 - 在命令输出中搜索特定文本,例如
grep
或cat
。
man
Linux中的命令
该man
命令是一个非常有用的 Linux 命令,必须知道。在使用 Linux 时,我们下载的软件包可能具有很多功能。了解所有这些功能是不可能的。
Linux 中的命令man
用于显示特定命令的手册页。它提供有关该命令的详细信息,包括其语法、选项和示例。
以下是如何使用该命令的示例man
:
- 打开终端并输入
man ls
以显示该命令的手册页ls
。
这将显示如下所示的页面:
和命令uname
whoami
和命令允许您访问一些基本信息uname
,whoami
这些信息在您使用多个系统时非常有用。
Linux中的命令uname
显示系统内核的信息,包括内核名称、主机名、内核发行版、内核版本和机器硬件名称。
Linux 中的命令whoami
返回当前用户的用户名。它代表“我是谁?”,通常用于在 shell 脚本或终端中确定当前用户的身份。
让我们看看这两个命令的输出以及如何使用它们。
-a
命令中的参数uname
代表“all”。这将打印出完整的信息。如果不添加参数,则输出的内容只有“Linux”。
注意:您可以将一些重要的标志与uname
命令一起使用。
- 用于
uname -s
显示内核名称。 - 用于
uname -n
显示主机名。 - 用于
uname -r
显示内核版本。 - 用于
uname -v
显示内核版本。 - 用于
uname -m
显示机器硬件名称。
、和命令tar
zip
unzip
Linux中的命令tar
用于创建和提取归档文件。我们可以使用该tar
命令提取多个不同的归档文件。
要创建档案,我们使用参数-c
;要提取档案,我们使用参数-x
。让我们看看它是如何工作的。
在第一行中,我们使用 New-File 和 New-File-Link 创建了一个名为Compress.tar的档案。在下一个命令中,我们从档案中提取了这些文件。
让我们讨论一下zip
和unzip
命令。两者都非常简单。您可以在不使用任何参数的情况下使用它们,它们会按预期工作。让我们看下面的一个例子。
由于我们已经在同一个目录中拥有这些文件,因此命令unzip
在覆盖这些文件之前会提示我们。
grep
Linux中的命令
该grep
命令是Linux和Unix操作系统中功能强大且用途广泛的文本搜索工具。它可以在一个或多个文件中搜索特定的模式或字符串,并过滤其他命令的输出。
该grep
命令代表“全局正则表达式打印”,反映了其跨多行和文件搜索正则表达式的能力。
这是命令的简单演示。了解有关grep 命令的更多信息。
和命令head
tail
输出大型文件时,head
和tail
命令非常有用。这两个命令分别显示文件的开头或结尾。它们通常用于快速查看文件内容,而无需在文本编辑器中打开它。
和head
命令tail
默认显示文件的前 10 行。要显示不同的行数,可以使用选项-n
,后跟要显示的行数。
head
以下是使用和命令的示例tail
:
如您所见,head 命令显示了文件顶部的 10 行。
tail 命令输出文件最后 10 行。
这些命令可用于快速查看文件的内容、监控实时更新以解决问题、过滤其他命令的输出以及执行日志分析。
、和命令diff
comm
cmp
diff
、comm
和命令cmp
均用于在 Linux 和基于 Unix 的操作系统中比较文件。这些命令可用于识别两个文件之间的差异、合并更改以及执行其他文件比较任务。
正如您上面看到的,我们在 New-File-Edited 文件中添加了一小段文字“此行已编辑”。
该cmp
命令用于比较两个文件并显示它们之间第一个不同的字节。它可用于识别二进制文件之间的差异或检查文件中的损坏情况。
该cmp
命令仅告诉我们行号,这是不同的。 而不是实际的文本。
该comm
命令用于比较两个已排序的文件,并显示每个文件所特有的行以及两个文件所共有的行。
左对齐的文本仅出现在 中file 1
。居中对齐的文本仅出现在 中file 2
。右对齐的文本在两个文件中都存在。
从外观上看,comm
当我们尝试比较较大的文件并希望看到所有内容排列在一起时,命令最有意义。
这三个命令都是在 Linux 和基于 Unix 的操作系统中处理文件的必备工具。通过了解如何有效地使用diff
、comm
和cmp
命令,您可以识别文件之间的差异、合并更改并执行其他文件比较任务。
这些命令可以帮助您识别和解决文件问题,以及跟踪更改和维护版本控制。无论您是开发人员还是系统管理员,这些命令都是您的工具包中不可或缺的一部分。
sort
Linux中的命令
该sort
命令用于在 Linux 和 Unix 操作系统中对文本文件或标准输入中的行进行排序。它可用于按升序或降序对行进行排序,并执行其他排序操作,例如按字段排序或使用自定义排序顺序。
该命令的基本语法sort
是:
默认情况下,该sort
命令按ASCII 排序顺序对行进行排序,这在对数字或特殊字符进行排序时可能会导致意外结果。要按数字顺序对数字进行排序,可以使用该-n
选项。
以下是使用该选项的示例-n
:
上述命令将按file.txt
数字顺序对行进行排序。
该sort
命令还可以用于使用选项根据特定字段对行进行排序-k
。
以下是使用该选项的示例-k
:
file.txt
此命令将根据第二个字段对行进行排序。
该sort
命令是 Linux 和 Unix 操作系统中处理文本文件的强大而灵活的工具。通过了解如何sort
有效地使用该命令,您可以对文本文件中的行进行排序、根据特定字段对行进行排序以及执行其他排序操作。
这些命令可以帮助您组织和分析数据以及执行其他文件操作任务。无论您是开发人员还是系统管理员,该sort
命令都是您的工具包中不可或缺的一部分。
export
Linux中的命令
Linux 和 Unix 操作系统中的命令export
用于设置环境变量。环境变量用于存储进程或命令可以使用的信息。
一旦设置了环境变量,同一 shell 中运行的任何进程或命令都可以访问它。
环境变量可用于存储各种信息,例如配置设置、用户偏好或系统信息。
以下是使用该命令的示例export
:
了解有关export
命令的详细信息
ssh
Linux中的命令
ssh
Linux 和 Unix 操作系统中的该命令用于与远程服务器建立安全 shell 连接。该命令在本地和远程服务器之间提供安全加密连接,使用户可以安全地运行命令和传输文件。
该命令的基本语法ssh
是:
此命令ssh
与remote-server
使用该username
帐户建立连接。
该ssh
命令支持多种选项和配置,包括:
- 配置身份验证方法(密码、公钥等)
- 配置加密算法
- 配置压缩
- 配置端口转发
- 配置 X11 转发
- 配置 SSH 密钥
service
Linux中的命令
Linux 中的命令service
用于管理系统服务,这些服务是启动时启动并在后台运行的长时间运行的进程。这些服务负责提供各种系统功能,例如网络、数据库管理和用户身份验证。
该命令用于启动、停止、重新启动和检查这些服务的状态。它是用于管理服务管理器的命令service
的前端。systemctl
systemd
该命令的基本语法如下。
正如您在图中所看到的,ssh
服务器正在我们的系统上运行。
、和命令ps
kill
killall
、、和ps
命令均用于管理Linux中的进程。kill
killall
该ps
命令用于显示系统上当前正在运行的进程的信息。以下是使用该ps
命令的一些示例:
显示所有正在运行的进程的列表:
显示特定进程 ID(PID)的所有进程列表:
让我们看看这一切的实际效果:
为了演示目的,我们将创建一个具有无限循环的 shell 脚本并在后台运行它。
利用该&
符号,我们可以将进程传递到后台。如你所见,一个新的 bash 进程被创建了,PID 为 14490。
现在,要使用命令终止一个进程kill
,您可以键入kill
该进程的 PID(进程 ID)。
但是如果你不知道进程ID而只是想杀死具有名称的进程,那么你可以使用killall命令。
您会注意到 PID14490
保持活动状态。这是因为我们两次都终止了睡眠进程。
了解有关ps
命令和kill
命令的更多信息。
和命令df
mount
在使用 Linux 时,df
和mount
命令是挂载文件系统和获取文件系统详细信息的非常有效的实用程序。
该df
命令用于显示文件系统上已使用和可用的磁盘空间量,该mount
命令用于将文件系统或设备挂载到特定目录。
当我们说 时mount
,这意味着我们将设备连接到一个文件夹,以便我们可以从文件系统访问文件。挂载文件系统的默认语法如下:
在上述情况下,/dev/cdrom
是需要挂载的设备。通常,可挂载设备位于/dev
文件夹内。mnt
是挂载设备的目标文件夹。您可以将其更改为所需的任何文件夹,但我们已使用/mnt
它作为系统用于挂载设备的默认文件夹。
要查看已安装的设备并获取有关它们的更多信息,我们使用 df 命令。只需输入df
即可获得以字节为单位的数据,这是不可读的。因此,我们将使用参数-h
使数据易于阅读。
和命令chmod
chown
chmod
和命令chown
用于在Linux中修改文件权限和所有权。
命令chmod
用于改变文件或目录的权限,命令chown
用于改变文件或目录的所有权
这两个命令的默认语法chmod <parameter> filename
是chown <user:group> filename
在上面的例子中,我们使用命令loop.sh
为文件添加了可执行权限chmod
。此外,使用命令chown
,我们使其仅对 root 用户和 root 组中的用户可访问。
正如您所注意到的,该root root
部分现已更改为www-data
拥有完全文件所有权的新用户。
了解有关Linux 文件权限和使用chmod
命令的更多信息。
和命令ifconfig
traceroute
和ifconfig
命令traceroute
在Linux中管理网络接口并跟踪网络数据包的路由。
该ifconfig
命令将为您提供所有网络接口的列表以及有关该接口的 IP 地址、MAC 地址和其他信息。
有多个可使用的参数,但在这里我们将使用基本命令。
该traceroute
命令用于跟踪网络数据包的路由并确定它们到达特定目的地所采用的路径。
使用时traceroute
,您可以简单地指定端点的 IP 地址、主机名或域名。
现在,显然localhost
只有一跳(网络接口本身)。您可以尝试使用任何其他域名或 IP 地址执行相同的命令,以查看数据包到达目的地所经过的所有路由器。
了解有关便捷的Linux 网络工具的更多信息。
wget
Linux中的命令
如果你想从终端下载文件,该wget
命令是最方便的命令行实用程序之一。它是处理源文件时应该知道的重要 Linux 命令之一。
当你指定下载链接时,它必须直接是文件的链接。如果命令无法访问该文件wget
,它只会下载 HTML 格式的网页,而不是你想要的实际文件。
让我们尝试一个例子。该wget
命令的基本语法是:
或者,
该-c
参数允许我们恢复中断的下载。
和命令ufw
iptables
ufw
和命令iptables
用于管理Linux中的防火墙。
UFW 和 IPTables 是 Linux 内核的 netfilter 防火墙的防火墙接口。IPTables 直接将防火墙规则传递给 Netfilter,而 UFW 在 IPTables 中配置规则,然后将这些规则发送给 Netfilter。
既然我们有 IPTables,为什么还需要 UFW?因为 IPTables 对于新手来说相当难。UFW 让事情变得非常简单。请参见下面的示例,其中我们尝试允许 Web 服务器使用端口 80。
我相信你现在知道为什么要创建 UFW 了!看看它的语法有多简单。这两种防火墙都非常全面,可以让你创建网络所需的任何类型的配置。至少学习 UFW 或 IPTables 防火墙的基础知识,因为这些是你必须知道的 Linux 命令。
了解有关使用 管理防火墙ufw
和使用 管理防火墙 的iptables
更多信息。
Linux 中的包管理器
不同的 Linux 发行版使用不同的包管理器。由于我们在 Ubuntu 服务器上工作,所以我们有apt
包管理器。但对于在 Fedora、Red Hat、Arch 或 Centos 机器上工作的人来说,包管理器会有所不同。
以下是如何在不同 Linux 发行版上使用这些包管理器的命令。
- Debian 和基于 Debian 的发行版–
apt install <package name>
- Arch 和基于 Arch 的发行版–
pacman -S <package name>
- Red Hat 和基于 Red Hat 的发行版–
yum install <package name>
- Fedora 和 CentOS –
yum install <package>
从长远来看,熟悉发行版的包管理器将使事情变得容易得多。因此,即使您安装了基于 GUI 的包管理工具,也请在使用 GUI 实用程序之前尝试使用基于 CLI 的工具。将这些添加到您必须知道的 Linux 命令列表中。
sudo
Linux中的命令
“拥有权利的同时也被赋予了重大的责任”
这是启用 sudo 的用户 (sudoer) 首次使用该命令提升权限时显示的引号sudo
。此命令相当于以用户身份登录root
(取决于您作为 sudoer 所拥有的权限)。
sudo
只需在需要以升级权限运行的任何命令之前添加该命令即可。它使用起来非常简单,但如果恶意用户获得 sudoer 的访问权限,也可能会增加安全风险。
了解有关如何创建新sudo
用户以及如何编辑 sudoers 文件的更多信息。
cal
Linux中的命令
您是否曾经想过在终端中查看日历?显然有人希望实现这一点,现在,它就实现了。
该cal
命令会在终端上显示一个清晰的日历。只需cal
在终端提示符下输入该命令即可。
虽然我们并不经常需要它,但它是一个很好的补充!对于终端爱好者来说,这是一个很棒的选择。
命令alias
您在使用终端时是否经常运行一些命令?它可能是rm -r
或ls -l
,也可能是更长的命令,例如tar -xvzf
。
这是您必须知道的提高工作效率的 Linux 命令之一。
如果您知道一个经常运行的命令,那么是时候创建一个了alias
。
什么是别名?简单来说,它是您定义的命令的另一个名称。
现在,每次在终端中输入lsl
或rmd
时,您都会收到使用完整命令时收到的输出。
这里的示例是一些非常小的命令,您每次仍然可以手动输入。但在某些情况下,如果命令包含太多需要您输入的参数,最好创建该命令的简写版本。
dd
Linux中的命令
此命令用于转换和复制来自多种文件系统格式的文件。目前,此命令仅用于为 Linux 创建可启动 USB,但您仍可以使用此命令执行一些重要操作。
Linux 中的该dd
命令是一个用于低级数据复制和转换的多功能命令。它代表“数据描述”或“数据定义”,可用于在不同文件格式和存储设备之间复制和转换数据。
例如,如果我们想将整个硬盘按原样备份到另一个驱动器,我们将使用该dd
命令。
if和of参数代表输入文件和输出文件。
它是一种功能强大且灵活的工具,但如果使用不当,也可能很危险。在执行命令之前,请务必仔细检查语法并确保了解命令的作用。
和命令whereis
whatis
whereis
和命令whatis
在 Linux 中用于搜索有关程序和文件的信息。
该whereis
命令定位特定命令或程序的二进制文件、源代码和手册页,并whatis
显示命令或程序的简短描述。
该whatis
命令向我们解释了命令实际上是什么。
top
Linux中的命令
前面几节我们讨论了该ps
命令。您观察到该ps
命令将输出活动进程并自行结束。
该top
命令就像 Windows 中任务管理器的 CLI 版本。
Linux 中的该top
命令是一个系统监视工具,可显示有关系统进程和资源使用情况的实时信息。它提供系统活动的动态实时视图,包括 CPU 使用率、内存使用率和进程信息。
注意:以下是使用该命令的一些示例top
:
- 按内存使用情况对进程进行排序:
这将按内存使用情况对进程列表进行排序,将占用内存最多的进程排在顶部。
- 显示特定进程的详细信息:
将其替换PID
为您要检查的进程的 ID。
- 显示系统资源使用情况的摘要:
这将显示系统资源使用情况的单个摘要屏幕。
它是一种强大而灵活的工具,可用于监控系统活动和解决性能问题。
和命令useradd
usermod
和useradd
命令usermod
用于Linux中管理用户账户。
useradd
或命令adduser
与 完全相同,adduser
只是命令的符号链接useradd
。此命令允许我们在 Linux 中创建新用户。
上述命令将创建一个名为 的新用户JournalDev
,其主目录为/home/JD
。
usermod
另一方面,该命令用于修改现有用户。您可以修改用户的任何值,包括组、权限等。
例如,如果您想为用户添加更多组,您可以输入:
passwd
Linux中的命令
现在您已经知道如何创建新用户,让我们也为他们设置密码。该passwd
命令允许您为自己的帐户设置密码,或者,如果您有权限,也可以为其他帐户设置密码。
以下是使用该passwd
命令的一些示例:
- 更改当前用户的密码:
这将提示您为当前用户输入新密码。
- 更改特定用户的密码:
替换username
为您要更改密码的用户的名称。
- 强制用户在下次登录时更改密码:
- 设置用户密码的到期日期:
替换days
为密码过期前多少天以及warm days
密码过期前多少天向用户发出警告。
这些只是在 Linux 中使用该命令的几个示例passwd
。通过了解如何有效地使用此命令,您可以管理用户帐户并确保系统安全。
结论
我们相信这篇文章对您有帮助。如果您有任何问题或疑虑,请随时在下面的评论部分提问。