当前位置: 技术问答>linux和unix
如何查找文件
来源: 互联网 发布时间:2016-10-08
本文导语: 比如我要查找一个叫123的目录 或者一个叫456的文件,该用哪个命令? whereis 123/456 ? which 123/456 ? locate 123/456 ? find 123/456 ? 为什么有的命令不能用? 是不是以上这些有的只能查找文件不能查找目录,有的...
比如我要查找一个叫123的目录 或者一个叫456的文件,该用哪个命令?
whereis 123/456 ?
which 123/456 ?
locate 123/456 ?
find 123/456 ?
为什么有的命令不能用? 是不是以上这些有的只能查找文件不能查找目录,有的只能找目录不能找文件?
高手们都喜欢用哪一个?我要向高手学习!
whereis 123/456 ?
which 123/456 ?
locate 123/456 ?
find 123/456 ?
为什么有的命令不能用? 是不是以上这些有的只能查找文件不能查找目录,有的只能找目录不能找文件?
高手们都喜欢用哪一个?我要向高手学习!
|
find的命令速度太慢了~~
locate之前要updatedb建立数据文件
which通常查找可行性的文件
whereis比较少用的,不太懂。
locate之前要updatedb建立数据文件
which通常查找可行性的文件
whereis比较少用的,不太懂。
|
which 查看可执行档案的位置,类似于sshd_config只是文件不是可执行档,所以在这里没用 ?
whereis [-bmsu] [目录名称] 这个不是很明白,例如我
[root@www ~]# whereis sshd_config
sshd_config: /usr/share/man/man5/sshd_config.5.gz
为什么没正确显示呢?其实我要找的文件是在/etc/ssh目录下
------------
让你man 你还不man 要是他们功能一样的话 有必要存在这么多吗?
适用的范围不一样
locate 快速,但是要更新数据库,所以我暂时也用不上。
find 这个命令太操蛋了,我find sshd_config /然后屏幕刷刷刷的开始滚动,晕死。。。耗时啊!
-----------------------
find确实慢 但是跟你指定路径有关 而且如果你自己命令用错了 也怪不了命令本身嘛
如果你常用linux 你就知道系统的设置文件一般都在/etc下
那么find /etc -name "sshd_config"
你看看还会慢吗
whereis [-bmsu] [目录名称] 这个不是很明白,例如我
[root@www ~]# whereis sshd_config
sshd_config: /usr/share/man/man5/sshd_config.5.gz
为什么没正确显示呢?其实我要找的文件是在/etc/ssh目录下
------------
让你man 你还不man 要是他们功能一样的话 有必要存在这么多吗?
适用的范围不一样
locate 快速,但是要更新数据库,所以我暂时也用不上。
find 这个命令太操蛋了,我find sshd_config /然后屏幕刷刷刷的开始滚动,晕死。。。耗时啊!
-----------------------
find确实慢 但是跟你指定路径有关 而且如果你自己命令用错了 也怪不了命令本身嘛
如果你常用linux 你就知道系统的设置文件一般都在/etc下
那么find /etc -name "sshd_config"
你看看还会慢吗
|
只要存在 只要执行的人有权限 find就一定能找到
|
每个目录都用man看一下 你就明白了
man whereis
man which
man locate
man find
man whereis
man which
man locate
man find
|
+1,lz还要多找资料多google才懂得更多
|
locate sshd_config
如果不行 就该用find了
which一般只是去环境变量PATH下去搜索 所以常用来找某个命令在哪个路径下
我3楼让你man一下 你也没man 之后就讲了每个命令的详细说明和作用
看完你就知道根据情况用哪种。
|
whereis - locate the binary, source, and manual page files for a com-mand
which - shows the full path of (shell) commands.
locate - find files by name
locate reads one or more databases prepared by updatedb(8) and writes
file names matching at least one of the PATTERNs to standard output,
one per line.
find - search for files in a directory hierarchy
看出区别了吗 更详细的 直接man
which - shows the full path of (shell) commands.
locate - find files by name
locate reads one or more databases prepared by updatedb(8) and writes
file names matching at least one of the PATTERNs to standard output,
one per line.
find - search for files in a directory hierarchy
看出区别了吗 更详细的 直接man