find的搜索速度并不快,有一些比find更加快
locate
语法:locate 文件名 他不是通过遍历来搜索的,是建立文件资料库来搜索,速度很快
locate inittab
locate locate 查看一下他的文件资料库,资料库会定期更新,对cpu负荷很少
但是当你一个新建文件,想马上查找到这个文件,是不行的,因为资料库可能还没更新
touch /root/yangmi
locate yangmi 会发现没有反应 但是用find可以搜索出来
find /root -name yangmi 可以查找出来
updatedb 更新资料库
locate yangmi 可以查找出来了,因为上一步更新了资料库
touch /tmp/zhangbozhi
updatedb
locate zhangbozhi 发现即使你updatedb之后,也找不到zhangbozhi这个文件
因为这个文件,创建在临时文件夹tmp之中,文件资料库并没有收录tmp这个文件夹,只能用find来查找
touch /root/Teacher
updatedb
locate teacher 发现查找不到,因为大小写敏感的原因
locate -i teacher 不区分大小写,和find类似
which:搜索命令所在的名录以及别名信息
语法:which 命令
which ls
which cp
which useradd
whereis:搜索命令所在的目录以及帮助文档路径
语法:whereis 命令
whereis useradd
grep:在文件中搜寻字串匹配的行并且输出 -i 不区分大小写 -v 排除指定字串
语法:grep -iv 指定字串 文件
grep mysql /root/install.log
more /etc/inittab 看一个比较长的文件
grep multiuser /etc/inittab 在inittab这个文件中查找multiuser这个关键词所在的行
grep -i multiuser /etc/inittab 忽略大小写 -i 和find类似
more /etc/inittab 查看系统配置文件,里面有很多井号,井号代表注释,描述配置信息
grep -v # /etc/inittab 有#的行都被删除,但是这样有一个问题就是,有一些代码是前面是有效代码,后面加一个#代表注释,这样做的话,就会直接把有效行都删除了
grep -v ^# /etc/inittab 在英文输入法下,在#前面加上shift+数字键6的符号,就可以在一个行内,从#开始忽略
locate
语法:locate 文件名 他不是通过遍历来搜索的,是建立文件资料库来搜索,速度很快
locate inittab
locate locate 查看一下他的文件资料库,资料库会定期更新,对cpu负荷很少
但是当你一个新建文件,想马上查找到这个文件,是不行的,因为资料库可能还没更新
touch /root/yangmi
locate yangmi 会发现没有反应 但是用find可以搜索出来
find /root -name yangmi 可以查找出来
updatedb 更新资料库
locate yangmi 可以查找出来了,因为上一步更新了资料库
touch /tmp/zhangbozhi
updatedb
locate zhangbozhi 发现即使你updatedb之后,也找不到zhangbozhi这个文件
因为这个文件,创建在临时文件夹tmp之中,文件资料库并没有收录tmp这个文件夹,只能用find来查找
touch /root/Teacher
updatedb
locate teacher 发现查找不到,因为大小写敏感的原因
locate -i teacher 不区分大小写,和find类似
which:搜索命令所在的名录以及别名信息
语法:which 命令
which ls
which cp
which useradd
whereis:搜索命令所在的目录以及帮助文档路径
语法:whereis 命令
whereis useradd
grep:在文件中搜寻字串匹配的行并且输出 -i 不区分大小写 -v 排除指定字串
语法:grep -iv 指定字串 文件
grep mysql /root/install.log
more /etc/inittab 看一个比较长的文件
grep multiuser /etc/inittab 在inittab这个文件中查找multiuser这个关键词所在的行
grep -i multiuser /etc/inittab 忽略大小写 -i 和find类似
more /etc/inittab 查看系统配置文件,里面有很多井号,井号代表注释,描述配置信息
grep -v # /etc/inittab 有#的行都被删除,但是这样有一个问题就是,有一些代码是前面是有效代码,后面加一个#代表注释,这样做的话,就会直接把有效行都删除了
grep -v ^# /etc/inittab 在英文输入法下,在#前面加上shift+数字键6的符号,就可以在一个行内,从#开始忽略