Linux常用的命令

whoami命令

当想知道自己是以哪个用户登录的时修可以使用whoami命令,该命令是Linux系统中最简单的命令之一。

$ whoami
qjit

事实上,这个命令还可以分开为who am i。您可以发现同样也会得到所需的信息而且更多。

$ who am i
qjit     pts/0        2021-12-21 19:06 (10.13.4.143)

who am i命令除了显示用户名之外,还会显示登录的终端(pts/1)、登录时间(2021-12-21 19:06)以及所使用的计算机的IP地址。

who、w、users和tty命令

知道了我是谁之后,想知道目前有哪些用户在系统上工作。可以使用who命令来获取这方面的信息。

$ who
qjit     pts/1        2021-12-21 19:06 (10.13.4.143)
root     :0           2021-12-21 18:36
root     pts/2        2021-12-21 17:43 (:0.0)

从显示结果可以看出,who命令显示的内容与who am i命令相比,多了系统上工作的其他用户。

w命令可以获得更多信息:

$ w
19:38:05 up 166 days,  9:00,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
qjit     pts/0    10.13.4.143     19:06    5.00s  0.03s  0.01s w

第1行从左到右的每一项的含义:当前的时间是19:38:05,系统已经启动(up)了166 days,目前有1个用户登录,系统在过去1min内平均提交0.00个任务(或启动程序),在过去10min内平均提交0.01个任务,在过去15min内平均提交0.05个任务(load average为平均负载,之后的3个数字分别表示过去1min内的负载、过去10min内的负载和过去15min内的负载)。

第3行从左到右的每一列的含义:其中前3列与who am i命令的显示结果相同,因此就不再解释了。第4列(LOGIN@)表示qjit用户于19:06登录系统,第5列(IDLE)表示qjit用户是一个正在活动的用户(IDLE为5.00s即5秒处于空闲),第6列中(JCPU)表示qjit用户到目前为止一共使用了0.03s的CPU时间,第7列(PCPU)表示qjit用户当前所运行的程序使用了0.01s的CPU时间,第8列(WHAT)表示qjit用户当前所运行的程序是w。

w命令竟然能获取这么多有用的信息!

如果您只是想要知道有那些用户登录,有一个更简单的命令,那就是users命令。

$ who
qjit root root

如果只想知道目前登录Linux系统所使用的终端,也同样有一个简单的命令,那就是tty命令。

$ tty
/dev/pts/0

uname命令及其选项

默认情况下,当执行uname命令时,终端上会显示当前的操作系统。这里u应该是UNIX的缩写,因此uname应该是UNIX name的缩写。

$ uname
Linux

uname命令有许多选项

  • -n选项,可以查看主机名。
  • -r选项(release的第1个字符):显示操作系统发布的版本信息。
  • -s选项(system的第1个字符):显示操作系统名。
  • -m选项(machine的第1个字符):显示机器硬件名。
  • -p选项(processor的第1个字符):显示中央处理器的类型。
  • -a选项(all的第1个字符):显示所有的信息。
$ uname -n
qj-appletserver
$ uname -r
3.10.0-1062.18.1.el7.x86_64
$ uname -s
Linux
$ uname -m
x86_64
$ uname -p
x86_64
$ uname -a
Linux qjit-webserver 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

date命令

date命令用于显示系统当前的日期和时间。要想获取当前的日期和时间。

$ date
Tue Dec 21 20:15:32 CST 2021

clear命令

clear命令用于清除终端窗口中显示的字符。

su和passwd命令

su命令将从当前的用户切换到一个指定的其他用户。假如先使用普通用户登录了Linux(UNIX)系统,之后需要使用su命令切换到root用户。

$ su - root
Password:

....

# exit

当你执行完需要root用户的操作时,可以使用exit命令退出root登录,回到之前登录的普通用户(不用输入普通用户的密码)。

建议读者也最好尽量使用普通用户。在操作系统的管理或维护中有一个系统管理员应该奉行的金科玉律,即最小化原则。该原则是在能够完成工作的情况下尽量使用权限最低的用户。这样一旦操作失误对系统所造成的危害最小。

passwd命令可以用来查看用户(可以是普通用户,也可以是root用户)的密码状态、修改用户的密码等。

passwd命令不带任何选项和参数时,表示修改当前登录用户的密码。

$ passwd
Changing password for user qjit.
Changing password for qjit.
(current) UNIX password:

系统可能会要求先输入当前的密码,验证无误会再输入要修改的新密码。

root用户还可以修改其它用户的密码:

# passwd qjit
Changing password for user qjit.
New password:

passwd命令的另一个功能就是查看某一用户密码的状态,这是通过在命令中使用-S选项来完成的。

# passwd -S qjit
qjit PS 2021-04-30 0 99999 7 -1 (Password set, SHA512 crypt.)

-S选项的输出,第一个字段是用户的登录名;第二个字段指示用户帐户是否有锁定密码 (LK)、没有密码 (NP) 或有可用密码 (PS);第三个字段给出上次更改密码的日期;接下来的四个字段是密码的最短期限、最长期限、警告期限和不活动期限。 这些时间以天表示。

whatis命令

由于Linux或UNIX操作系统的命令和命令中的选项及参数实在太多了,因此Linux和UNIX系统的作者们建议用户不要试图记住所有命令的用法,实际上也不可能记住。而是借助于Linux或UNIX提供的多种帮助工具。

whatis命令就是实现这一目的存在的,该命令显示所查询命令的简单说明。whatis命令的用法非常简单,例如,如果想知道uname命令的用法。

$ whatis uname
uname (1)            - print system information

以上命令显示,用户手册的第一章节列出命令的“print system information”相关信息。

$ man 1 uname