一、cat工作原理

cat命令只想文件,把文件打开后,将文件中所有内容一次性读到内存中,从内存里一次性输出到屏幕上,此时可能存在内存装不下的情况,因此cat命令只能查看小文件内容,不能读取大文件,对于大文件来说是禁用的

二、sed工作原理

将处理好的文件一条一条的输出,不会占用大量内存,适用于处理大数据时

=====================================================================

 

三、sed命令=====增删改查、备份

sed -i.bak 's///'  先备份再修改

sed '5i xxxxxx' test  在第5行上面增加一行

sed '5a xxxxx' test   在第5行下面增加一行

sed '5s#^#xxxxxxxxxx#' test  在第5行行首增加xxxxxxxx

sed '5s#$#xxxxxxxxx#' test   在第5行行尾增加xxxxxxxx

sed '5,10s#^#xxxxxxxx#' test  多行行首增加xxxxxx

sed '5,$s#$#xxxxxxxx#' test   多行行尾增加xxxxxxx

1删除

sed -n 'd' test  所有删除

sed -n '2d' test  第二行删除

sed -n '$d' test  最后一行删除

sed -n '2,5d' test  二到五行删除

sed -n '2d;5d' test  第二行和第五行删除

2替换

sed 's#a#b#' test    每行第一个a替换成b

sed 's#a#b#g' test   所有的a替换成b

sed -i 's#a#b#g' test    -i代表对原文件进行修改

sed -i.bak 's#a#b#g' test  先本分再修改

3查找

sed -n '' test        显示所有

sed -n '/ /' test     输出包含的字符的行

sed -n '20,30p' test   显示2030

sed -n '20p;30p' test   显示第20行和第30

sed -n '$p' test       显示最后一行

sed -n '2/a/p' test    显示第二行包含P

sed -n '/a/,/b/p' test  查看包含ab

sed -n '/a|yy/p' test   查看包含ayy

 

4、备份

sed -i.bak 's///'  先备份再修改

 

四、显示行号、换行,每行两个元素

1/n换行用法

sed -n '3,5{p;=}' test | xargs -n2  ####=’显示行号,然后进行换行,

每行两个元素####

1两行合并成一行

-L 2  

=============================================================

 

2换行

sed '2a 1234\n2345' test       1234后面进行换行

#####sed的反向引用##################################################

 

 

 

五、查看程序开机自启动 chkconfig命令

1批量关闭3模式下的开机自启动

开启与关闭服务的命令:

chkconfig 服务 on            chkconfig 服务名 off

=============================================

 

2五个服务必须开启

network 网络服务

crond   定时任务

sshd    远程连接服务

sysstat 系统工具包(检测系统用的)

rsyslog 日志服务

 

 

 

六、Linux启动的7个程序目录

/etc/inittab设置开机模式配置文件

0  关机

1  单用户模式

2  NFC(没网络服务)多用户模式

3  多用户模式,命令模式

4  保留模式

5  桌面模式

6  重启模式

最后一行是开机自启动的模式

 

七、sed命令高级用法

1sed命令抓ip地址  

 -r代表支持扩展正则 ()反向引用

ifconfig eth0 | sed -n '2p' | sed -r  's#.*addr:(.*)Bcast.*#\1#'

2sed批量关闭服务

chkconfig | egrep -v "sshd|crond|network|sysstat|rsyslog" | grep "3:on" | sed -r 's#(.*)0:.*#chkconfig \1 off#' | bash

命令************** |bash代表执行每条命令

 

3批量命名文件

find -type f -name "*_finished.jpg" | sed -r 's#^(.*)_finished(.*)#mv \0 \1\2#' | bash

************************************************************************

 

###  

find . -type f -name "*jpg" | sed -r 's/(.*)_(.*).jpg/mv _\2.jpg baoma_\2zzz.jpg/' | bash

 

=====================================================================

=============================================

seq命令

格式:seq 起始值 公差 结束值

=============================================