Linux常用命令说明指南

如果您是 Linux 的初学者,您可能已经开始使用命令行。一旦熟悉了,从终端上工作就相当容易了。
本教程我们尽最大努力添加您应该知道和记住的最常用和最重要的 Linux 命令。

系统相关的 Linux 命令

这些命令用于查看和管理 Linux 系统相关信息。

1. uname

uname 命令在 Linux 中用于查找操作系统信息。Uname有许多选项可以提供内核名称、内核版本、CPU 类型和主机名。
以下带有a选项的 uname 命令显示有关操作系统的所有信息。

$sudo uname -a
Linux kylin-PC 5.4.18-19-generic #5b1-KYLINOS SMP Sat Jan 30 15:59:26 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

2. uptime

使用uptime 命令提供有关 Linux 系统运行时间的信息。系统正常运行时间信息是从“/proc/uptime”文件中收集的。此命令还将显示系统负载平均值。
通过以下命令,我们可以了解到系统在过去 13 分钟内已启动并运行。

$ uptime
23:41:37 up 13 min,  1 user,  load average: 0.03, 0.07, 0.04

3.hostname

您可以通过在终端中键入来显示您的机器主机名。hostname使用-i选项,您可以查看机器的 IP 地址,使用-d您可以查看域名。

4. last

Linux 的last 命令用于查看谁是最后登录到您服务器的用户。最后一个命令显示自文件创建以来从“/var/log/wtmp”登录(和退出)的所有用户的列表。
您只需要在终端上输入“last”即可。这是一个例子

$ last
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
kylin tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

5.date

在 Linux 中,date 命令用于检查系统的当前日期和时间。此命令允许您为日期设置自定义格式。
例如,通过使用“日期+%D”,您可以查看“MM/DD/YY”格式的日期。

$ date +%D
02/07/20

6. cal

默认情况下,cal命令显示当前月份的日历。通过-y选项,您可以查看全年的日历。

7.w

默认情况下,w 命令显示谁当前登录到您的机器以及他们在做什么。

$ w
 01:36:19 up  2:08,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    39.177.9.194     23:29    3.00s  0.02s  0.00s w
kylin pts/1    59.177.9.193     01:35   11.00s  0.00s  0.00s -bash

8. whoami

whoami 命令打印当前登录用户的用户名。它类似于id -un命令。

9.reboot

要立即重新启动 linux 系统,您可以从具有root 权限的终端运行此命令。

10.shutdown

Shutdown 命令用于停止或重新启动 Linux 系统。此命令具有计划关闭和使用自定义消息通知用户的选项。
默认情况下,机器将在 1 分钟后停机,您可以通过发出取消计划 shutdown -c

$sudo shutdown
Shutdown scheduled for Fri 2020-02-07 02:47:52 UTC, use 'shutdown -c' to cancel.

通过提供“现在”选项可以立即关闭系统。

$ sudo shutdown -h now

硬件相关的 Linux 命令

这些命令用于查看和管理 Linux 机器的硬件相关方面。

11. dmesg

dmesg 命令通过读取内核环形缓冲区来打印其数据。数据可以是有关处理器、硬盘、打印机、键盘、内存和驱动程序的信息。

$ dmesg

样本输出:

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.0-31-generic (buildd@aatxe) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #46-Ubuntu SMP Tue Sep 10 19:56:49 UTC 2013 (Ubuntu 3.8.0-31.46-generic 3.8.13.8)
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] NSC Geode by NSC
[ 0.000000] Cyrix CyrixInstead
[ 0.000000] Centaur CentaurHauls
[ 0.000000] Transmeta GenuineTMx86
[ 0.000000] Transmeta TransmetaCPU
[ 0.000000] UMC UMC UMC UMC

12.lshw

显示有关系统硬件配置的信息。lshw 命令必须以 root 或 sudo 特权用户身份运行,否则它只会报告部分信息。

13. lsblk

显示机器的块设备相关信息。lsblk 命令-a可以查看所有块设备。

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 24.5G 0 disk /
sdb 8:16 0 512M 0 disk [SWAP]

14. free

