0
点赞
收藏
分享

微信扫一扫

01.系统管理与维护命令

系统管理与维护命令

ls 命令

  1. 功能说明
    显示指定工作目录下的内容,列出工作目录所含的文件及子目录。此命令与下的语法如下:

ls [选项] [路径或文件]

ls的选项说明如下表所示。

ls的选项及其含义

选 项

含 义

-a

显示指定目录下的所有文件以及子目录,包含隐藏文件(Linux 下将“.”开头的文件或者目录视为隐藏文档)

-d

只显示目录列表,不显示文件

-l

除文件名称外,同时将文件或者子目录的权限、使用者和大小等信息详细列出

-s

在每个文件名后输出该文件的大小

-k

以 k 字节的形式表示文件的大小

-u

以文件上次被访问的时间排序

-t

以时间排序

-o

显示除组信息外的详细信息

-x

按列输出,横向排序

-r

对目录反向排序

-q

用?代替不可输出的字符

-m

横向输出文件名,并以“,”作分格符

-S

以文件大小排序

-R

列出所有子目录下的文件

-pF

在每个文件名后附上一个字符以说明该文件的类型。“*”表示可执行的普通文件,“/”表示目录,“@”表示符号链接,“|”表示 FIFOs, “=”表示套接字(sockets)

-C

按列输出,纵向排序

-R

列出所有子目录下的文件

-Q

把输出的文件名用双引号括起来

  1. 举例

列出/home 目录下文件及其子目录。

# ls -l /home/
总用量 0
drwx------ 2 test    test    83 4月  25 01:16 test
drwx------ 2 woman   myhome  62 4月  25 01:14 woman
drwx------ 2 yunlong myhome 101 4月  27 01:16 yunlong

显示/home/yunlong下的所有文件及其子目录的详细信息,并显示文件类型标记。

# ls -alF
总用量 12
drwx------  2 yunlong myhome 101 4月  27 01:16 ./
drwxr-xr-x. 5 root    root    46 4月  25 01:14 ../
-rw-r--r--  1 root    root     0 4月  27 01:16 1.txt
-rw-r--r--  1 root    root     0 4月  27 01:16 2.txt
-rw-r--r--  1 root    root     0 4月  27 01:16 3.txt
-rw-r--r--  1 yunlong myhome  18 11月 25 2021 .bash_logout
-rw-r--r--  1 yunlong myhome 193 11月 25 2021 .bash_profile
-rw-r--r--  1 yunlong myhome 231 11月 25 2021 .bashrc

pwd命令

  1. 功能说明

显示当前的工作目录,执行 pwd 指令可立刻得知目前所在的工作目录的绝对路径名称, pwd 命令的语法如下:

pwd

cd命令

  1. 功能说明

改变当前工作目录,其用法与Windows下的cd类似。具体的语法格式如下:

cd [目录名]

cd命令的选项及其说明如下表所示。

cd命令的选项及其说明

命令格式

说 明

cd [目录]

切换到有目录名指定的目录下,注意 Linux下文件和目录是区分大小写的

cd 或者cd ~

返回当前用户的默认工作目录,注意 cd与“~之间有一个空格

cd~[用户名]

返回指定用户的工作目录下,注意这里“~和用户名之间没有空格

cd ..或者 cd ../

返回到上级工作目录下

cd /

返回到根目录下

  1. 举例

切换到/usr/bin 目录下,命令如下:

#cd /usr/bin/
# pwd 
/usr/bin

返回到 oracle 工作目录下,命令如下:

# cd ~yunlong
# pwd
/home/yunlong

date命令

  1. 功能说明

显示或者修改系统时间与日期。只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。date命令的语法如下:

date [选项] 显示时间格式 (以+开头,后面接时间格式)

Date命令的选项及其说明如下。

  • -s --set:设置系统时间。
  • -d --date:显示描述的日期。

时间显示格式如下所示。

时间显示格式

格 式

表示含义

%H

显示小时,表示范围是 00~23

%I

显示小时,表示范围是 01~12

%k

显示小时,表示范围 0~23

%l

显示小时,表示范围 1~12

%M

显示分钟,显示格式为 00~59

%S

显示秒钟,显示格式为 00~59

%p

显示是 AM(上午)还是 PM(下午)

%r

显示时间,格式为 hh:mm:ssAMPM,其中 hh代表小时,mm代表分钟,ss代表秒

