本节内容
pidof
ps
top
ip
uptime
wget
curl
tr
dd
tar
grep
find
命令详解
1.pidof
获取正在运行程序的PID
实例1:
[root@ken ~]# pidof sshd 24342 23786 3026
2.ps
查看系统中的进程状态
常用组合选项:
aux:是用BSD的格式来显示
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
-ef:是用标准的格式显示
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
实例1:
[root@ken ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 125576 4072 ? Ss Jan11 0:55 /usr/lib/systemd/systemd --switched-root --system --dese root 2 0.0 0.0 0 0 ? S Jan11 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jan11 0:05 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Jan11 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S Jan11 0:05 [kworker/u2:0] root 7 0.0 0.0 0 0 ? S Jan11 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S Jan11 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? R Jan11 0:17 [rcu_sched] root 10 0.0 0.0 0 0 ? S< Jan11 0:00 [lru-add-drain] root 11 0.0 0.0 0 0 ? S Jan11 0:02 [watchdog/0] root 13 0.0 0.0 0 0 ? S Jan11 0:00 [kdevtmpfs]
实例2;
[root@ken ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jan11 ? 00:00:55 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0 0 Jan11 ? 00:00:00 [kthreadd] root 3 2 0 Jan11 ? 00:00:05 [ksoftirqd/0] root 5 2 0 Jan11 ? 00:00:00 [kworker/0:0H] root 6 2 0 Jan11 ? 00:00:05 [kworker/u2:0] root 7 2 0 Jan11 ? 00:00:00 [migration/0] root 8 2 0 Jan11 ? 00:00:00 [rcu_bh] root 9 2 0 Jan11 ? 00:00:17 [rcu_sched] root 10 2 0 Jan11 ? 00:00:00 [lru-add-drain] root 11 2 0 Jan11 ? 00:00:02 [watchdog/0] root 13 2 0 Jan11 ? 00:00:00 [kdevtmpfs] root 14 2 0 Jan11 ? 00:00:00 [netns]
3.top
显示linux中的进程
实例1:
[root@ken ~]# top top - 17:03:06 up 2 days, 9:07, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 108 total, 2 running, 106 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 : 1015828 total, 95592 free, 326988 used, 593248 buff/cache KiB Swap: 2097148 total, 2097148 free, 0 used. 481564 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2796 root 20 0 298716 6124 4792 S 0.3 0.6 5:47.31 vmtoolsd 8151 root 20 0 161840 2180 1548 R 0.3 0.2 0:00.05 top 1 root 20 0 125576 4072 2636 S 0.0 0.4 0:56.00 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:05.85 ksoftirqd/0 5 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:05.05 kworker/u2: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 R 0.0 0.0 0:17.41 rcu_sched
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
4.ip
查看和设置网络相关的内容
实例1:查看ip
支持省略,如下的内容可以简写为ip a
[root@ken ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link/ether 00:0c:29:99:ea:a6 brd ff:ff:ff:ff:ff:ff inet 172.20.10.6/24 brd 172.20.10.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 2408:84f4:48:32ed:20c:29ff:fe99:eaa6/64 scope global mngtmpaddr dynamic valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe99:eaa6/64 scope link valid_lft forever preferred_lft forever
5.uptime
告知系统运行了多久时间
实例1:
[root@ken ~]# uptime 17:07:49 up 2 days, 7:33, 3 users, load average: 0.00, 0.03, 0.05
6.wget
用于在终端中下载网络文件
[root@ken ~]# wget www.baidu.com --2019-01-13 17:09:49-- http://www.baidu.com/ Resolving www.baidu.com (www.baidu.com)... 163.177.151.110, 163.177.151.109 Connecting to www.baidu.com (www.baidu.com)|163.177.151.110|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2381 (2.3K) [text/html] Saving to: ‘index.html.1’ 100%[===============================================================================>] 2,381 --.-K/s in 0s 2019-01-13 17:09:49 (75.0 MB/s) - ‘index.html.1’ saved [2381/2381]
7.curl
传送或者下载数据从服务器
[root@ken ~]# curl www.baidu.com <!DOCTYPE html> <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidde
8.tr
转换或者删除字符
实例1:
[root@ken ~]# echo "this is ken" | tr [a-z] [A-Z] THIS IS KEN
实例2:
[root@ken ~]# cat /etc/passwd | tr [a-z] [A-Z] ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN HALT:X:7:0:HALT:/SBIN:/SBIN/HALT MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
9.dd
转换和拷贝文件
if=file
从 file 中读而不是标准输入。
of=file
写到 file 里去而不是标准输出
bs=bytes
一次读和写 bytes 字节
count=blocks
只拷贝输入文件的前 blocks 块
实例1:
[root@ken ~]# dd if=/dev/zero of=test.sh count=100 bs=1M 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.805793 s, 130 MB/s [root@ken ~]# ls -lh test.sh -rw-r--r-- 1 root root 100M Jan 13 17:23 test.sh
10.tar
用于对文件进行打包压缩或解压
常用选项:
|
-c |
创建压缩文件 |
|
-x |
解开压缩文件 |
|
-t |
查看压缩包内有哪些文件 |
|
-z |
用Gzip压缩或解压 |
|
-j |
用bzip2压缩或解压 |
|
-v |
显示压缩或解压的过程 |
| -f |
目标文件名 |
| -p |
保留原始的权限与属性 |
| -P |
使用绝对路径来压缩 |
| -C |
指定解压到的目录 |
常用组合:
czvf:创建压缩文件
xzvf: 解压缩
实例1:创建压缩文件
[root@ken ~]# tar czcf keys.sh.tar.gz keys.sh [root@ken ~]# ls -l keys.sh.tar.gz -rw-r--r-- 1 root root 618 Jan 13 17:26 keys.sh.tar.gz
实例2:解压缩
[root@ken ~]# tar xzvf keys.sh.tar.gz
keys.sh
11.grep
用于在文本中执行关键词搜索,并显示匹配的结果
| 选项 |
描述 |
|
-E,--extended-regexp |
模式是扩展正则表达式(ERE) |
| -i,--ignore-case |
忽略大小写 |
| -n,--line-number |
打印行号 |
| -o,--only-matching |
只打印匹配的内容 |
| -c,--count |
只打印每个文件匹配的行数 |
| -B,--before-context=NUM |
打印匹配的前几行 |
| -A,--after-context=NUM |
打印匹配的后几行 |
|
-C,--context=NUM |
打印匹配的前后几行 |
|
--color[=WHEN], |
匹配的字体颜色 |
|
-v,--invert-match |
打印不匹配的行 |
实例1:忽略大小写
[root@ken ~]# echo "this is ken THIS IS KEN" | grep -i 'ken' this is ken THIS IS KEN [root@ken ~]# echo "this is ken THIS IS KEN" | grep 'ken' this is ken THIS IS KEN
实例2:只打印匹配的内容
[root@ken ~]# echo "this is ken THIS IS KEN" | grep -o 'ken' ken [root@ken ~]# echo "this is ken THIS IS KEN" | grep 'ken' this is ken THIS IS KEN
实例3:打印文件匹配的行数
[root@ken ~]# grep -c 'root' /etc/passwd 2 [root@ken ~]# grep 'root' /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin
实例4:打印不匹配的行
[root@ken ~]# echo -e "hi\nthis is ken\nncie to meet you\nbye " | grep -v 'ken' hi ncie to meet you bye
12.find
用于按照指定条件来查找文件
|
参数 |
作用 |
|
-name |
匹配名称 |
|
-perm |
匹配权限(mode为完全匹配,-mode为包含即可) |
|
-user |
匹配所有者 |
|
-group |
匹配所有组 |
|
-mtime -n +n |
匹配修改内容的时间(-n指n天以内,+n指n天以前) |
|
-atime -n +n |
匹配访问文件的时间(-n指n天以内,+n指n天以前) |
|
-ctime -n +n |
匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
|
-nouser |
匹配无所有者的文件 |
| -nogroup |
匹配无所有组的文件 |
| -newer f1 !f2 |
匹配比文件f1新但比f2旧的文件 |
| --type b/d/c/p/l/f |
匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
| -size |
匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
| -prune |
忽略某个目录 |
| -exec …… {}\; |
后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
实例1:当前位置下找出后缀是txt的文件和目录
[root@ken ~]# find ./ -name "*.txt"
实例2:找文件大小是1M的文件
[root@ken ~]# find / -size 1M
实例3:找一般文件
[root@ken ~]# find / -type f
实例4:从/tmp下找出后缀是wps 或doc 或exel的文件
[root@ken ~]# ind /tmp/ -name *.doc -o -name *.exel -o -name *.wps
实例5:将tmp下有执行权限的文件中的执行权限去除
[root@ken ~]# find /tmp -perm /111 -exec chmod a-x {} \;