linux相关(find/grep/awk/sed/rpm)

如何查找特定的文件:

  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

    linux相关(find/grep/awk/sed/rpm)

    awk '$1=="tcp" && $2==1{print $0}' netstat.txt

    linux相关(find/grep/awk/sed/rpm)

    NR:代表表头

    awk '($1=="tcp" && $4==1) || NR==1 {print $0}' netstat.txt

    linux相关(find/grep/awk/sed/rpm)

    修改默认分隔符:

    awk -F "," 'print{ $2}'

    linux相关(find/grep/awk/sed/rpm)

  做统计:

  linux相关(find/grep/awk/sed/rpm)

批量替换文本内容:

  sed [options] 'sed command' filename: 流编辑器,适用于对文本行内容进行处理

  例子:

  sed 's/^Str/String/' replace.java ==》替换Str开头的文本,  s表示字符串操作(该操作并不会修改原文件的内容,只是将修改后的内容输入的屏幕)

  linux相关(find/grep/awk/sed/rpm)

  如果需要修改源文件:sed -i 's/^Str/String/' replace.java

  linux相关(find/grep/awk/sed/rpm)

RPM默认安装路径:

/etc 一些设置文件放置的目录如/etc/crontab
/usr/bin 一些可执行文件
/usr/lib 一些程序使用的动态函数库
/usr/share/doc 一些基本的软件使用手册与帮助文档
/usr/share/man 一些man page文件
上一篇:CentOS 7 用firewall-cmd来开放端口


下一篇:[ZigBee] 10、ZigBee之睡眠定时器