free 命令在 Linux 中用于检查系统中可用 RAM 内存的数量。free 命令还显示交换空间、缓冲区和缓存空间。

$ free
              total        used        free      shared  buff/cache   available
Mem:        4022216      723872     1359820      157988     1938524     2661636
Swap:        524284      247820      276464

15. lspci

lspci是一个标准的 Linux 实用程序,可以显示系统硬件内部的情况。您可以期望您的结果包含有关 PCI 总线、AGP 和 USB 芯片组等板载组件的信息。

16.lsusb

lsusb 命令用于显示有关系统中的 USB 总线以及连接到它们的设备的信息。您可以在 usbutils 包中找到lsusb实用程序。

17. dmidecode

dmidecode 命令读取系统 DMI(桌面管理接口)表以 显示服务器的硬件 和 BIOS 信息。dmidecode 的输出包含 DMI 表中的几条记录。此表包含系统硬件组件的描述以及其他有用信息,例如序列号、BIOS 版本等
您需要 root 或 sudo 权限才能运行此命令。以下示例显示了 bios 详细信息。

# dmidecode -t bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: SeaBIOS
        Version: rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org
        Release Date: 04/01/2014
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 64 kB
        Characteristics:
                BIOS characteristics not supported
                Targeted content distribution is supported
        BIOS Revision: 0.0

18.hdparm

hdparm是Linux中用来打印硬盘信息的命令。它可以执行磁盘速度性能并更改 DMA 设置。
以下命令将对磁盘 sda 执行读取速度测试:

# hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   18012 MB in  2.00 seconds = 9023.48 MB/sec
 Timing buffered disk reads: 7146 MB in  3.00 seconds = 2380.77 MB/sec

统计相关 Linux 命令

这组命令用于查看 Linux 系统的各种统计信息。

19. mpstat

mpstat 命令用于打印处理器统计信息并帮助监控系统上的 CPU 利用率。如果您的系统有多个处理器,它将更加有用。

$ mpstat -P 0
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

20. vmstat

vmstat是一个提供报告虚拟内存统计信息的工具。它实时涵盖系统的内存、交换和处理器利用率。
默认情况下 vmstat 打印如下:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0   8704 531516   7088 161204    0    1   585    11   20   34  0  0 100  0  0

21. iostat

iostat 命令是用于通过观察设备的活动时间与它们的平均传输速率相关来监控系统的输入/输出 (I/O) 设备负载的命令。

22. tcpdump

tcpdump 是一个网络故障排除命令,也称为数据包嗅探器,用于捕获和显示来自网络的数据包。要运行tcpdump 命令,您需要 root 或具有 sudo 权限的用户。
当您不带任何选项使用 tcpdump 时,它将分析所有接口上的流量。

23. lsof

lsof 命令代表“列出打开的文件”。找出有关已打开文件及其各自进程的详细信息非常有用。
要查看某个特定用户打开的文件列表,请使用-u option 和lsof commad。

$ lsof -u kylin
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
bash    6371 kylin  cwd    DIR                8,0     4096 128025 /home/kylin
bash    6371 kylin  rtd    DIR                8,0     4096      2 /
bash    6371 kylin  txt    REG                8,0  1219272   6329 /usr/bin/bash
bash    6371 kylin  mem    REG                8,0  2586242   5503 /usr/lib/locale/en_US.utf8/LC_COLLATE
bash    6371 kylin  mem    REG                8,0  8406312  34008 /var/lib/sss/mc/passwd
bash    6371 kylin  mem    REG                8,0    42104  19992 /usr/lib64/libnss_sss.so.2
bash    6371 kylin  mem    REG                8,0  3201344   5604 /usr/lib64/libc-2.28.so
bash    6371 kylin  mem    REG                8,0    28784   5606 /usr/lib64/libdl-2.28.so
bash    6371 kylin  mem    REG                8,0   208616   5252 /usr/lib64/libtinfo.so.6.1

24. watch

Linux watch 命令可用于定期重复命令。

用户相关的 Linux 命令

这些命令用于管理 Linux 用户。

25. id

