Linux通配符

目录

1.命令行通配符

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

3.硬件时钟和系统时钟

4.passwd命令

5.su命令

su与su - 的差别:

6.clear指令

7.who 命令

8.w 命令

9.uname命令

10.uptime命令

11.last指令

12.dmesg指令

13.free指令

14.ps指令

15.top指令
​​​​​​​

1.命令行通配符

        符号 含义
            * 表示匹配任意长度的任意字符
           ? 表示匹配任意一个字符
           [ ] 表示匹配[ ]内的任意单个字符
          [^ ]  表示匹配[ ]外的任意单个字符

具体用法:

[a-z],[0-9],[A-Z],[a-z0-9]

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

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

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

        [[:dight:]]--------------所有数字

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

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

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

        [^[:upper:]]-----------所有大写字母以外

        [^0-9]-----------------所有数字以外

        [^[:alnum:]]----------所有数字和字母以外

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

-i 忽略大小

-n 打印行号

-v 反向过滤内容

-r 目录递归搜索

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

-w 精确匹配整个单词

-o 仅输出匹配到的内容

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

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

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

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

练习:

(1)、显示/proc/meminfo 文件中以大小 s 开头的行

cat /proc/meminfo |grep '^[Ss]' cat /proc/meminfo |grep -i '^s'

(2)、显示/etc/passwd 文件中不以/bin/bash 结尾的行

grep -v '/bin/bash$' /etc/passwd

(3)、使用正则命令取出本机 ens33 网卡的 IPv4 地址

ip a show ens33 |grep -Eo '([0-9]{1,3}.){1,3}[0-9]{1,3}/' | grep -Eo '([0-9]{1,3}.){1,3}[0-9]{1,3}'

ip a | grep 'ens33' | grep inet | grep -Eo '([0-9]{1,3}.){1,3}[0-9]{1,3}/' | grep -Eo '([0-9]{1,3}.){1,3}[0-9]{1,3}'

ip a | grep 'ens33' | grep inet | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/' | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0- 9]{1,3}'

(4).显示出/etc/passwd 文件中所有以 root 开头的行

grep '^root' /etc/passwd

(5)输出/etc/passwd 文件中任何包含 bash 的所有行,还要输出紧接着这行的上下各两行的内容 grep -C 2 'bash' /etc/passwd

(6)显示出/etc/passwd 文件中那些行含有 root,并将行号一块输出。

grep -n 'root' /etc/passwd

(7)显示/etc/passwd 中以 nologin 结尾的行;

grep 'nologin$' /etc/passwd

(8)显示/etc/inittab 中包含了:一个数字:(即两个冒号中间一个数字)的行;

grep ':[0-9]:' /etc/inittab

3.硬件时钟和系统时钟

硬件时钟是电脑纯硬件时间,一般为主板时间

系统时间为电脑的操作系统时间

hwclock 是查询Linux硬件时间

hwclock -s  根据硬件时间设置系统时间

hwclock -w 根据系统时间设置硬件时间

4.passwd命令

passwd是用来修改用户密码的指令,只有root用户有修改其他用户密码的资格

[root@localhost home]# passwd fox
Changing password for user fox.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

--stdin  选项

echo "ssss" | passwd fox --stdin

5.su命令

su命令是切换用户的操作。root用户切换用户时不需要输入密码,其他用户切换时需要密码。但是值得注意的地方是 su  和 su - 的差别。

su与su - 的差别:

        su :切换用户时,用户变量不会切换,切换的用户使用的还是之前用户的环境变量

        su - :切换用户时,环境变量也一起切换

6.clear指令

等同于快捷键  ctrl+l ,都可以实现清屏。

7.who 命令

打印当前登录用户的详细信息

[root@localhost home]# who
root     :0           2022-07-18 14:25 (:0)
root     pts/0        2022-07-18 19:47 (:0)
root     pts/1        2022-07-18 19:48 (192.168.75.1)

8.w 命令

显示都有谁登陆过系统,并且可以显示当前用户在做什么操作

[root@localhost home]# w
 20:03:31 up  5:15,  3 users,  load average: 0.06, 0.05, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               14:25   ?xdm?   1:11   0.22s /usr/libexec/gn
root     pts/0    :0               19:47   16:07   0.01s  0.01s bash
root     pts/1    192.168.75.1     19:48    3.00s  0.03s  0.02s w

 20:03:31 up  5:15,           3 users,                        load average: 0.06, 0.05, 0.05
当前系统时间            上次启动到现在的时间        系统平均负荷,分别为1分钟,5分钟,15分钟的平均负荷

9.uname命令

打印系统详细信息

uname选项:

         -a:按下边的顺序打印所有信息

         -s:打印内核名称
         -n:打印网络节点主机名
         -r: 打印内核发行编号

         -v: 打印内核版本

        -m:打印硬件名称

        -p: 打印处理器类型

        -i: 打印硬件平台

        -o: 打印操作系统

