您需要了解的最常用 Linux 命令
Linux 是一种在开发人员和普通用户中非常流行的操作系统 (OS)。其受欢迎的主要原因之一是其卓越的命令支持。我们仅通过命令行界面(CLI)就可以管理整个Linux操作系统。这使我们能够用更少的命令完成复杂的任务。
在本指南中,我们将讨论一些对经验丰富或初学者系统管理员有用的常用命令。遵循本指南后,用户可以放心运行Linux系统。
为了更好地组织,这些命令分为三个部分:文件系统、连接和系统信息。
Linux 文件系统命令
在本节中,我们将讨论一些与 Linux 中的文件和文件夹相关的有用命令。
cat命令主要用于显示文件的内容。它读取文件的内容并将其显示在标准输出(stdout)上。
cat 命令的常见语法是:
$cat[选项][文件1][文件2]
让我们使用 cat 命令显示 /etc/os-release 文件的内容:
$cat /etc/os-release
另外,我们-n还可以使用命令选项来显示带有行号的内容:
$ cat -n /etc/os-release
cp 命令对于复制文件、文件组和文件夹非常有用。
cp命令的常见语法是:
$cp[选项]
这里方括号([])代表可选参数,而方括号(<>)代表主要参数。
让我们将 /etc/os-release 文件复制到 /tmp 文件夹:
$cp /etc/os-release/tmp/new-file.txt
现在,让我们显示文件的内容来检查文件是否已被复制:
$cat /tmp/new-file.txt
同样,我们可以使用cp命令来下载该文件夹。让我们将 /etc/cron.d 目录复制到 /tmp 目录中:
$cp -r /etc/cron.d/tmp
我们将-r选择与 cp 命令一起使用,它代表递归操作。它经常备份包含其文件和子文件夹的文件夹。
在下一个示例中,我们将了解如何检查文件夹是否已成功下载。
$ ls / tmp / cron .d
$ls -l /tmp/cron.d
ls 命令用于列出文件夹的内容,并按大小和上次修改时间降序对文件进行排序。
ls 命令的常见语法是:
$ls [选项] [文件1] [文件2] …
如果我们不给 ls 命令提供任何参数,那么它会列出当前文件夹的内容。
$ls
在前面的示例中,我们将 /etc/cron.d 文件夹复制到 /tmp 文件夹。让我们验证它是否存在并包含必要的文件:
$ ls / tmp / cron .d
我们可以使用-lls 命令的选项来显示更详细的信息,例如 – 文件权限、所有者、时间戳、大小等。
让我们详细了解 /tmp/cron.d 文件夹中的文件:
$ls -l /tmp/cron.d
我们通常创建一个文件夹结构来组织内容。在Linux中,我们可以使用mkdir命令创建多个文件夹或文件夹,并为文件夹设置适当的权限。
mkdir 命令的典型语法是:
$ mkdir [ 选项 ] < 目录 1 > < 目录 2 > ...
让我们在 /tmp 目录中创建一个名为 dir-1 的目录:
$ mkdir /tmp/dir-1
现在,让我们看看该文件夹是否已创建:
$ls /tmp/dir-1
在这里,我们可以看到 ls 命令没有报告任何指示该目录存在的错误。
有时我们需要创建嵌套目录结构以更好地组织数据。在这种情况下,我们可以使用命令-p选项在 /tmp/dir-1 文件夹下创建一些嵌套文件夹:
$ mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5
在上面的示例中,我们创建了 4 层嵌套目录。我们用ls命令来验证一下:
$ls -R /tmp/dir-1
这里,我们使用-R选项和命令以递归方式显示库的内容。
要分析最后执行的命令,您可以使用历史命令,它显示终端会话期间最后执行的命令的列表。
$ 历史记录
要查看命令历史记录和时间戳,您需要在 bash 历史记录中设置时间戳,运行:
$ HISTTIME FORMAT="%d/%m/%y %T" #临时设置历史时间戳
$ export HIST TIME FORMAT="%d/%m/%y %T " #永久设置历史时间戳
$ 历史记录
如何跟踪占用磁盘空间的前 10 个文件?从 du 命令创建的简单单行脚本,主要用于文件空间使用。
$du -hsx * | 黑色-rh | 头-10
上述运行命令选项和变量的描述。
的
运行 – 考虑文件空间使用情况。
-hsx –(-h)人类可读格式、(-s)快捷方式格式、(-x)单个文件格式、. 参考其他文件格式的文件夹。
sort – 对文本文件行进行排序。
-rh –(-r)返回比较结果,(-h)以比较人类可读的格式。
print – 输出文件的前 n 行。
的
stat 命令用于检索有关文件大小、访问权限、访问时间以及文件的用户 ID 和组 ID 的信息。
$ stat anaconda - x .cfg
Linux 网络命令
在本节中,我们将讨论一些与网络相关的问题。
任何网络中最常见的任务之一是确定特定主机是否可达。我们可以使用 ping 命令来检查与其他主机的连接。
ping 命令的简单语法是:
$ ping [ 选项 ] < 目的地 >
这里的目的地可以是 IP 地址或完全限定域名 (FQDN),例如 google.com。我们看看当前系统是否可以与google通信:
$ ping -c4 google.com
在上面的示例中,该命令显示网络连接统计信息,表明已收到所有四个网络请求(数据包)的响应。需要注意的是,我们使用-c该命令的选项来限制发送到特定主机的请求数量。
让我们看一下两台主机之间的连接断开时的示例。
为了模拟这种情况,我们将尝试访问无法访问的 IP 地址。在本例中为 192.168.10.100:
$ 平 -c 4 192.168.10.100
此时,我们可以看到我们还没有收到网络请求的响应。因此该命令报告错误 – 目标主机无法访问。
有时我们需要查找特定域的IP地址。为此,我们可以使用 host 命令,该命令执行 DNS 查找并将 FQDN 转换为 IP 地址,反之亦然。
主机命令的简单语法是:
$主机[选项]<目的地>
这里的目标可以是 IP 地址或 FQDN。
让我们使用 host 命令来查找 google.com 的 IP 地址:
$ 托管 google.com
有关注册域的所有信息都存储在中央数据库中,可以使用 whois 命令进行查询,该命令显示有关特定域的信息。
Whois 命令的简单语法是:
$whois [ 选项 ] < FQDN >
我们来看看 google.com:
$ whois google.com
在这里,我们可以看到很多详细信息,例如域名注册/更新/到期日期、域名服务器等。
需要注意的是,whois 命令并非默认在所有系统上都可用。但是,我们可以使用包管理器安装它。例如,在 apt 包管理器上:
$sudo apt install whois
在基于 RHEL 的发行版和其他发行版上,您可以如图所示进行安装。
$ sudo yum install whois [在RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux上]
$ sudo emerge -a net-misc/whois [在Gentoo Linux上]
$ sudo apk add whois [在Alpine Linux上]
$sudo pacman -S whois [在Arch Linux上]
$sudo zypper install whois [在OpenSUSE上]
Linux 系统信息命令
在本节中,我们将讨论一些可以提供有关当前系统的详细信息的命令。
使用 uptime 命令查找系统上次重新启动的时间是一个非常常见的要求,该命令指定系统已经运行了多长时间。
让我们知道当前系统花费的时间:
$ 正常运行时间 -p
12:10:57 至 2:00,1 个用户,平均负载:0.48、0.60、0.45
在这个例子中,我们使用-p选择以漂亮的格式显示结果。
用户经常需要查找有关已安装、可用和已使用内存的详细信息。这些信息在解决性能问题时发挥着重要作用。我们可以使用 free 命令来查找内存详细信息:
$免费-m
-m在这里,我们在命令中使用了一个选项,以兆字节为单位显示输出。
以同样的方式,我们可以分别用选项 、 和 来表示结果,以吉比字节、太字节和皮字节为单位-g。-t-p
软件将数据存储在阻塞设备上。阻止设备的示例包括硬盘驱动器 (HDD)、固态驱动器 (SSD) 等。我们可以使用 lsblk 命令来显示有关阻塞设备的详细信息:
$ lsblk
在这个例子中,我们可以看到只有一个块设备,它的名称是/dev/sda。在那道屏障上划分了三个师。
在本文中,我们讨论一些对 Linux 初学者有用的命令。首先,我们讨论文件系统命令。然后我们讨论了网络法规。最后,我们讨论一些提供当前系统详细信息的代码。