id 命令在 Linux 中用于打印真实有效的用户 ID(UID)和组 ID(GID)。UID 是用户的单一身份。而组 ID (GID) 可以包含多个 UID。

26. last

Linux last 命令用于检查以前登录的用户到您的服务器。

27. who

who 命令是一个打印当前登录用户信息的工具。who命令只看到登录的真实用户。它不会看到执行 su 命令的用户(切换用户)。

28. groupadd

groupadd 命令用于在 Linux 中创建组。
以下命令将向系统添加一个组“开发人员”。

# groupadd developers

29. useradd

在 Linux 和类 Unix 操作系统中,创建用户的最常用命令是“useradd”或“adduser”。
让我们看看如何创建一个新用户’bill’并设置一个密码。该命令将一个条目添加到 /etc/passwd、/etc/shadow、/etc/group 和 /etc/gshadow 文件中。

# useradd bill
# passwd bill

30. userdel

userdel 是一个用于删除用户的低级实用程序。userdel 命令将查找系统帐户文件,例如“/etc/password”和“/etc/group”,然后从那里删除与用户名相关的所有条目。

31. usermod

Linux usermod 命令用于修改或更改现有用户的属性。用户的属性是主目录、shell、密码到期日期、组、UID 等。

32. passwd

passwd 是 Linux(Redhat、Centos、Ubuntu、Debian、Fedora)和类 UNIX 操作系统中用于更改密码的命令。

文件相关的 Linux 命令

这些命令用于处理文件和目录。

33. ls

一个非常简单但功能强大的命令,用于列出文件和目录。默认情况下,ls 命令会列出当前目录的内容。

34.pwd

Linux pwd是一个打印当前工作目录名称的命令。当我们“迷失”到一个很深的目录中时,我们总是可以揭示我们在哪里。
检查以下示例:

[kylin@li53-41 fsfreeze-hook.d]$ pwd
/usr/share/qemu-kvm/qemu-ga/fsfreeze-hook.d

35. mkdir

在 Linux 上,我们可以使用mkdir 命令来创建目录。
默认情况下,不带任何选项运行 mkdir,它会在当前目录下创建一个目录。

$ mkdir account
$ ls -l
total 4
drwxrwxr-x. 2 kylin kylin 4096 Feb  8 08:04 account
$

36. cat

我们使用cat 命令主要是查看内容、连接和重定向文件的输出。使用 cat 最简单的方法就是输入“cat file_name”。
以下 cat 命令示例将显示 Linux 发行版名称以及硬件上当前安装的版本。

$sudo cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

37. rm

当不再需要某个文件时,我们可能会删除它以节省存储空间。在 Linux 系统上,我们可以使用 rm 命令来完成。

38. cp

cp 命令在 Linux 中用于创建文件和目录的副本。
以下命令会将文件“myfile.txt”从当前目录复制到“/home/kylin/office”。

$ cp myfile.txt /home/kylin/office

39. mv

当您想将文件从一个地方移动到另一个地方并且不想复制它时,我们使用mv 命令。

40.cd

cd 命令用于在 Linux 和其他类 Unix 操作系统中更改用户的当前工作目录。

41.ln

符号链接或软链接是一种特殊类型的文件,其中包含指向另一个文件或目录的引用。ln 命令用于创建符号链接。
ln 命令使用以下语法:

ln -s [target directory or file] [symlink shortcut]

42. touch

touch 命令在 Linux 中用于更改文件访问和修改时间。我们可以在 Linux 中使用touch 命令来创建一个空文件。

43. more

more命令是一次显示每页长文本文件的命令。

44. head

head 命令用于打印文本文件的前几行。默认情况下,head 命令将每个文件的前 10 行打印到标准输出,即显示屏幕。

45. tail

如您所知,cat 命令用于通过标准输入显示文件的全部内容。但在某些情况下,我们必须打印文件的一部分。默认情况下,tail 命令显示最后十行。

46.gpg

GPG是 linux 中用于安全通信的工具。它使用两个密钥(对称密钥和公钥加密)的组合来加密文件。

47. cksum

cksum 命令用于 Linux 打印 CRC 校验和以及该文件中的字节数。

