如何查找特定的文件:
find :在指定目录下查找文件
find -name "filename" :从当前目录查找文件
find / -name "filename" : 从根目录下查找文件
find ~ -name "target*" :从用户目录查找以target开头的文件
find ~ -iname "target*":从用户目录查找以target开头的文件(忽略target的大小写)
man:查看帮助
man find
根据文件内容检索文件:
grep [options] pattern file :查找文件里符合条件的字符串,并打印匹配的行
grep "test" target*:查找以target开头的文件中的test内容
管道操作符 |:
可将指令链接起来,前一个指令的输出作为后一个指令的输入,管道命令只能执行前一个命令的正确输出,不能执行错误
右边命令必须能够接受标准输入流,否则传递过程中数据就会被抛弃
例子:
grep 'partial\[true\]' basc.info.log ==> 检索log文件中包含partial[true]字符的行
grep -o 'engine\[[0-9a-z]\]' ==》检索出engine[11111111111],符合正则表达式的内容
grep -v 'grep' ==》排除包含grep的命令 如 ps -ef | grep java | grep -v 'grep'
对文件内容做统计:
awk [options] 'cmd' file:一次读取一行文本,按输入分隔符进行切片,切成多个组成部分,将切片直接保存在内建变量中,$1,$2...$0表示行的全部
支持对单个切片的判断,支持循环判断,默认分隔符为空格
例子:
awk '{print $1,$4}' netstat.txt
awk '$1=="tcp" && $2==1{print $0}' netstat.txt
NR:代表表头
awk '($1=="tcp" && $4==1) || NR==1 {print $0}' netstat.txt
修改默认分隔符:
awk -F "," 'print{ $2}'
做统计:
批量替换文本内容:
sed [options] 'sed command' filename: 流编辑器,适用于对文本行内容进行处理
例子:
sed 's/^Str/String/' replace.java ==》替换Str开头的文本, s表示字符串操作(该操作并不会修改原文件的内容,只是将修改后的内容输入的屏幕)
如果需要修改源文件:sed -i 's/^Str/String/' replace.java
RPM默认安装路径:
/etc | 一些设置文件放置的目录如/etc/crontab |
/usr/bin | 一些可执行文件 |
/usr/lib | 一些程序使用的动态函数库 |
/usr/share/doc | 一些基本的软件使用手册与帮助文档 |
/usr/share/man | 一些man page文件 |