ITPub博客

首页 > Linux操作系统 > Linux操作系统 > find 查找文件

find 查找文件

原创 Linux操作系统 作者:pingley 时间:2012-03-03 20:57:51 0 删除 编辑
find 查找文件
[root@zeng ~]# find / -name inittab
/etc/inittab
/root/inittab
-name指定要查找的文件名。
[oracle@zeng ~]$ find /opt  -name alert*.log     
/opt/oracle11g/product/11.2.0/dbhome_1/log/diag/rdbms/dbua0/DBUA0/trace/alert_DBUA0.log
/opt/oracle11g/diag/rdbms/oracl/oracl/trace/alert_oracl.log
如果你要查找的目录或者文件你没有权利访问将会提示错误:Permission denied
[oracle@zeng /]$ find .  -name "alert*.log" 2>/dev/null
./opt/oracle11g/product/11.2.0/dbhome_1/log/diag/rdbms/dbua0/DBUA0/trace/alert_DBUA0.log
./opt/oracle11g/diag/rdbms/oracl/oracl/trace/alert_oracl.log
可以使用错误信息从定向来消除这些错误信息。
[root@zeng ~]# find /tmp -type s
/tmp/.esd-501/socket
/tmp/pulse-4Yn0kZgmYNIj/native
-type 指定要查找的文件的类型.正规文件f,设备文件(b,c),目录d,连接文件l,套接字文件s,管道文件p。
[root@zeng ~]# find /home -user oracle
-user 指定文件的属主.相应的还有 -group 指定文件的用户组.
-nouser 寻找文件的所有者不存在于/etc/passwd中的文件。
-nogroup 寻找文件的用户组不存在于/etc/group。
-nouser与-nogroup 可以用来查找系统中存在的莫名其妙的文件,这些以后是删除了的用户与用户组创建的,也有可能是网络中下载下来的文件。
上面的命令是将/home 目录下属于 oracle用户的所有的文件都找出来。
[oracle@zeng ~]$ find . -mmin -60
.
./inittab
./.viminfo
./test_file.txt
./test_file
-mmin 表示修改时间(modified minutes)。
上面执行的命令的意思是在当前目录下查找出过去60分钟内修改过的文件。
[oracle@zeng ~]$ find . -mmin +60
上面执行的命令用于查找现在开始算起60分钟以前修改过的文件,类似的选项还有。
-amin  根据文件的访问时间来查找。以 分钟来计算。
-atime 根据文件的访问时间来查找。以天来计算。
-cmin  根据文件的状态改变时间来查找。以分钟为单位。
-ctime 根据文件的状态改本时间来查找。以天来计算。
-mtime 根据文件的修改时间来查找。以天为单位。
-newer  比的修改时间还要新的文件。
执行下面的命令找出240分钟以前到现在那些文件被访问过。
[oracle@zeng ~]$ find . -amin -240
.
./inittab
./.viminfo
./test_file.txt
./test_file
下面找出当前目录下过去24小时内访问过的文件。并且把这些文件使用长格式列出来。
[oracle@zeng ~]$ find . -atime 0  -exec ls -l {} \;
还可以使用find把10天前修改过的文件都删除掉。这个命令千万别用,除非你知道自己在干什么。不过下面的这个命令非常使用用来删除oracle ADR下面的陈旧的trace files 因为这些老旧的文件已经没有什么价值,可以把他们删除,不让他们一直占用着空间。
[oracle@zeng ~]$ find . -type f -mtime +10 -exec rm -f {} \;
还可以通过文件的大小来查找文件。
[oracle@zeng opt]$ find . -size +500000k
./oracle11g/oradata/oracl/sysaux01.dbf
./oracle11g/oradata/oracl/system01.dbf
./oracle11g/oradata/oracle/oracle/sysaux01.dbf
./oracle11g/oradata/oracle/oracle/system01.dbf
-size 表示按照文件的大小来查找,其中+表示大于后面的数值,-表示小于后面的数值。
单位是K(1024 bytes)。上面的执行的命令是查看在当前目录以及其子目录中容量为500000KB以上的文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-717594/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    715736