Unix文件系统如何查找文件

比如一个文件夹下在几万个文件:
10001.dat, 10002.dat, ....59999.dat
用程序打开其中一个文件(比如36666.dat),文件系统怎么找到这个文件,也就是如何在几万个文件中找到一个确定的文件,时间复杂度如何?
我明知道文件夹里存在的文件,用find命令干什么呢?
我想了解时间复杂度?

Unix/Linux使用Find命令查找文件方法如下:
寻找空的目录:
  find /path -depth -type d -empty
www.2cto.com
  寻找空文件:
  find /path -depth -type f -empty

  根据名字查找文件:
  find /path -name name_of_file

  根据扩展名查找文件:
  find /path -name “*.given_extension”

  寻找具有特定权限且特定扩展名的文件:
  find /path -name ‘*.txt’ -perm 644

  根据文件具有的权限属性来寻找文件:
  find /path -perm -permision_bits
www.2cto.com
  不知道扩展名,只使用文件名来寻找文件:
  find /path -name ‘given_name.*’

  寻找在24小时内修改过的文件:
  find /path -mtime n
  这里的n,0表示24小时,1表示48小时,2表示72小时。下面的n也一样。

  查找最近24小时内存取过的文件:
  find -atime n www.2cto.com

  根据所有者查找文件:
  find /path -user root

  查找删除的文件:
  find /path -name mytestfile | xargs rm
iCC Develop Center
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-10
find命令.最好你知道这个文件夹.在这个文件增值下.你可以这样用:find 10001.dat
或者find 1000* 这样前面是1000 的文件都会查找出来
补充一下:你想了解系统查找这个文件的时间复杂度.我觉得百度上这人都不知道.这是研发人员的事嘛.如果硬让我说的话.我觉得应该很快很快.因为计算机的处理速度是非常非常快的.具体数值是什么,我记不清了.
第2个回答  2008-12-05
现在Unix系统一般都有专门的搜索功能吧,搜一下不就出来了
第3个回答  2008-12-05
find

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网