系统管理员的30个有用的Linux命令

在本文中,我们将回顾一些Linux或Unix命令,这些命令对于Linux系统管理员在日常生活中经常使用。

这并不完整,但这是一个简洁的命令列表,可在需要时参考。让我们逐一开始看看如何使用这些命令并附带示例。

1. Uptime命令

在Linux中,uptime命令显示系统运行时间以及当前登录的用户数量,并显示系统的负载平均值,分别为1515分钟的间隔。

# uptime

08:16:26 up 22 min,  1 user,  load average: 0.00, 0.03, 0.22

检查Uptime版本

Uptime命令除了uptimeversion之外没有其他选项。如果时间少于1天,它只会提供小时:分钟:秒的信息。

# uptime -V
procps version 3.2.8

2. W命令

w 命令会显示当前登录的用户及其进程,同时显示负载平均值登录名tty 名称远程主机登录时间空闲时间JCPUPCPU,命令和进程。

# w

08:27:44 up 34 min,  1 user,  load average: 0.00, 0.00, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.29s  0.09s w

可用选项

  • -h:不显示标题条目。
  • -s:不包括 JCPU 和 PCPU。
  • -f:从字段中移除。
  • -V:(大写字母)- 显示版本。

3. 用户命令

用户命令显示当前登录的用户。此命令除了帮助和版本之外没有其他参数。

# users

tecmint

4. Who 命令

who 命令简单返回用户名日期时间,和主机信息。who 命令类似于w命令。与w命令不同,who不会打印用户正在做什么。让我们来说明并查看whow命令之间的区别。

# who

tecmint  pts/0        2012-09-18 07:59 (192.168.50.1)
# w

08:43:58 up 50 min,  1 user,  load average: 0.64, 0.18, 0.06
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.43s  0.10s w

Who 命令选项

  • -b:显示最后系统重新启动的日期和时间。
  • -r: 显示当前运行的runlet。
  • -a, –all: 显示所有信息的累积。

5. whoami命令

在Linux中,whoami命令用于打印当前登录到Linux系统的用户名。如果您使用sudo命令以root身份登录,则“whoami”命令将返回root作为当前用户。

# whoami

tecmint

6. ls命令

ls命令以人类可读的格式显示文件列表。

# ls -l

total 114
dr-xr-xr-x.   2 root root  4096 Sep 18 08:46 bin
dr-xr-xr-x.   5 root root  1024 Sep  8 15:49 boot

按上次修改时间对文件进行排序。

# ls -ltr

total 40
-rw-r--r--. 1 root root  6546 Sep 17 18:42 install.log.syslog
-rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log
-rw-------. 1 root root  1003 Sep 17 18:45 anaconda-ks.cfg

有关ls命令的更多示例,请查看我们的文章:

7. Crontab命令

使用crontab命令和-l选项列出当前用户的计划任务。

# crontab -l

00 10 * * * /bin/ls >/ls.txt

使用-e选项编辑您的crontab。在下面的示例中,将在VI编辑器中打开计划任务。进行必要的更改,然后按:wq键退出,这将自动保存设置。

# crontab -e

要了解更多关于Linux Cron命令的示例,请阅读我们之前的文章:

8. Less命令

less命令允许快速查看文件。您可以上下翻页。按‘q‘键退出less窗口。

# less install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch

9. More命令

more命令允许快速查看文件,并以百分比显示详细信息。您可以上下翻页。按‘q‘键退出more窗口。

# more install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
--More--(10%)

[您可能也会喜欢:了解为什么‘less’比‘more’命令更快,用于有效的文件导航]

10. CP 命令

A cp command copies file from source to destination preserving the same mode.

# cp -p fileA fileB

在覆盖文件之前,系统会提示您确认。

# cp -i fileA fileB

[ 您可能也会喜欢:如何强制 cp 命令覆盖而不需要确认 ]

11. MV 命令

使用mv 命令文件A重命名为文件B,使用-i选项,该选项在覆盖前会提示确认。如果已存在,请请求确认。

# mv -i fileA fileB

12. Cat 命令

使用cat命令可以同时查看多个文件。

# cat fileA fileB

如果文件内容无法在一个屏幕/页面上完全显示,可以将moreless命令与 cat 命令结合使用来查看文件内容。

# cat install.log | less

# cat install.log | more

要了解更多关于 Linux 的 cat 命令示例,请阅读我们的文章Linux 中的 13 个基本 Cat 命令示例

13. cd 命令(更改目录)

使用cd 命令(更改目录或切换目录)将进入文件A目录。

# cd /fileA

14. pwd 命令(打印工作目录)

A pwd command return with the present working directory.

# pwd

/root

15. 排序命令

使用sort命令可以对文本文件的行进行升序排序。使用-r选项将进行降序排序。

# sort fileA.txt

# sort -r fileA.txt

16. VI命令

Vi是最受欢迎的文本编辑器,大多数类UNIX操作系统都提供。以下示例使用-R选项以只读方式打开文件。按‘:q‘退出vi窗口。

# vi -R /etc/shadows

要了解更多关于vi编辑器的信息,请阅读我们的文章:

17. SSH命令(安全外壳)

SSH命令用于登录远程主机。例如,以下ssh命令将使用用户Narad连接到远程主机(192.168.50.2)。

# ssh [email protected]

要检查ssh的版本,使用-V(大写)选项显示ssh的版本。

# ssh -V

OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f  31 Mar 2020

要了解更多关于SSH的信息,请阅读我们的文章:

18. Ftp或sftp命令

ftpsftp命令用于连接到远程ftp主机。ftp是(文件传输协议),而sftp是(安全文件传输协议)。例如,下面的命令将连接到ftp主机(192.168.50.2)。

