kenken2018

 

本节内容

 

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.1100%[===============================================================================>] 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 {} \;

 

相关文章: