Linux之find

命令功能:

find命令是用来在给定的目录下查找符合给定条件的文件。它需要从磁盘中查找,效率低,whereis和locate是基于缓存中数据库查找,效率很高,但是一些新建的文件可能未加入到数据库中,使用whereis和locate不一定找到相应的文件。

命令格式:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

命令参数:

expression:

-name       -name可以对文件的basename进行匹配。查找的文件名最好使用引号包围,可以配合通配符进行查找,但是basename中不能有“/”字符。默认为递归查找。=》见实例1、实例3

-type        根据文件类型搜索:一般需要搜索的文件类型就只有普通文件(f),目录(d),链接文件(l),块设备文件(b),字符设备文件(c),管道文件(p),socket文件(s)。=》见实例2

命令实例:

1.在当前目录下,使用-name查找包含“bash”的文件

vbird@Ubuntu1604:~$ ll
total
drwxr-xr-x vbird vbird 9月 : ./
drwxr-xr-x root root 9月 : ../
-rw-rw-r-- vbird vbird 9月 : aa
-rw------- vbird vbird 9月 : .bash_history
-rw-r--r-- vbird vbird 9月 : .bash_logout
-rw-r--r-- vbird vbird 9月 : .bashrc
drwx------ vbird vbird 9月 : .cache/
-rw-r--r-- vbird vbird 9月 : examples.desktop
-rw-r--r-- root root 9月 : find_cmd.txt
-rw------- vbird vbird 9月 : .lesshst
lrwxrwxrwx root root 9月 : link -> /bin/
-rw-r--r-- vbird vbird 9月 : .profile
drwxrwxr-x vbird vbird 9月 : test/
-rw------- vbird vbird 9月 : .viminfo
-rw------- vbird vbird 9月 : .Xauthority
vbird@Ubuntu1604:~$ find ./ -name "*bash*"
./.bash_logout
./.bash_history
./.bashrc
./test/bash22

2.查找当前目录下的链接文件

vbird@Ubuntu1604:~$ ll
total
drwxr-xr-x vbird vbird 9月 : ./
drwxr-xr-x root root 9月 : ../
-rw-rw-r-- vbird vbird 9月 : aa
-rw------- vbird vbird 9月 : .bash_history
-rw-r--r-- vbird vbird 9月 : .bash_logout
-rw-r--r-- vbird vbird 9月 : .bashrc
drwx------ vbird vbird 9月 : .cache/
-rw-r--r-- vbird vbird 9月 : examples.desktop
-rw-r--r-- root root 9月 : find_cmd.txt
-rw------- vbird vbird 9月 : .lesshst
lrwxrwxrwx root root 9月 : link -> /bin/
-rw-r--r-- vbird vbird 9月 : .profile
drwxrwxr-x vbird vbird 9月 : test/
-rw------- vbird vbird 9月 : .viminfo
-rw------- vbird vbird 9月 : .Xauthority
vbird@Ubuntu1604:~$ find ./ -type l
./link

3.在当前目录下查找以a~g开头,后缀为txt的文件(涉及到正则表达式,后面学到再链接)

vbird@Ubuntu1604:~$ ll
total
drwxr-xr-x vbird vbird 9月 : ./
drwxr-xr-x root root 9月 : ../
-rw-rw-r-- vbird vbird 9月 : aa
-rw------- vbird vbird 9月 : .bash_history
-rw-r--r-- vbird vbird 9月 : .bash_logout
-rw-r--r-- vbird vbird 9月 : .bashrc
drwx------ vbird vbird 9月 : .cache/
-rw-r--r-- vbird vbird 9月 : examples.desktop
-rw-r--r-- root root 9月 : find_cmd.txt
-rw------- vbird vbird 9月 : .lesshst
lrwxrwxrwx root root 9月 : link -> /bin/
-rw-r--r-- vbird vbird 9月 : .profile
drwxrwxr-x vbird vbird 9月 : test/
-rw------- vbird vbird 9月 : .viminfo
-rw------- vbird vbird 9月 : .Xauthority
vbird@Ubuntu1604:~$ find ./ -name "[a-g]*.txt"
./find_cmd.txt
./test/b.txt
./test/a.txt
./test/dir/d.txt
./test/dir/c.txt
上一篇:django(权限、认证)系统—— 基于Authentication backends定制


下一篇:bzoj3431 [Usaco2014 Jan]Bessie Slows Down