# ftp 192.168.50.2

# sftp 192.168.50.2

使用mput将多个文件放入远程主机,同样,我们可以使用mget从远程主机下载多个文件。

# ftp > mput *.txt

# ftp > mget *.txt

19. Systemctl命令

Systemctl命令是一个systemd管理工具,用于管理服务、检查运行状态、启动和启用服务以及处理配置文件。

# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status httpd.service

20. Free命令

free命令显示空闲总量交换内存信息,单位为字节。

# free
             total       used       free     shared    buffers     cached
Mem:       1030800     735944     294856          0      51648     547696
-/+ buffers/cache:     136600     894200
Swap:      2064376          0    2064376

使用-t选项的free命令显示内存总量的使用和可用字节数。

# free -t
             total       used       free     shared    buffers     cached
Mem:       1030800     736096     294704          0      51720     547704
-/+ buffers/cache:     136672     894128
Swap:      2064376          0    2064376
Total:     3095176     736096    2359080

21. Top命令

top命令显示系统的处理器活动,以及内核管理的任务在实时中的情况。它将显示处理器内存的使用情况。

使用带有u选项的top命令将显示特定用户的进程详细信息,如下所示。按‘O‘(大写字母)进行排序,按您的要求进行。按‘q‘退出top屏幕。

# top -u tecmint

top - 11:13:11 up  3:19,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030800k total,   736188k used,   294612k free,    51760k buffers
Swap:  2064376k total,        0k used,  2064376k free,   547704k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1889 tecmint   20   0 11468 1648  920 S  0.0  0.2   0:00.59 sshd
1890 tecmint   20   0  5124 1668 1416 S  0.0  0.2   0:00.44 bash
6698 tecmint   20   0 11600 1668  924 S  0.0  0.2   0:01.19 sshd
6699 tecmint   20   0  5124 1596 1352 S  0.0  0.2   0:00.11 bash

关于top命令的更多信息,我们已经编译了一份Linux中的12个TOP命令示例

22. Tar命令

tar命令用于在Linux中压缩文件和文件夹。例如,以下命令将为/home目录创建一个名为archive-name.tar的归档文件。

# tar -cvf archive-name.tar /home

要提取tar归档文件,请使用以下选项。

# tar -xvf archive-name.tar

要了解更多关于tar命令的信息,我们创建了一个完整的如何使用指南,位于Linux中的18个tar命令示例

23. Grep命令

grep命令用于在文件中搜索给定的字符串。只显示来自tecmint用户的/etc/passwd文件。我们可以使用-i选项来忽略大小写敏感性。

# grep tecmint /etc/passwd

tecmint:x:500:500::/home/tecmint:/bin/bash

24. Find命令

Find命令用于搜索文件字符串目录。以下是find命令的示例,它搜索tecmint这个词在‘/‘分区并返回输出。

# find / -name tecmint

/var/spool/mail/tecmint
/home/tecmint
/root/home/tecmint

有关Linux find命令的完整指南,请参见35个实用的Linux find命令示例

25. lsof命令

lsof代表列出所有打开的文件。下面的命令列出了用户tecmint打开的所有文件。

# lsof -u tecmint

COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
sshd    1889 tecmint  cwd    DIR      253,0     4096      2 /
sshd    1889 tecmint  txt    REG      253,0   532336 298069 /usr/sbin/sshd
sshd    1889 tecmint  DEL    REG      253,0          412940 /lib/libcom_err.so.2.1
sshd    1889 tecmint  DEL    REG      253,0          393156 /lib/ld-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          298643 /usr/lib/libcrypto.so.1.0.0
sshd    1889 tecmint  DEL    REG      253,0          393173 /lib/libnsl-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          412937 /lib/libkrb5support.so.0.1
sshd    1889 tecmint  DEL    REG      253,0          412961 /lib/libplc4.so

要了解更多lsof命令示例,请访问10个Linux中的lsof命令示例

26. last命令

使用last命令,我们可以查看系统中用户的活动。这个命令普通用户也可以执行。它会显示完整的用户信息,如终端时间日期系统重启启动,以及内核版本。一个有用的故障排除命令。

# last

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
reboot   system boot  2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38  (03:43)
root     pts/1        192.168.50.1     Sun Sep 16 10:40 - down   (03:53)
root     pts/0        :0.0             Sun Sep 16 10:36 - 13:09  (02:32)
root     tty1         :0               Sun Sep 16 10:07 - down   (04:26)
reboot   system boot  2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33  (04:35)
narad    pts/2        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)

你可以使用last加上用户名来了解特定用户的活动,如下所示。

# last tecmint

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
tecmint  pts/1        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)
tecmint  pts/4        192.168.50.1     Wed Sep 12 10:12 - 12:29  (02:17)

27. ps命令

使用ps命令显示系统中运行的进程。下面的例子只显示了init进程。

# ps -ef | grep init

root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

28. kill命令

使用kill命令终止进程。首先,使用ps命令找到进程id,如下所示,然后使用kill -9命令杀死进程。

# ps -ef | grep init
root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

# kill- 9 7508

29. rm命令

rm 命令用于删除文件,无需确认。

# rm filename

使用-i选项可以在删除前请求确认。使用选项‘-r‘和‘-f‘将强制删除文件,无需确认。

# rm -i test.txt

rm: remove regular file `test.txt'?

30. mkdir命令示例。

mkdir命令用于在Linux下创建目录。

# mkdir directoryname

这是在Linux/Unix类操作系统中日常使用的基本命令之一。如果您发现我们遗漏了什么,请通过我们的评论框分享。

Source:
https://www.tecmint.com/useful-linux-commands-for-system-administrators/