攻克Linux

Linux命令_文本搜索命令

2019-05-26  本文已影响4人  皮皮大

Linux系统中服务、文件多,需要使用多种搜索命令进行查找我们需要的文本信息,系统中常用的文本搜索命令有grep、find、seek等,熟练掌握其用法可以显著提高搜索效率。


grep

常用于文本中搜索关键词,并显示匹配结果。最常用的参数是:

n:显示行号和v:反向匹配

root@peter:~# grep -n ubuntu /etc/apt/sources.list     # 查找含有ubuntu的文本信息,并且显示行号
4:deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
5:deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
......

root@peter:~# grep -nv ubuntu /etc/apt/sources.list  # 查找不含有ubuntu的文本,空行也显示
1:# deb cdrom:[Ubuntu 18.04.2 LTS _Bionic Beaver_ - Release amd64 (20190210)]/ bionic main restricted
2:
3:# add aliyuan    codename:bionic
14:
15:
17:# newer versions of the distribution.


find

find 命令用于按照指定的条件来查找文件。

格式:find 路径 寻找条件 操作

参数 作用
-name 名称匹配
-perm 权限匹配
-user 所有者匹配
-group 所有组匹配
-mtime 修改内容时间(-n指n天内;+n指n天以前)
-atime 访问时间
-ctime 修改权限时间
-newer f1 !f2 匹配比f1新但比f2旧的文件
--type b/c/d/p/l/f 匹配文件类型
-size 匹配文件大小(+50KB:超过;-50:小于)
-exec ..... {}; 后面接进一步处理搜索结果的命令
root@peter:~# find /etc -name "host*" -print   # 查找配置etc中以host开头的文件列表
/etc/host.conf
/etc/hosts
/etc/hosts.deny
/etc/avahi/hosts
/etc/hostname
/etc/hosts.allow
ubuntu@peter:~/spider$ find . -name "*s"     # 查找当前目录下以s结尾的任意文件
./BeautiulSoup/.git/hooks
./BeautiulSoup/.git/objects
./BeautiulSoup/.git/logs

ubuntu@peter:~/spider$ find . -type f        # 列出当前目录的一般性文件
ubuntu@peter:~/spider$ find . -ctime -20     # 列出当前目录下进20天内更新过的文件
ubuntu@peter:~/spider$ find . -type f -perm 644 -exec ls -l {} \;       # 列出当前目录中文件属主具有读写权限,并且文件所属组的用户和其他用户具有读权限的文件
Linux命令_文本搜索命令
上一篇下一篇

猜你喜欢

热点阅读