%T

显示时间,格式为 hh:mm:ss

%x

显示年份和日期,格式为 mm/dd/yyyy,这里的 代表年份

%X

显示时间格式,相当于%H:%M:%S  的组合

%a

显示星期几

%b %B

显示月份,%b 是月的简称,%B 是显示月的全称

%m

显示月份,表示格式为从 01~12

%Z

显示时区

%d

显示一个月的第几天

%D

显示年份和月份,格式为 mm/dd/yy,这里 yy 代表年份的最后两个数字

%Y %y

显示年份,%Y 显示完整的年份,%y 显示年份的最后两个数字

%c

显示日期和时间格式,相当于“%a %d %b %Y %r %Z”的组合

  1. 举例

(1) 用指定的格式显示时间和日期。

# date '+This date now is:%x, time is now:%X, thanks!'
This date now is:2024年04月27日, time is now:15时53分48秒, thanks!

(2) 修改系统时间。

# date -s 20240427
2024年 04月 27日 星期六 00:00:00 CST
# date -s 15:53:30
2024年 04月 27日 星期六 15:53:30 CST

也可以将上面两部合并到一起。

# date -s "20240427 15:55:30"
2024年 04月 27日 星期六 15:55:30 CST

(3) 显示两天前的时间。

# date '+%Y-%m-%d'
2024-04-27
# date -d "2 days ago" +%Y-%m-%d
2024-04-25

passwd命令

  1. 功能说明

用于设置用户口令。语法格式如下:

passwd [用户名]

  1. 举例

(1) 普通用户要修改自己的口令,可使用以下命令:

passwd

然后根据提示连续两次输入口令即可。

(2) 超级用户 root 修改某个用户的口令时,使用以下命令:

passwd [用户名]

然后根据提示连续两次输入口令即可。

root 修改自己的密码时,只需输入:

passwd

或者

passwd

然后根据提示连续两次输入口令即可。

su命令

  1. 功能说明

su命令主要用于改变用户身份,其格式如下:

su [选项] [用户名]

su命令的选项及其说明如下所示。

su命令的选项及其说明

选 项

说 明

-

加载相应用户下的环境变量

-l

使目前的 shell成为改变身份后用户默认的 shell

-c

改变身份运行一个指令后就结束

-m

改变用户身份,但是不改变环境变量

  1. 举例

(1) 普通用户要成为超级用户,可执行如下命令。

$su -

根据系统提示输入超级用户口令,即可转变为超级用户。

注意:su 后面的“-”就是加载 root 环境变量,如果直接输入su 也可以转变为超级用户,但是由于没有加载 root 环境变量,因此某些指令可能无法执行,会提示“command not found”。

(2) 在普通用户A 下修改超级用户 root 的口令,可以使用下面的命令。

$su –c passwd

然后根据提示输入 root 口令,接着连续两次输入 root 用户新的密码。执行完毕,系统自动退出到普通用户A 下。

-

加载相应用户下的环境变量

-l

使目前的 shell 成为改变身份后用户默认的 shell

-c

改变身份运行一个指令后就结束

-m

改变用户身份,但是不改变环境变量

clear命令

  1. 功能说明

clear 命令用来清除屏幕信息,格式如下:

man命令

  1. 功能说明

    man命令用来显示指定命令的帮助信息,其格式如下:

man [命令名称]

  1. 举例

需要得到 ls 命令的帮助信息。

# man ls

who命令

  1. 功能说明

who 命令显示目前登录到系统的用户,其格式如下:

who [选项] [file]

who 命令的一般输出格式如下:

名称 [状态] 线路 时间 [活动] [进程标识](主机名)

  • 名称:用户的登录名。
  • 状态:表明线路是否对用户都是可写的。
  • 线路:类似于 pts/1、pts/2 等,此线路标识在/dev 目录中可找到。
  • 时间:用户登录系统的时间。
  • 活动:某个用户在自己的线路上最后一次活动发生以来到现在的时间,如果此项是个“.”,就表示一分钟内的线路活动;如果线路保持静止已经超过 24 小时或自从系统启动以来还没有被使用过,那么此项标记为“old”。
  • 进程标识:用户登录 shell 的进程id。
  • 主机名:登录到 Linux 系统上的客户端机器标识。

who 命令的选项及其说明如表所示。

who 命令的选项及其说明

选 项

说 明

-a

列出所有信息,相当于所有选项