10.uptime命令

显示系统从运行到现在的时间

11.last指令

显示最近登录的用户

[root@localhost home]# last
root     pts/1        192.168.75.1     Mon Jul 18 19:48   still logged in
root     pts/0        :0               Mon Jul 18 19:47   still logged in
root     pts/1        192.168.75.1     Mon Jul 18 14:25 - 19:13  (04:47)
root     pts/0        :0               Mon Jul 18 14:25 - 15:55  (01:30)
root     :0           :0               Mon Jul 18 14:25   still logged in
reboot   system boot  3.10.0-1160.el7. Mon Jul 18 14:24 - 20:13  (05:48)
root     pts/1        :0               Mon Jul 18 11:40 - 11:43  (00:02)

12.dmesg指令

显示开机信息

13.free指令

显示系统内存使用情况

主要选项有 free -m,free -h

[root@localhost home]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        776M        339M         27M        703M        869M
Swap:          2.0G          0B        2.0G
[root@localhost home]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1819         776         340          27         703         869

14.ps指令

打印当前系统进程

选项:

        -e:显示当前系统的所有进程

        -A:显示所有进程,与-e作用相同

        -a:显示现行终端机下的所有进程,包括其他用户的进程。

        -f :用ASCII字符显示树状结构,表达程序间的相互关系。

        -u:显示用户的进程状态,按照用户名和进程启动时间排序

        -x:显示所有程序,不以终端机或虚拟机来区分,通常与-a一起使用

含义:     
        USER:该进程属于那个使用者账号。
        PID :该进程的进程ID号。
        %CPU:该进程使用掉的CPU 资源百分比;
        %MEM:该进程所占用的物理内存百分比;
        VSZ:该进程使用掉的虚拟内存量 (Kbytes)
        RSS :该进程占用的固定的内存量(Kbytes)
        TTY:该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。若为 pts/0 等等的, 则表示为由网络连接进主机的程序。
        STAT:该程序目前的状态;主要状态有5种:

                R:该程序目前正在运作,或者是可被运作;
                S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。

                T:该程序目前正在侦测或者是停止了;
                z:该程序应该已经终止,但是其父程序却无法正常的终止他,造成zombie(僵尸)状态

                D:不可中断状态
                START:该进程被触发启动的时间;
        TIME :该进程实际使用CPU 运作的时间。
        COMMAND:该程序的实际指令。

15.top指令

显示Linux进程信息

[root@localhost home]# top
top - 20:29:02 up  5:40,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 207 total,   1 running, 206 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 :  1863000 total,   347568 free,   795300 used,   720132 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   889376 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
   607 root      20   0  295376   5172   3948 S  0.3  0.3   0:16.83 vmtoolsd
  2169 root      20   0 2748972 203812  72520 S  0.3 10.9   0:10.67 gnome-shell
     1 root      20   0  128376   6964   4184 S  0.0  0.4   0:02.10 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:+

第一行:top - 20:29:02 up  5:40,  3 users,  load average: 0.00, 0.01, 0.05

20:29:02:当前系统时间

5:40:系统运行时间

3  users:当前登陆用户数量

load average: 0.00, 0.01, 0.05:系统平均负荷,分别为1分钟,5分钟,15分钟时的平均负荷

第二行:Tasks: 207 total,   1 running, 206 sleeping,   0 stopped,   0 zombie

207 total:进程总数

1 running:当前运行进程总数

206 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

%Cpu(s):  0.0 us:用户空间占用cpu百分比

0.3 sy:内存空间占用cpu百分比

0.0 ni:改变进程优先级的进程占用cpu百分比

99.7 id:空闲cpu百分比

 0.0 wa:等待占用cpu百分比

0.0 hi:硬中断占用cpu百分比

0.0 si:软中断占用cpu百分比

0.0 st:虚拟监控系统从 vm中偷取的时间

第四行:KiB Mem :  1863000 total,   347568 free,   795300 used,   720132 buff/cache

1863000 total:物理内存的总量

347568 free:空闲内存的总量

795300 used:使用的物理内存总量

720132 buff/cache:用于内核缓存的内存总量

第五行:KiB Swap:  2097148 total,  2097148 free,        0 used.   889376 avail Mem

2097148 total:交换分区内存总量

2097148 free:空闲交换分区内存总量

 0 used:使用的交换分区内存量

889376 avail Mem:可用与下次分配的物理内存总量 

第六行: PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND  

PID:进程id

USER:进程所有者

PR:进程优先级
NI :nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量, 单位kb。 VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。

SHR: 共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠 ,T=跟踪/停止, Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比

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

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

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

你可能感兴趣的:(linux,运维,服务器)