比如一个文件夹下在几万个文件:
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
寻找空的目录:
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 的文件都会查找出来
补充一下:你想了解系统查找这个文件的时间复杂度.我觉得百度上这人都不知道.这是研发人员的事嘛.如果硬让我说的话.我觉得应该很快很快.因为计算机的处理速度是非常非常快的.具体数值是什么,我记不清了.
或者find 1000* 这样前面是1000 的文件都会查找出来
补充一下:你想了解系统查找这个文件的时间复杂度.我觉得百度上这人都不知道.这是研发人员的事嘛.如果硬让我说的话.我觉得应该很快很快.因为计算机的处理速度是非常非常快的.具体数值是什么,我记不清了.
第2个回答 2008-12-05
现在Unix系统一般都有专门的搜索功能吧,搜一下不就出来了
第3个回答 2008-12-05
find