下面是记录总结在工作中用的比较频繁的一些linux命令,后续持续更新。

1、查看当前目录下各个文件或文件夹的大小

du -h --max-depth=1 .

备注:max-depth表示展开目录的层级,1表示当前目录

 

2、查找几天前的文件

如:查找365天前的文件或文件夹

find . -maxdepth 1 -mtime +365

这个是当前目录下的文件和文件夹

这是360天前的文件:

 

3、压缩文件

tar -zcvf xxx.tar.gz ./*

 

4、解压文件

tar -zxvf xxx.tar.gz .

 

5、查找包含制定内容的文件

例如查找当前目录下包含"debug"内容的文件:

find ./*|xargs grep debug

 

6、批量杀死进程

例如要杀死所有进程名中包含"test"字的进程

ps -ef|grep test|grep -v grep |awk '{print $2}'|xargs kill -s 9

 

7、文件切割

split -l [行数] -d -a [文件后缀位数] [待切割文件] [文件前缀]

例如将下面的c.txt文件切割成每个子文件400行,以split_为前缀的子文件,且文件后缀是数字自增

 

8、文件去重、排序

sort -n data.txt|uniq

备注:uniq:-u表示唯一,-d表示重复

 

9、文件比较(交集、差集)

comm命令

语法:

comm (选项) (参数)

选项:

-1:不显示在第一个文件出现的内容;
-2:不显示在第二个文件中出现的内容;
-3:不显示同时在两个文件中都出现的内容。

参数:

文件1:指定要比较的第一个有序文件
文件2:指定要比较的第二个有序文件

 

假如aaa.txt和bbb.txt文件内容如下:

root@iZwz95nggcuhct4nbyr9n3Z:~/test# cat aaa.txt
aaa
bbb
ccc
ddd
eee
111
222
root@iZwz95nggcuhct4nbyr9n3Z:~/test# cat bbb.txt
bbb
ccc
aaa
hhh
ttt
jjj

(1)交集(打印两个文件相同的行):

(2)求差(打印两个文件中不相同的行)

这里我们希望输出放在同一列,可以使用sed命令。

sed 's/^\t//' 是将制表符(\t)删除,以便把两列合并成一列。

(3)差集

aaa.txt的差集

bbb.txt的差集

 

10、递归修改目录用户组

例如修改www目录的用户组为apache

chown apache:apache www -R

 

11、测试并发量

ab -n 100 -c 10 -l http://www.your_site.com
-n number 总的请求数
-c concurrency 并发数 
-l 表示当某个请求的回复长度不与第一个请求的回复长度一致时,不把它作为失败的请求

POST方法:

ab -n 100 -c 10 -p post.txt http://xxx/test.php
post.txt里面是参数,如data={"name":"wgc"},但是要url编码以后的参数

 

打赏

发表评论

您的电子邮箱地址不会被公开。