linux(6)- 其他命令(grep,sort,ps,netstat,uniq,cut,wc,awk)

一、grep:管道

    1、管道是将前一个命令的输出作为后一个命令的输入
         命令1 | 命令2 | 命令3 |

   2、 举例: 
   (1)wc命令用来计数, -l选项表示统计行数
             ls | wc -l : 统计当前目录下有多少个文件(夹)

   (2)翻页查询某些文件

             cat xxx.txt | more

   (3)如何过滤文件内容中包含”ERROR“的行?

             cat file_name | grep "ERROR"

二、sort


 -n 按大小排序
 -r 倒叙

 -t  分隔符,默认\t
 -k3 排序规则 结果的第三列,如果不加,默认按第一列排序

例 :文件按大小倒叙排列

1、我们先ll ,查看bin里的文件,看到的是无序的

 2、现在我们用命令排序

ll | sort -nrk5    文件按第5行,也就是文件大小倒叙排序

3、排序结束后取前5个

ll | sort -nrk5 | head -n 5

 三、ps(如果实时显示用top)

ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

-A    显示所有进程(同-e)
-a    显示当前终端的所有进程
-u    显示进程的用户信息,额外显示%CPU %MEM
-x    显示包括无终端的进程
-o    以用户自定义形式显示进程信息
-f    显示程序间的关系,显示UID,PPID,C与STIME栏位

常用组合:

把所有进程显示出来,可用使用 ps -A 或者 ps -aux 显示所有包含其他使用者的行程

显示所有进程基本信息:  ps -ef 显示所有命令,连带命令行

ps -aux | grep java : 查询操作系统中,所有的JAVA进程

四、netstat

netstat 命令用于显示网络状态

1、输出占用22端口被占用情况 netstat -antp | grep 22


2、输出占用22端口的进程:lsof –i:22

五、uniq 是去掉文件中的重复行 常与sort连用

-i :忽略大小写字符的不同;

-c :进行计数

-u :只显示唯一的行

-d或--repeated : 仅显示重复出现的行列。

1、显示文件内容,并去掉重复行

2、查看文件内容,只显示唯一行

3、查看文件内容,只显示重复出现的行和重复次数

 六、cut :从文本中按符号分割获取出列

语法如下:

[root@www ~]# cut -d'分隔字符' -f fields
[root@www ~]# cut -c 字符区间         
选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思,脚标从1开始;
-c  :以字符 (characters) 的单位取出固定字符区间;

 [root@localhost monkey]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/jdk-17.0.1/bin:/root/bin
[root@localhost monkey]# echo $PATH | cut -d ":"  -f 1   #按分号分隔,取第一列
/usr/local/sbin
[root@localhost monkey]# echo $PATH | cut -d ":"  -f 1,2  #按分号分隔,取第1和第2列
/usr/local/sbin:/usr/local/bin
[root@localhost monkey]# echo $PATH | cut -d ":"  -f 2-   #按分号分隔,取第二列往后的所有列
/usr/local/bin:/usr/sbin:/usr/bin:/usr/jdk-17.0.1/bin:/root/bin
[root@localhost monkey]# echo $PATH | cut -d ":"  -f 1-3  #按分号分隔,取第1到第3列
/usr/local/sbin:/usr/local/bin:/usr/sbin
[root@localhost monkey]# echo $PATH | cut -d ":"  -f 1-3,5 #按分号分隔,取第1到第3列,和第5列
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/jdk-17.0.1/bin

7、awk:是cut的plus版本,cut分隔不了空格,awk可以

下面的文本是样的


[root@localhost monkey]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        36G  9.6G   27G  27% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   13M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1       297M  157M  140M  53% /boot
tmpfs           378M  4.0K  378M   1% /run/user/42
tmpfs           378M   40K  378M   1% /run/user/0

我想要第一行和第三行

[root@localhost monkey]# df -h |awk '{printf $1 "\t" $3 "\n"}'
Filesystem	Used
/dev/sda3	9.6G
devtmpfs	0
tmpfs	0
tmpfs	13M
tmpfs	0
/dev/sda1	157M
tmpfs	4.0K
tmpfs	40K

8 、 wc:统计文件里面有多少单词,多少行,多少字符。

[root@www ~]# wc [-lwm]
选项与参数:
-l  :仅列出行;
-w  :仅列出多少字(英文单字);
-m  :多少字符;

例如

 [root@localhost monkey]# clear
[root@localhost monkey]# cat demo.txt 
cat testfile
hello
world
friend
world
hello
[root@localhost monkey]# wc -l demo.txt  #统计行数
6 demo.txt
[root@localhost monkey]# wc -w demo.txt  #统计单词数
7 demo.txt
[root@localhost monkey]# wc -m demo.txt   #统计字符数
50 demo.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值