48. diff

diff 命令用于从终端逐行比较两个文件。

49. sort

sort命令在 Linux 中用于逐行对文本文件的内容进行排序。

50. uniq

uniq是一个命令行工具,用于报告和过滤文件中的重复行。

51. wc

Linux wc 命令计算文件或标准输入中的字节数、字符数、字数和行数。

52. dir

dir 命令用于列出目录的内容。

53. tee

Linux tee 命令用于任务的链接和重定向,您可以将输出和/或错误重定向到文件,它不会显示在终端上。

54.tr

tr (translate) 命令在Linux 中主要用于翻译和删除字符。它可用于将大写转换为小写,挤压重复字符和删除字符。

进程相关的 Linux 命令

这些命令用于处理 Linux 进程

55.ps

Linux ps 命令是用于捕获系统上当前进程的内置工具。它将一次捕获系统状况。

56. pmap

Linux pmap 命令显示一个或多个进程的内存使用图。Pmap 报告有关进程的地址空间或内存使用映射的信息。

57.top

Linux 中的top 命令显示系统上正在运行的进程。它广泛用于监视服务器上的负载。

58. kill

kill 命令在Linux 和其他类 Unix 操作系统上用于终止进程,而无需注销或重新启动计算机。

59. killall

killall 命令可用于通过使用其名称向特定进程发送信号。这意味着如果您运行同一程序的五个版本,killall 命令将杀死所有五个版本。

60. pkill

与 killall 命令类似,pkill 发送信号以终止具有其名称的进程。从 Centos 7 开始,它鼓励使用 pkill。

61. fg 和 bg

我们可以在后台运行作业,无需用户干预。被某个中断信号停止的进程可以在后台使用 bg 命令继续。fg 命令类似于 bg 命令,只是它不是在后台发送命令,而是在前台运行它们并占用当前终端并等待进程退出。

文件权限相关的 Linux 命令

这些命令用于更改文件的权限

62. chmod

文件权限应用于三个级别:所有者、组成员和其他。chmod 命令用于更改这些权限。
对于以下示例,755将为文件’asciiquarium.tar.gz’设置读+写+执行权限给用户,给组设置读+执行权限,给其他人设置读+执行权限。

# chmod 755 asciiquarium.tar.gz

63. chown

Linux 中的chown 命令用于更改文件和目录的所有权和组所有权。
在以下示例中,文件“/corpora/stopwords/danish.txt”的所有权从“root:root”更改为“kylin:kylin”。

# ls -l /corpora/stopwords/danish.txt
-rw-r--r-- 1 root root 424 Dec 10 2012 /corpora/stopwords/danish.txt
# chown kylin:kylin/corpora/stopwords/danish.txt
# ls -l corpora/stopwords/danish
-rw-r--r-- 1 kylin kylin 424 Dec 10 2012 /corpora/stopwords/danish.txt

64. chgrp

chgrp 命令用于更改文件的组所有权,而 chown 命令允许您更改用户和组的所有权。

网络相关的 Linux 命令

这些命令用于查看和编辑系统的网络配置相关方面

65. ifconfig

ifconfig 命令用于在 Linux 中显示和设置网络接口的 IP 地址。现在不推荐使用 ifconfig 以支持 iproute2(ip 命令)。

66. ip

linux ip 命令类似于 ifconfig,但功能更强大,旨在替代它。使用 ip,您可以使用一个命令执行多项网络管理任务。

67. ethtool

ethtool 命令用于显示/更改以太网适配器设置。您可以在 Linux 中使用此工具更改网卡速度、自动协商、LAN 唤醒设置、双工模式。

68. mii工具

mii-tool和 ethernet tool都允许 Linux 系统管理员修改或更改或检查网络接口卡。

69. ping 和 ping6

ping 和 ping 6 命令用于向主机发送echo请求以测试 ipv4 和 ipv6 连接。

70. whois

在 Linux 中 whois 命令用于获取域的信息,例如域的所有者、所有者的联系信息和名称服务器。

71. dig

dig执行 DNS 查找并显示从被查询的名称服务器返回的答案。

