shell基础系列1之查找技巧--find命令的使用

shell基础系列1之查找技巧--find命令的使用,第1张

甲方划水运维工程师

互联网弄潮儿

啥也不是协会副会长

互联网垃圾文学制造者

被人骂过"不要以为你长得帅我就不敢打你"的男人~

find pathname -options [-print -exec -ok]

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' command' {} ,注意{ }和\;之间的空格。

-ok: 和- e x e c的作用相同,只不过以一种更为搏困轿安全的模式来执行该参数所给出的s h e l l命令,在执行每一个命令之前,都会给基肆出提示,让用户来确定是否执行。

-name:按照文件名查找文件。

-perm:按照文件权限来查找文件。

-prune:使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被f i n d命令忽略。

-user: 按照文件属主来查找文尺没件。

-group:按照文件所属的组来查找文件。

-mtime -n +n:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。F i n d命令还有- a t i m e和- c t i m e选项,但它们都和- m t i m e选项。

-nogroup:查找无有效所属组的文件,即该文件所属的组在/ e t c / g r o u p s中不存在。

-nouser:查找无有效属主的文件,即该文件的属主在/ e t c / p a s s w d中不存在。

-newer file1 ! file2:查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件。

-type 查找某一类型的文件,诸如:

-mount:在查找文件时不跨越文件系统m o u n t点。

-follow:如果f i n d命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用c p i o命令,将这些文件备份到磁带设备中。

例如:为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在f i n d命令的- e x e c选项中

HOME -print

HOME是shell专用变量,指的是用户的主目录

$ find . -type f -perm 644 -exec ls -l {}

$ find / -type f -size 0 -exec ls -l {}

$ find /var/logs -type f -mtime +7 -ok rm {}

$find . -group root -exec ls -l {}

-rw-r--r--1 root root 595 10月 31 01:09 ./fie1

linux shell中使用vi命令打开文本文件后,如果需要查找字烂逗符

从开头搜索

在命令模式下,输入 / 你要查找的字符

按下回车,可以胡山看到vim把光标移动到该字符处

再按n(小写)查看下一个匹配

按N(大写)查看上一个匹配(capslock切换大小写,也可饥做卖以在小写状态下按shift+n)

从结尾处搜索

?要搜索的字符串或字符

搜索后,打开别的文件发现也被高亮了,怎么关闭?

命令行模式下,输入:nohlsearch或者:set nohlsearch

可以简写成noh喝set-noh

查颂绝消找某文件的绝对路径可以用whereis或者是locate命令(这两个命令的效果是一样的),这两个命令可以马上列出文件的绝对路径。whereis命令的用法非常简单,whereis

文件名即可,它有两个非常有用的选项:

-b选项:只找二进制文件

-s选项:只找源代码文件

locate命令的用法和野知whereis命令一样,不过它有一个-i选项,表示忽略文件名的大宏闭小写差异,比较有用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12128489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存