linux命令积累
1.搜索字符在文件中枢输出行号
#grep -n 要搜索的字符(字符如含有特殊字符,有加引号,否则不用) filname grep -n 'hello' 1.txt
2. 查看文件具体行号的内容
# sed -n '行号,行号p' filename sed -n '12,12p' filname
注意:如果两个行号不一样,则是第一个行号到第二个行号之间的内容
3.合并文件
# cat filename1 filename2 》filaneme cat filename1 filename2 》filaneme
>>是追加 >是新建或者清空文件写入
4.切割文件
1.按行数切分
split -l 10 -d -a 3 info.txt prefix_ # -l把每个文件切成10行文件,文件的后缀000这是-d的效果,用数子后缀,-a 3是后缀3个,如果-a 4 后缀就变成了0000,info.txt 是文件名,prefix_ 是文件前缀
2. 按大小切分
split -b 1k info.txt 1_ # 1_ 是前缀,可每个文件是1kb,单位也可是b,mb等
3.按大小切分,但不是完全均分的
split -C 1k info.txt #这样切分会先遵循1kb原则,然后有的切出来的文件有的大于1k有的小于1k,均值在1k左右,但是保持了文件每行的完整性,不会出现某行的一部分在一个文件,另一部分在另一个文件
5.查看相应字符所在行及上下几行的内容
$grep -5 ‘parttern’ inputfile //打印匹配行的前后5行 $grep -C 5 ‘parttern’ inputfile //打印匹配行的前后5行 $grep -A 5 ‘parttern’ inputfile //打印匹配行的后5行 $grep -B 5 ‘parttern’ inputfile //打印匹配行的前5行
或者
$cat filename | grep -5 ‘parttern’ //打印匹配行的前后5行 $cat filename | grep -C 5 ‘parttern’ //打印匹配行的前后5行 $cat filename | grep -A 5 ‘parttern’ //打印匹配行的后5行 $ cat filename | grep -B 5 ‘parttern’ //打印匹配行的前5行
6.在python中使用了进程池,中途想要杀掉进程池中的所有进程,不想一个个操作就可以一次杀掉
#杀死含有python的所有进程
kill -9 $(ps -ef|grep python|grep -v grep |awk '{print $2}') #杀死含有start.py的所有进程
kill -9 $(ps -ef|grep start.py|grep -v grep |awk '{print $2}')
#
ps aux|grep python|grep -v grep|cut -c 9-15
#
ps -ef | grep python | grep -v grep | awk '{print $2}' | xargs kill -9
注:(以上任意一个组合都可以,看自己习惯)
1. "grep -v grep" 是在列出的进程中去除含有关键字"grep"的进程。
2. “ cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
3. “xargs kill -15”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -15”命令的参数,并执行该令。
4. “kill -15”会正常退出指定进程,-9强行杀掉
7. 大文件分卷分割
# 方法一 先分割在分别压缩 split -l 1000 -d -a 2 xxxx tar -zcvf xxx.tar.gz xxxx01 #方法二 先压缩再分割 #第二个是切割后文件的前缀 tar -zcvf xxxx.tar.gz tets.text split -b 1000m -d -a 2 xxx.tar.gz xxx.tar.gz.