Linux find grep cat xargs命令学习
一、find
1、基本命令
find . -name "*.txt"
find . -name "*.txt" -print
解释:
- 显示当前目录下名称匹配*.txt的文件,并打印出到控制台
- [.] 表示在当前目录以及子目录中查询;
- [-name] 表示通过文件名进行查询,还有各种其他的参数,例如 -size -type 等等
- [“*.txt”] 表示查询条件,支持正则表达是
2、find命令的其他参数
- -type 按照文件类型查找 b/d/c/p/l/f 设备、目录、字符设备、管道、符号链接、普通文件
- -size 按照文件大小查找,例如:
find -size +1000c
查找大于1K的文件 - -empty 查找为空的文件或者文件夹
- -exec 对匹配到的文件,执行命令
- 基本用法:
-exec 命令 {} \;
- 例如:查找文件,并显示文件列表:
-exec ls -l {} \;
- 基本用法:
- -ok 和-exec一样,只是执行命令前会询问用户
二、grep
global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来
基本用法:grep -n 'www' log1.txt
在log1.txt文件中,查找www,并打印行号
选项:
- -a :将 binary 文件以 text 文件的方式搜寻数据
- -c :计算找到 ‘搜寻字符串’ 的次数
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
- –color=auto :可以将找到的关键词部分加上颜色的显示喔!
三、xargs
组合多个命令,并传递参数
选项:
- xargs的默认命令是echo,例如:
ls -l | xargs
- -p选项:交互式提问y来确认命令的每次执行
- -t 在执行前回显各个command
- -n 限制每次传递进来参数的个数
四、cat
cat命令三大功能
- 一次显示整个文件。$ cat filename
- 从键盘创建一个文件。$ cat > filename
- 将几个文件合并为一个文件: $cat file1 file2 > file
选项
- -n 或 –number 由 1 开始对所有输出的行数编号
- -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
- -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -v 或 –show-nonprinting
例子
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
注意:>是创建文件,>>是追加内容
五、head、tail 、sed
head 查看文件开头部分
- -q 隐藏文件名
- -v 显示文件名
- -c<字节> 显示字节数
- -n<行数> 显示的行数
head -n 5 log2014.log
head -c * log2014.log
tail 查看文件结尾部分
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示行数
- –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
- -q, –quiet, –silent 从不输出给出文件名的首部
- -s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -n 5 log2014.log -- 显示文件最后5行内容
tail -f test.log -- 循环显示文件末尾内容
tail -n +5 log2014.log -- 从第5行开始显示文件
sed
sed -n '3p' datafile
– 只打印第三行
sed -n '100,200p' mysql_slow_query.log
只查看文件的第100行到第200行
参考:
http://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html