文章目录
linux系统编程笔记05——grep和xargs
grep命令:找文件内容
grep -r 'copy' ./ -n
-n参数::显示行号
ps监控后台进程工作情况,默认只显示当前可以和用户交互的进程
ps aux | grep ‘cupsd’ – 检索进程结果集。
下图显示和内核相关进程
使用grep搜索进程,有一条结果是搜索进程本身
find … | xargs ls -l 对find操作的结果集进行操作
等价于
find … -exec ls -l {} \;
两者差别在于当结果集合很大的时候,xargs会对结果进行分段处理,所以性能好些
但xargs也有缺陷,xargs默认用空格来分割结果集,当文件名有空格的时候,会因为文件名被切割失效
-xargs:将find搜索的结果集执行某一指定命令。 当结果集数量过大时,可以分片映射。
find /usr/ -name '*tmp*' | xargs ls -ld
创建名字带空格的文件方法
第一个方法,文件名加引号
第二个方法,转义
xargs缺陷演示
解决xargs的缺陷,指定切分符号位null
-print0:
find /usr/ -name '*tmp*' -print0 | xargs -print0 ls -l
第一个print0指定结果集分隔为null,第二个print0指定xargs分隔为null