-b

列出系统最近启动的时间日期

-l

列出所有可登录的终端信息

-m

仅列出关于当前终端的信息。“who –m”命令等同于“who am i”和“who am I”命令

-q

列出在本地系统上的用户和用户数的清单

-r

显示当前系统的运行级别

-s

仅显示名称、线路和时间字段信息。这是 who 默认的输出,即“who”和“who –s”命令是等效的

-u

显示当前每个用户的用户名、登录终端、登录时间、线路活动和进程标识

-T 或-w

显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root用户或所有者可写,“<”表示遇到线路故障

在 Linux 下who 通常通过/var/run/utmp 文件来获取信息,如果“[file]”选项指定另一个文件,则 who 命令不再默认读取/var/run/utmp 文件,而是读取指定文件来获取信息。

  1. 举例

(1) 系统处于什么运行级别。

01.系统管理与维护命令_主机名

(2) 显示系统最近启动日期,以及当前每个用户的登录详情,终端状态。

01.系统管理与维护命令_用户名_02

w命令

  1. 功能说明

用于显示登录到系统的用户信息,其格式如下:

w [选项] [用户]

w 命令的选项及其说明如下表所示。

w 命令的选项及其说明

选 项

含 义

-h

不显示输出信息的标题

-l

用长格式输出

-s

用短格式输出,不显示登录时间、JCPU 和 PCPU 时间

-V

显示版本信息

[用户]表示当指定用户后,只显示该用户的信息。


  1. 举例

显示当前用户登录信息。

01.系统管理与维护命令_用户名_03

  • 上面第 1 行输出显示了当前的系统时间、系统从启动到现在已经运行的时间、登录到系统中的用户数和系统平均负载。平均负载是指在 1 分种、5 分钟、15 分钟内系统负载状况。
  • USER:表示登录系统的用户。
  • TTY:表示用户使用的 TTY 名称。
  • FROM:表示用户从哪里登录进来,一般显示远程登录主机的 IP 地址或者主机名。
  • LOGIN@:用户登录的日期和时间。
  • IDLE:表示某个程序上次从终端开始执行到现在所持续的时间。
  • JCPU:表示该终端上的所有进程及子进程使用系统的总时间。
  • PCPU:当前活动进程使用的系统时间。
  • WHAT:当前用户执行的进程名称和选项。

uname 命令

  1. 功能说明

uname 命令用来显示操作系统相关信息。其格式如下:

uname [选项]

uname 命令的选项及其说明如表所示。

uname 命令的选项及其说明

选 项

含 义

-a

显示操作系统全部信息

-m

显示系统 CPU 类型,是 32 位还是 64 位系统

-n

显示操作系统的主机名

-s

显示操作系统类型

-r

显示操作系统内核版本

  1. 举例

(1) 下面显示的是一个 64 位 ubuntu Linux 的操作系统,内核版本为 5.4.0-100-generic,主机名为localhost.localdomain。

01.系统管理与维护命令_基础命令_04

(2) 下面显示的是一个 64 位 Linux 的位操作系统,内核版本为 3.10.0-1160.el7.x86_64,主机名为centos7.9。

01.系统管理与维护命令_主机名_05

uptime命令

  1. 功能说明

uptime 命令用来输出系统任务队列信息,其格式如下:

uptime

uptime 输出当前系统时间、系统开机到现在的运行时间、目前有多少用户在线和系统平均负载等。

  1. 举例

[root@web1 ~]# uptime
16:03:08 up 4 days, 1:49, 2 users, load average: 0.12, 0.20, 0.17

上面的输出表示现在系统时间是 16:03:08,系统已经运行 4 天零 1 小时 49 分钟,目前有两个用户在线,系统在 1 分钟、5 分钟、15 分钟前到现在的平均负载为 0.12, 0.20, 0.17。

last命令

  1. 功能说明

列出目前与过去登入系统的用户相关信息。当执行 last 指令时,它会默认读取位于/var/log 目录下名称为 wtmp 的文件,并把该给文件记录的登入系统的用户名单全部显示出来。

last [选项] [-n 显示列数]

last 命令的选项及其说明如表所示。

last 命令的选项及其说明

选 项

含 义

-a

把从何处登入系统的主机名称或 IP地址显示在最后一行

-R

不显示登入系统的主机名称或 IP地址

-x

显示系统关机、重新开机以及执行等级的改变等信息

