1.linux通配符

通配符

含义

     *       

匹配任意长度的任意字符

匹配任意单个字符

[ ]

匹配指定范围内的任意单个字符

[^]

匹配指定范围外的任意单个字符

[[:upper:]]: 所有大写字母。

[[:lower:]]: 所有小写字母。

[[:alpha:]]: 所有字母。

[[:digit:]]: 所有数字。

[[:alnum:]]: 所有数字和字母。

[[:space:]]: 所有空白字符。

[[:punct:]]: 所有标点符号。

2.grep 命令常见参数及使用方法


-i 忽略大小 



-n 打印行号



-v 反向过滤内容



-r 目录递归搜索



-l 打印模式匹配到的文件



-w 精确匹配整个单词



-o 仅输出匹配到的内容



-A 打印匹配到行之后的多少行 其后加数字



-B 打印匹配到行之前的多少行 其后加数字



-C 打印匹配到行的前后多少行 其后加数字



-E 代表开启扩展正则表达式



3.硬件时钟和系统时钟。


硬件时钟是自己电脑的纯硬件时间,通常是主板时间 。




系统时钟是自己电脑的操作系统时间,这个时间在安装操作系统的时候就设置过了。




hwclock 是查询 linux 硬件时间




date 命令是获取系统时间




hwclock 常用修改参数




-s, 设置系统时间从硬件时间来




-w, 设置硬件时间从当前系统时间获取




4.su 指令

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

5.who 命令



打印当前是哪些用户正在登录的详细信息




1)基本指令:who




2)参数:-b:指出最近系统启动时间和日期。



                 -r: 显示当前进程的运行级别。




[root@zcf ~]# who -b
         system boot  2022-07-18 14:24
[root@zcf ~]# who -r
         run-level 5  2022-07-18 14:24

6.w 命令

显示谁登录过系统并且现在在做什么。

[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

命令第一行:显示当前时间;上次启动到运行总共多长时间;当前登录用户个数;系统平均负载。

7.uname 命令

打印详细的系统信息。

 -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

8.uptime 命令



显示系统自运行以来多长时间




[root@zcf ~]# uptime
 20:05:35 up 17 min,  2 users,  load average: 0.03, 0.04, 0.09

9.last 命令



显示最近登录过的用户 通常用来排查定位哪些用户登录过系统




[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)

10.dmesg命令

[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 (mockbuild@kbuilder.bsys.centos.org) (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

11.free命令



显示系统内存的使用情况。



1)参数:free -m和 free -h




[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

12. ps 命令



打印当前系统进程情况的快照。




1)linux上进程有5种状态: 




1.运行(正在运行或在运行队列中等待)。




2.中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)。




3.不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)。




4.僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)。




5.停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)。




2)ps工具标识进程的5种状态码: 




R 运行 runnable (on run queue)




S 中断 sleeping




D 不可中断 uninterruptible sleep (usually IO)




T 停止 traced or stopped




Z 僵死 a defunct (”zombie”) process




 ps 用于查看当前进程;  ps -ef 用于查看当前所有的进程。




其他常用参数如下:




1.ps a 显示现行终端机下的所有程序,包括其他用户的程序。




2.ps  -A 显示所有程序。




3.ps  c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。




4.ps -e 此参数的效果和指定"A"参数相同。




5.ps e 列出程序时,显示每个程序所使用的环境变量。




6.ps -a 列出所有运行中的进程。




7. ps -aux 使用BSD语法显示全部进程信息,包括无终端的(x)和针对用户(u)的进USER,PID,%CPU,%MEM等




[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]



USER:表示用户名




UID:表示用户id




PID:表示进程id




PPID:表示父进程id




%CPU:表示cpu占用率




%MEM:表示内存占用率




VSZ:表示虚拟内存




RSS:表示实际内存




TTY:表示是在那个终端机上面运行,如与终端机无关,则显示?。




STAT:表示进程运行状态




START:启动时间




TIME:进程运行了多长时间




13.top命令

显示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



RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA




SHR:共享内存大小,单位kb




S :进程状态




%CPU:上次更新到现在的CPU时间占用百分比

%MEM: 进程使用的物理内存百分比

TIME+ :进程使用的CPU时间总计,单位1/100秒

COMMAND :进程名称(命令名/命令行)