通配符 | 含义 |
* | 匹配任意长度的任意字符 |
? | 匹配任意单个字符 |
[ ] | 匹配指定范围内的任意单个字符 |
[^] | 匹配指定范围外的任意单个字符 |
[[:upper:]]: 所有大写字母。
[[:lower:]]: 所有小写字母。
[[:alpha:]]: 所有字母。
[[:digit:]]: 所有数字。
[[:alnum:]]: 所有数字和字母。
[[:space:]]: 所有空白字符。
[[:punct:]]: 所有标点符号。
1)su命令和su - 命令最大的本质区别就是:
- 前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
- 而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。
例如:
[root@zcf ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@zcf ~]# su zcf
[zcf@zcf root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[zcf@zcf root]$ exit
exit
[root@zcf ~]# su - zcf
Last login: Mon Jul 18 17:55:00 CST 2022 on pts/0
[zcf@zcf ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/zcf/.local/bin:/hom e/zcf/bin
2)参数:-c :可以变更账户的使用者,然后执行对应的命令完成后切换回来。
[root@zcf ~]# su - zcf -c 'echo $HOME'
/home/zcf
[root@zcf ~]# who -b
system boot 2022-07-18 14:24
[root@zcf ~]# who -r
run-level 5 2022-07-18 14:24
显示谁登录过系统并且现在在做什么。
[root@zcf ~]# w
19:50:32 up 2 min, 2 users, load average: 0.45, 0.45, 0.19
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zcf :0 :0 19:48 ?xdm? 18.62s 0.17s /usr/libexec/gn
root pts/0 192.168.186.1 19:50 0.00s 0.03s 0.00s w
命令第一行:显示当前时间;上次启动到运行总共多长时间;当前登录用户个数;系统平均负载。
打印详细的系统信息。
-a:按下边的顺序打印所有信息
-s:打印内核名称
-n:打印网络节点主机名
-r: 打印内核发行编号
-v: 打印内核版本
-m:打印硬件名称
-p: 打印处理器类型
-i: 打印硬件平台
-o: 打印操作系统
[root@zcf ~]# uname
Linux
[root@zcf ~]# uname -a
Linux zcf 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@zcf ~]# uname -s
Linux
[root@zcf ~]# uname -n
zcf
[root@zcf ~]# uname -r
3.10.0-1160.el7.x86_64
[root@zcf ~]# uname -v
#1 SMP Mon Oct 19 16:18:59 UTC 2020
[root@zcf ~]# uname -m
x86_64
[root@zcf ~]# uname -p
x86_64
[root@zcf ~]# uname -i
x86_64
[root@zcf ~]# uname -o
GNU/Linux
[root@zcf ~]# uptime
20:05:35 up 17 min, 2 users, load average: 0.03, 0.04, 0.09
[root@zcf ~]# last
root pts/0 192.168.186.1 Mon Jul 18 19:50 still logged in
zcf :0 :0 Mon Jul 18 19:48 still logged in
reboot system boot 3.10.0-1160.el7. Mon Jul 18 19:48 - 20:06 (00:18)
root pts/0 192.168.186.1 Mon Jul 18 14:26 - crash (05:21)
zcf :0 :0 Mon Jul 18 14:25 - crash (05:22)
[root@zcf ~]# dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-1160.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root ro spectre_v2=retpoline rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8
[root@zcf ~]# free
total used free shared buff/cache available
Mem: 995676 711332 78220 16104 206124 125036
Swap: 2097148 46300 2050848
[root@zcf ~]# free -m
total used free shared buff/cache available
Mem: 972 694 75 15 202 122
Swap: 2047 45 2002
[root@zcf ~]# free -h
total used free shared buff/cache available
Mem: 972M 694M 75M 15M 202M 122M
Swap: 2.0G 45M 2.0G
[root@zcf ~]# ps -aux |head -n 5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.4 193968 4320 ? Ss 10:52 0:01 /usr/lib/systememd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 10:52 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 10:52 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 10:52 0:00 [ksoftirqd/0]
8.ps -ef和ps -eF 使用标准语法显示当前系统所有进程.
[root@zcf ~]# ps -ef | head -n5
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:52 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 10:52 ? 00:00:00 [kthreadd]
root 4 2 0 10:52 ? 00:00:00 [kworker/0:0H]
root 6 2 0 10:52 ? 00:00:00 [ksoftirqd/0]
[root@zcf ~]# ps -eF | head -n5
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 48492 4320 0 10:52 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 0 0 0 10:52 ? 00:00:00 [kthreadd]
root 4 2 0 0 0 0 10:52 ? 00:00:00 [kworker/0:0H]
root 6 2 0 0 0 0 10:52 ? 00:00:00 [ksoftirqd/0]
显示Linux进程信息。
1)基本命令:top[参数]
2)命令功能:显示当前系统正在执行的进程的相关信息
[root@zcf ~]# top
top - 13:40:46 up 2:25, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 211 total, 2 running, 209 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
KiB Mem : 995676 total, 67480 free, 720900 used, 207296 buff/cache
KiB Swap: 2097148 total, 2029564 free, 67584 used. 108292 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4823 root 20 0 162248 2320 1572 R 0.7 0.2 0:00.09 top
745 root 20 0 295376 1772 1304 S 0.3 0.2 0:13.42 vmtoolsd
1 root 20 0 193968 4416 2436 S 0.0 0.4 0:02.28 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.28 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.62 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.07 watchdog/0
第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
13:40:46 — 当前系统时间
up 2:25 — 系统已经运行2小时25分钟
3users — 当前有3个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行,Tasks — 任务(进程),具体信息说明如下:
系统现在共有211个进程,其中处于运行中的有2个,209个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个.
第三行,cpu状态信息,具体属性说明如下:
0.0%us — 用户空间占用CPU的百分比。
0.3% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
99.7% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行,内存状态,具体信息如下:
995676 total — 物理内存总量
720900 used — 使用中的内存总量
67482 free — 空闲内存总量
207296 buffers — 缓存的内存量
第五行,swap交换分区信息,具体信息说明如下
2097148 total — 交换区总量
67584 used — 使用的交换区总量
2029564 free — 空闲交换区总量
108292 cached — 缓冲的交换区总量
第六行 空白
第七行 各进程(任务)的状态监控,项目列信息说明如下:
PID:进程ID
USER:用户名
PR:进程优先级
NI:nice值,负值优先级高,正值优先级低
VIRI:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
%CPU:上次更新到现在的CPU时间占用百分比
%MEM: 进程使用的物理内存百分比
TIME+ :进程使用的CPU时间总计,单位1/100秒
COMMAND :进程名称(命令名/命令行)