72. host

host 命令是一个在 Linux 中执行 DNS 查找的简单实用程序。使用此命令,我们可以将名称转换为 IP 地址,反之亦然。

73.wget

wget是 Unix 中的命令行、非交互式、免费实用程序,类似于不包括 Microsoft Windows 的操作系统,用于从 Internet 下载文件。

74. netstat

netstat是一个命令行工具,用于查看和监控系统的网络统计信息和配置。该工具可在基于 Unix、Linux 和 Windows NT 的操作系统上使用

75. nslookup

nslookup 是一个网络管理工具,用于查询域名系统以从 DNS 记录中获取域名或 IP 地址。

压缩/归档相关命令

这些命令用于压缩和解压缩文件。

76. tar

tar 是一个命令行工具,用于在 Linux 和 Unix 系统中创建和操作归档文件。tar 命令创建 .tar 存档文件,然后使用 gzip 或 bzip2 进行压缩。

77. gzip

gzip 命令将文件压缩成单个文件并以“.gz”为后缀。

包安装相关命令

这些命令用于管理 Linux 软件包。

78. rpm

RPM (Redhat Package Manager) 是一个命令行包管理实用程序,用于安装、卸载、更新、查询和验证软件包。

79. make

make 命令用于从源代码构建可执行程序和库。

80. yum

Yum(Yellowdog Updater Modified)是基于 RHEL 的系统中提供的用于安装、删除和搜索软件包的实用程序。Yum会自动安装软件包依赖项,例如, yum install httpd将自动安装“apache”服务器及其所需的依赖项。

81. apt

apt 是一个命令行工具,用于在 Ubuntu、Debian 和相关 Linux 发行版上安装、更新、删除 deb 包。

搜索相关 Linux 命令

这些命令用于搜索文件和模式

82. grep

grep 命令允许在文件中或从命令的输出控制台搜索文本或字符串,以查找与正则表达式匹配的术语或模式。

83. locate

locate 是一个命令行实用程序,用于在整个文件系统中搜索文件和目录。

84. find

Linux find 命令是一个非常强大的命令,它基本上用于使用特定条件搜索目录结构下的文件。

85. SSH

SSH用于登录远程机器并在远程机器上执行命令。每当计算机向网络发送数据时,ssh 都会自动加密。

86. telnet

Telnet 是一个命令行工具,用于手动连接远程主机以测试应用程序端口的连接性。
文件传输相关的 Linux 命令
这些命令用于将文件从一个系统复制到另一个系统

87. scp

SCP 是一个安全的复制程序,用于在网络上的 Linux 主机之间传输文件或目录。SCP使用 ssh 协议传输数据。
在这里,本地文件“examples.txt”被复制到远程主机。

$ scp examples.txt [email protected]:/home/user/account

88. rsync

rsync将本地机器之间的文件和目录同步到远程机器。它可以递归地复制文件和目录、复制符号链接、保留(权限、组、修改时间和所有权)文件身份。

磁盘使用相关的 Linux 命令

这些命令用于查看磁盘统计信息。

89. df

df 命令显示 Linux 文件系统的磁盘空间使用情况。它显示已安装文件系统上可用的总磁盘空间量和可用磁盘空间量。

90. fdisk

fdisk 命令在 Linux 中用于查看现有分区、创建新分区、删除或更改现有分区。

91. du

du(磁盘使用)是 Linux 中用于检查目录大小(包括其其他内容)以及单个文件大小的命令。

92. findmnt

命令findmnt用于列出 Linux 中挂载的文件系统。此命令将在 /etc/fstab、/etc/mtab 或 /proc/self/mountinfo 中查找特定文件系统。

93. mount

mount是 Linux 中用于附加文件系统和驱动器的命令,而 umount 命令用于分离(卸载)任何附加的文件系统或设备。

结论

在本教程中,我们了解了所有大多数 Linux 命令的概述。最后,您始终可以依赖 Linux 手册页来获取更多信息。我希望本教程对您有所帮助。

你可能感兴趣的:(linux,Linux,Commands,linux,服务器,centos)