find搜索命令


find 【查找范围】 【条件表达式】

  • 条件表达式:-name  -size -type -user


  • -type中常用类型:f:普通文件、d:目录、b:块设备文件、c:字符设备文件


  • 块设备文件:硬盘、内存

  • 字符设备文件:键盘、鼠标

   2.atime、mtime、ctime

atime:读取文件或者执行的时候更改的
mtime:在写入文件跟着内容的更改而更改
ctime:在写入文件、更改所有者、权限、连接时随着inode而更改

使用stat filename来查看三个time
一般情况下文件内容更改了那么mtime和ctime就会更改
如果查看了文件那么久atime更改其他不变
如果inode值更改了那么其他都不会变

可以使用以下来查看三个time
ls -lc 查看ctime
ls -lu  查看atime
ls -l   查看mtime

  • find / -mtime +10   以秒为单位


  • find / -mmin -5    以分钟为单位


  • find / -inum [inode号]  根据inode查看


  • find / -type f |xargs -i mv {} {}.bak  在根目录下的所有文件都改名字


  • find / -type f +30 |xargs rm  将30天以前的文件都删除掉


  • find / -type f -perm 777 查看目录下权限为777的文件


  • -o表示或者,两个条件只要满足一个即可执行


  • -a表示和,两个条件必须满足才能执行

  • depth:使查找在进入子目录前先查找完本目录

常用参数后面加上数字0、1等,0:表示查找本目录  1:表示查看本目录下的子目录有哪些
使用方法为depth或者-maxdepth


3.Linux中的find的命令结合其-path -prune参数
find ./ -path '*dir00*' -name *.txt        在当前目录下的dir0目录下的子目录dir00及其子目录下查找txt后缀文件
find ./ -path './dir0*' -a -prune -o -name *.txt -print   在除dir0及子目录以外的目录下查找txt后缀文件
find ./ \( -path './dir0*' -o -path './dir1*' \) -a -prune -o -name *.txt -print   在除dir0、dir1及子目录以外的目录下查找txt后缀文件
find ./ \( -path './dir0*' -o -path './dir1*' \) -a -name *.txt -print  在dir0、dir1及子目录下查找txt后缀文件
find ./ -path '*/dir_general/*' -name *.txt -print   在所有以名为dir_general的目录下查找txt后缀文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章