2007-06-22
搜寻文件或目录
关键字: Linux学习
我们通常需要查找文件,知道哪个文件放在哪里。Linux下也有相当优秀的搜寻系统,通常find不很常用,因为速度慢而且很费硬盘。通常都是先使用whereis或者locate来查找。如果真的找不到,才使用find,因为whereis与locate都是利用数据库来搜寻数据,所以相当快,而且没有实际寻找硬盘,比较省时间。
which
which的基本功能是通过path环境变量到该路径内寻找可执行文件,所以基本的功能在于寻找可执行文件。
语法:which [文件名称]
示例:
which passwd
/usr/bin/passwd
whereis
语法:
whereis [-bmsu] [目录名称]
参数说明:
-b:只查询二进制文件
-m:只查询manual路径下的文件
-s:只查询source文件
-u:没有说明文档的文件
locate的使用方式简单,直接输入要查找的文件名就可以了。但是这个工具有一些使用限制。因为它是通过数据库来搜寻,而数据库的更新默认是每周一次,所以,在数据库更新之前新建的文件就会找不到,必须要在更新数据库后。
语法:
locate [目录名称]
要寻找一个文件,使用find是不错的主意,它可以根据不同的参数搜寻文件。例如你要寻找一个名为httpd.conf的文件,知道它应该在/etc下,那么可以使用find /etc -name httpd.conf。如果记得有一个文件名包含了httpd,但是不知道全名,此时可以使用通配符*。
语法:
find [路径] [参数]
参数说明:
1.时间:
-atime n:将n*24小时内被存取过的文件列出来
-ctime n:将n*24小时被改变、新增的文件或目录列出来
-mtime n:将n*24小时内被修改过的文件列出来
-newer file:把比file还要新的文件列出来
2.使用名称:
-gid n:寻找群组ID为n的文件
-group name:寻找群组名为name的文件
-uid n:寻找拥有者ID为n的文件
-user name:寻找用户名称为name的文件
-name file:寻找文件名为file的文件名称(可以使用通配符)
-type type:寻找文件属性为type的文件,type包含了b、c、d、p、l 和 s。
示例:
find / -name testing //寻找文件名为testing的文件
find / -name 'test*' //寻找文件名包含test的文件
find . -ctime 1 //寻找当前目录下一天内新增的目录或文件
find /home/test -newer .bashrc //寻找/home/test目录下比.bashrc还要新的文件
find /home -user test //寻找/home下拥有者为test的文件
find /dev -type b // 寻找/dev目录下文件属性为b的文件
which
which的基本功能是通过path环境变量到该路径内寻找可执行文件,所以基本的功能在于寻找可执行文件。
语法:which [文件名称]
示例:
which passwd
/usr/bin/passwd
whereis
语法:
whereis [-bmsu] [目录名称]
参数说明:
-b:只查询二进制文件
-m:只查询manual路径下的文件
-s:只查询source文件
-u:没有说明文档的文件
locate的使用方式简单,直接输入要查找的文件名就可以了。但是这个工具有一些使用限制。因为它是通过数据库来搜寻,而数据库的更新默认是每周一次,所以,在数据库更新之前新建的文件就会找不到,必须要在更新数据库后。
语法:
locate [目录名称]
要寻找一个文件,使用find是不错的主意,它可以根据不同的参数搜寻文件。例如你要寻找一个名为httpd.conf的文件,知道它应该在/etc下,那么可以使用find /etc -name httpd.conf。如果记得有一个文件名包含了httpd,但是不知道全名,此时可以使用通配符*。
语法:
find [路径] [参数]
参数说明:
1.时间:
-atime n:将n*24小时内被存取过的文件列出来
-ctime n:将n*24小时被改变、新增的文件或目录列出来
-mtime n:将n*24小时内被修改过的文件列出来
-newer file:把比file还要新的文件列出来
2.使用名称:
-gid n:寻找群组ID为n的文件
-group name:寻找群组名为name的文件
-uid n:寻找拥有者ID为n的文件
-user name:寻找用户名称为name的文件
-name file:寻找文件名为file的文件名称(可以使用通配符)
-type type:寻找文件属性为type的文件,type包含了b、c、d、p、l 和 s。
示例:
find / -name testing //寻找文件名为testing的文件
find / -name 'test*' //寻找文件名包含test的文件
find . -ctime 1 //寻找当前目录下一天内新增的目录或文件
find /home/test -newer .bashrc //寻找/home/test目录下比.bashrc还要新的文件
find /home -user test //寻找/home下拥有者为test的文件
find /dev -type b // 寻找/dev目录下文件属性为b的文件
发表评论
最新评论
-
工作两年了,发发牢骚
zpple 写道不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司, ...
-- by rxgp02a -
工作两年了,发发牢骚
yanshiyi 写道rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的 ...
-- by rxgp02a -
工作两年了,发发牢骚
不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司,盯着一个项目组, ...
-- by zpple -
工作两年了,发发牢骚
rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那 ...
-- by yanshiyi -
工作两年了,发发牢骚
个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那是因为别人比你努力, ...
-- by rxgp02a







评论排行榜