在茫茫的linux系统种我们如何快速的查找文件呢?对于系统文件基本上是有固定的位置的,但是有些软件安装文件是有自定义位置的,不熟悉的运维人员交接后我们需要重新适应各个运维人员的安装习惯。这里我们用的较多的还是linux find命令进行快速查找定位。
一、find 命令基本使用方法
find 命令格式如下:
find PATH EXPRESSIONS... ACTIONS...
比如,我想查找 /etc/passwd 这个文件:
find /etc -name passwd -print
查找结果如下:
# find /etc -name passwd -print
/etc/pam.d/passwd
/etc/cron.daily/passwd
/etc/passwd
其中 -print 命令是可选的,可以不用一起打,同样会输出结果。
二、find 命令进阶用法
如果我不知道目录,那么可以直接在根目录下面搜索:
# find / -name passwd -print
/etc/pam.d/passwd
/etc/cron.daily/passwd
/etc/passwd
/usr/bin/passwd
/usr/share/doc/passwd
/usr/share/lintian/overrides/passwd
/usr/share/bash-completion/completions/passwd
#
此外,-iname 可以用来代替 -name,表示大小写敏感查找。
此外也可以根据其他参数进行查找,比如根据大小:
# dd if=/dev/zero of=/root/bigfile bs=1048576 count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 0.490124 s, 1.1 GB/s
# find / -size +100M -print
/proc/kcore
find: ‘/proc/2381/task/2381/fd/6’: No such file or directory
find: ‘/proc/2381/task/2381/fdinfo/6’: No such file or directory
find: ‘/proc/2381/fd/5’: No such file or directory
find: ‘/proc/2381/fdinfo/5’: No such file or directory
/root/bigfile
或者根据时间:
# mkdir /backup
# touch -t 201008201111 /backup/some_old_backup.tar.gz
# touch /backup/current_backup.tar.gz
# ll /backup
total 8
drwxr-xr-x 2 root root 4096 May 24 18:42 .
drwxr-xr-x 19 root root 4096 May 24 18:40 ..
-rw-r--r-- 1 root root 0 May 24 18:42 current_backup.tar.gz
-rw-r--r-- 1 root root 0 Aug 20 2010 some_old_backup.tar.gz
# find /backup -mtime +30 -print
/backup/some_old_backup.tar.gz