目录
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指令
符号 | 含义 |
---|---|
* | 表示匹配任意长度的任意字符 |
? | 表示匹配任意一个字符 |
[ ] | 表示匹配[ ]内的任意单个字符 |
[^ ] | 表示匹配[ ]外的任意单个字符 |
具体用法:
[a-z],[0-9],[A-Z],[a-z0-9]
[[:upper:]]-------------所有大写字母
[[:lower:]]-------------所有小写字母
[[:alpha:]]-------------所有字母
[[:dight:]]--------------所有数字
[[:alnum:]]------------所有字母和数字
[[:space:]]------------所有空白字符
[[:punct:]]-------------所有标点符号
[^[:upper:]]-----------所有大写字母以外
[^0-9]-----------------所有数字以外
[^[:alnum:]]----------所有数字和字母以外
-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
硬件时钟是电脑纯硬件时间,一般为主板时间
系统时间为电脑的操作系统时间
hwclock 是查询Linux硬件时间
hwclock -s 根据硬件时间设置系统时间
hwclock -w 根据系统时间设置硬件时间
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
su命令是切换用户的操作。root用户切换用户时不需要输入密码,其他用户切换时需要密码。但是值得注意的地方是 su 和 su - 的差别。
su :切换用户时,用户变量不会切换,切换的用户使用的还是之前用户的环境变量
su - :切换用户时,环境变量也一起切换
等同于快捷键 ctrl+l ,都可以实现清屏。
打印当前登录用户的详细信息
[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)
显示都有谁登陆过系统,并且可以显示当前用户在做什么操作
[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分钟的平均负荷
打印系统详细信息
uname选项:
-a:按下边的顺序打印所有信息
-s:打印内核名称
-n:打印网络节点主机名
-r: 打印内核发行编号
-v: 打印内核版本
-m:打印硬件名称
-p: 打印处理器类型
-i: 打印硬件平台
-o: 打印操作系统
显示系统从运行到现在的时间
显示最近登录的用户
[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)
显示开机信息
显示系统内存使用情况
主要选项有 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
打印当前系统进程
选项:
-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:该程序的实际指令。
显示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:进程名称(命令名/命令行)