-n <显示列数>或-<显示列数>

设置列出名单的显示列数

-d

将显示的 IP地址转换成主机名称

dmesg命令

  1. 功能说明

显示开机信息。内核会将开机信息存储在系统缓冲区(ring buffer)中,如果开机来不及查看相关信息,可以在开机后利用 dmesg 命令查看,也可以在/var/log/目录中查看 dmesg 文件。其格式如下:

dmesg [选项]

dmesg 命令的选项及其说明如表所示。

dmesg 命令的选项及其说明

选 项

含 义

-c

显示开机信息后,清除ringbuffer信息

-s

设置缓冲区大小,默认设置为 8192

-n

设置记录信息的层级

free命令

  1. 功能说明

free 命令用来显示系统内存状态,具体包括系统物理内存、虚拟内存、共享内存和系统缓存。其格式如下:

free [选项] [-s (间隔秒数)]

free 命令的选项及其说明如表所示。

free 命令的选项及其说明

选 项

含 义

-b

Byte 为单位显示内存使用情况

-m

MB 为单位显示内存使用情况

-K

kB 为单位显示内存使用情况

-t

显示内存总和列

-s(间隔秒数

根据指定的间隔秒数持续显示内存使用情况

-o

不显示系统缓冲区列

  1. 举例

列出当前内存的使用状况,以MB 的形式显示,如图所示。

01.系统管理与维护命令_基础命令_06

从图中可以看出,系统总的物理内存为  64GB,已经使用了  2467MB,空闲的内存有56538MB。而交换分区 swap 总大小为 32GB,还没有被系统使用。

ps命令

  1. 功能说明

ps 命令显示系统进程在瞬间的运行动态,其格式如下:

ps [选项]

ps 的选项非常之多,这里我们仅仅列出常用的选项介绍,ps 命令的选项及其说明如表所示。

ps 命令的选项及其说明

选 项

含 义

a

显示所有用户的进程,包含每个程序的完整路径

-x

显示所有系统程序,包括那些没有终端的程序

-u

显示使用者的名称和起始时间

-f

详细显示程序执行的路径群

-c

只显示进程的名称,不显示进程的完整路径

-e

将除内核进程以外所有进程的信息写到标准输出

  1. 举例

(1) 要查看目前使用者的进程,使用以下命令,如图所示。

01.系统管理与维护命令_系统时间_07

默认 ps 命令输出使用者自己的进程:

  • PID 是进程的标识号;
  • TTY 是进程所属的终端控制台;
  • TIME 列是进程所使用的总的 CPU 时间;
  • CMD 列列出正在执行的命令行。

(2) 查看系统所有进程,使用以下命令:

[root@localhost.localdomain ~]# ps -ef

注意:ps 命令是 Linux 系统最基本最常用的,非常强大的进程查看命令,使用该命令可以确定哪些进程在运行,进程占用了多少资源,是否合理,运行状态是否正常,进程是否结束,进程有没有僵死现象,等等,该命令最常用的选项就是 e、f、a、u,相应的选项组合为 ps –ef、ps aux,可以通过这些组合准确定位系统进程运行状态。

top命令

top 命令提供了实时的对系统处理器状态的监控,它能够实时显示系统中各个进程的资源占用状况。该命令可以按照对 CPU 的使用、内存使用和执行时间对系统任务进程进行排序显示,同时top 命令还可以通过交互式命令进行设定显示。

  1. 功能说明

查看即时活跃的进程,类似于 的任务管理器。其格式如下:

top [选项]

top 的选项很多,这里列出常用的选项及其含义,如表所示。

top 命令的选项及其含义

选 项

含 义

-d

指定每两次屏幕信息刷新之间的时间间隔

-i

不显示闲置或者僵死的进程信息

-c

显示进程的整个命令路径,而不是只显示命令名称

-s

使 top 命令在安全模式下运行,此时 top 的交互式指令被取消,避免潜在危险

-b

分屏显示输出信息,结合“-n”选项可以将屏幕信息输出到文档

-n

top 输出信息更新的次数,完成后将退出top 命令

top 命令除了一些选项,还有很多交互式命令。交互式命令就是在 top 命令执行过程中使用的一些命令,这些命令都是单个字母,从应用来讲,熟悉这些交互式命令至关重要。下表所示就是交互式命令和具体的含义。

交互式命令及其含义

交互命令

含 义

h 或?

显示帮助信息,给出交互式命令的一些说明总结

k

终止一个进程,系统将提示用户输入一个需要终止进程的 PID

i

忽略闲置进程和僵死进程,这是一个开关式命令




s

改变 top 输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是秒。如果是小数,就换算成毫秒;如果输入 0,系统输出将不断刷新,默认刷新时间是 5 秒。需要注意的是,如果设置太小的时间,可能会引起系统不断刷新,无法看清输

出显示情况,而且系统负载也会加大



o 或者 O

改变 top 输出信息中显示项目的顺序。按小写的“a~z”键可以将相应的列向右移动,而按大写的“A~Z”键可以将相应

的列向左移动。最后按回车键确定



f 或者F

从当前显示列表中添加或者删除项目。按“f”键之后会显示列的列表,按“a~z”键即可显示或隐藏对应的列。最后按回车键确定

m

切换显示内存信息

t

切换显示进程和 CPU 状态信息



r

重新设置一个进程的优先级,系统提示用户输入需要改变的进程 PID 以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是

10

l

切换显示平均负载和启动时间信息

q

退出 top 显示

c

切换显示完整命令行和命令名称信息

M

根据驻留内存大小进行排序输出

P

根据 CPU 使用百分比大小进行排序输出

T

根据时间/累计时间进行排序输出

S

切换到累计模式

W

将当前 top 设置写入~/.toprc 文件中

  1. 举例

查看当前系统活动的进程,具体的命令和结果如图所示。

01.系统管理与维护命令_主机名_08

从图中可以看到,top 的输出可以分为统计信息区和进程信息区两个部分,即前 5 行显示为统计信息区,下面为进程信息区,我们分别进行介绍。

(1) 统计信息区

第 1 行为任务队列信息,含义如下。

  • 13:29:02:表示当前系统时间。
  • up 3 days,23:15:表示系统已经启动 3 天零 23 小时 15 分钟了。
  • 2 users:当前登录系统的用户数。
  • load average: 0.47, 0.20, 0.10:表示系统平均负载,3 个数值分别表示 1 分钟、5 分钟、 15 分钟前到现在的系统平均负载值。

第 2 行和第 3 行分别为进程和 CPU 信息,具体含义如下。

  • Tasks: 122 total:进程的总数。
  • 1 running:正在运行的进程数。
  • 121 sleeping:处于休眠的进程数。
  • 0 stopped:停止的进程数。
  • 0 zombie:僵死的进程数。
  • Cpu(s): 0.3% us:表示用户进程占用 CPU 的百分比。
  • 0.1% sy:系统进程占用 CPU 的百分比。
  • 0.0% ni:用户进程空间内改变过优先级的进程占用 CPU 百分比。
  • 99.3% id:空闲 CPU 占用的百分比。
  • 0.2% wa:等待输入输出的进程占用 CPU 的百分比。最后两行输出的是内存信息,具体含义如下。
  • Mem: 4059952k total:系统的物理内存大小。
  • 4009540k used:已经使用的物理内存大小。
  • 50412k free:目前空余内存大小。
  • 468964k buffers:用作内核缓冲区的内存大小。
  • Swap: 8193108k total:交换分区内存大小。
  • 0k used:已经使用的交换分区大小。
  • 8193108k free:空闲的交换分区大小。
  • 2320396k cached:高速缓存。

(2) 进程信息区

进程信息区显示了每个进程的运行状态,我们先来看一下每列输出的含义。

  • PID:进程的 id。
  • USER:进程所有者的用户名。
  • PR:进程优先级。
  • NI:nice 值。负值表示高优先级,正值表示低优先级。
  • VIRT:进程使用的虚拟内存总量,单位  kB。VIRT=SWAP+RES。
  • RES:进程使用的、未被换出的物理内存大小,单位 kB。RES=CODE+DATA。
  • SHR:共享内存大小,单位kB。
  • S:进程状态,D 表示不可中断的睡眠状态,R 表示运行状态,S 表示睡眠状态,T 表示跟踪/停止,Z 表示僵死进程。
  • %CPU:上次更新到现在的 CPU 时间占用百分比。
  • %MEM:进程占用的物理内存百分比。
  • TIME+:进程使用的 CPU 时间总计,单位为 1/100 秒。
  • COMMAND:正在运行进程的命令名或者命令路径。
举报

相关推荐

0 条评论