find 查找文件命令

来源:互联网 发布:淘宝返利网官网 编辑:程序博客网 时间:2024/06/10 01:23

find 搜索文件系统,实时搜索

find  + 路径 + 匹配条件

find [目录] [条件] [操作]


1.[目录]

不输入就是当前目录

例如

find 

find /boot

find /etc/ -name init   或 find /etc -name init*


2.[条件]  根据用户和组来进行查找

用户和组: -user -group

#find /home/ -user luis1  查找home下所有属于luis的文件


3.根据文件类型查找 (主要是 f   d   文件与目录)

类型:-type (f 文件 ,d目录 l 连接 p 管道 c字符文件 b块文件 s socket文件 )

例:

find /home/ -type f    或 (d)


4.文件名

find  /home/ -name *user*   查找带有user字样的文件


5.大小  -size  +NM 大于多少兆. -NM小于多少兆

find /boot/ -size +4M   找大于4M的文件

stat a.txt


  File: ‘a.txt’

  Size: 0               Blocks: 0          IO Block: 4096   regular empty file

Device:fd00h/64768d    Inode: 36433014    Links: 1

Access:权限 

Access:最近访问时间  atime

Modify:修改时间   mtime

Change:改变时间   ctime

注:改变与修改在于是该文件的属性还是更爱他的内容

chmod a-w a.txt  改变 ctime

echo aaa > a.txt   修改 Mtime


例2 :

touch c.txt

chmod +x c.txt   ctime发送改变

echo aaa > c.txt   mtime ,ctime 发生改变

cat c.txt   atime发送改变


查看文件 atime ctime  mtime

ls -lc xx.txt   列出ctime        或者 ll -c

ls -lu xx.txt   atime       ll  -u

ls  -l   xx.txt    mtime  ll  


find /root/ -mtime +2 查看 目录48小时之前创建的文件

find /root/ -mtime +2 | grep a.txt 

                                  3

权限:

find /boot/ -perm 755 等于0775权限的文件或者目录

find /tmp/ -perm -777  至少有777权限的文件或者目录


查看目录深度

find /boot/ -maxdepth 3 查目录第二层的文件和目录


多条件: -a -o ! 或 -and -or  -not

find /boot/ -size +4M -a -size -8M  文件大小在 4~8M 之间或者目录


find -type f -a -perm /o+w   是文件也有w权限的

find ! -type f -a perm -001 


find /root/test/ -type f -exec rm {} \; 或者

find /root/test/ -type f | xargs rm -rf

-exec 执行命令

rm rf 删除  {} 表示find -typef 查找出来了文件内容

\; {} 和 \; 之间有空格.固定语法.




http://blog.sina.com.cn/s/blog_5caa94a001014vj0.html

网上转载内容:

1.在某目录下查找名为“elm.cc”的文件
find /home/lijiajia/ -name elm.cc
 
2.查找文件名中包含某字符(如"elm")的文件
find /home/lijiajia/ -name '*elm*'
find /home/lijiajia/ -name 'elm*'
find /home/lijiajia/ -name '*elm'
 
3.根据文件的特征进行查询
find /home/lijiajia/ -amin -10        #查找在系统中最后10分钟访问的文件
find /home/lijiajia/ -atime -2        #查找在系统中最后48小时访问的文件
find /home/lijiajia/ -empty           #查找在系统中为空的文件或者文件夹
find /home/lijiajia/ -group cat       # 查找在系统中属于groupcat 的文件(试了,命令不对。)
find /home/lijiajia/ -mmin -5         # 查找在系统中最后5 分钟里修改过的文件
find /home/lijiajia/ -mtime -1        #查找在系统中最后24 小时里修改过的文件
find /home/lijiajia/ -nouser          #查找在系统中属于作废用户的文件(不明白是什么意思)
find /home/lijiajia/ -amin 10         #查找在系统中最后10分钟访问的文件
find /home/ftp/pub -user lijiajia     #查找在系统中属于lijiajia这个用户的文件
(PS:以上都是在 /home/lijiajia/文件夹下进行的操作)
 
4.使用混合查找方式查找文件
find /tmp -size +10000000c -and -mtime +2      #查找/tmp目录中大于10000000字节并且在48小时内修改的某个文件
find /tmp -user tom -or -user george           #查找/tmp目录中属于tom或者george这两个用户的文件
find /tmp ! -usr fred                          #查找/tmp目录中不属于fred的文件
 
5.查找并显示文件
find /home/lijiajia/ -name 'elm.cc' -ls        #在目录下查找名为“elm.cc”的文件,并显示这些文件的信息















0 0