Linux-鸟菜-6-文件搜索

which(寻找[执行档])

alian ..............这个后面显示的是别名

没有找到history是因为which是根据PATH环境变阿玲去搜索执行文件的名的。

whereis (由一些热定的目录中找文件文件名)

上面,which找执行文件,默认whereis列出所有文件(二进制和非二进制),-b就可以找二进制执行文件了。

which和whereis快是因为他们并不是遍历所有的文件夹,而只是查询一些固定好的目录。所以相比find遍历所有来说会快很多。

locate/updatedb

额..我系统是英文的,在网上找个中文的来:

locate的速度也贼快,但是他并不是因为和which和whereis一样因为只搜索制定目录才快,他快是因为它搜索的是数据库,数据文件的”镜像”存在了数据库里,不用去真正遍历文件夹去搜索数据,所以快,同时这也就带来了一个问题就是数据库更新问题,可以手动更新,updatedb来更新下,如果不手动更新系统会定时自动更新,比如一天更新一次。所以通常自己马上建立一个文件,直接去搜索并不能搜到,需要手动更新一次再搜。这个问题需要留意。

find

最后是说最慢最屌的find命令,这个命令慢是因为它真正发的去遍历并且查找所有相关。屌是以因为条件可以设置的很细,如名字,类型,用户,时间等等。

帮助命令

find名字/权限/过滤路径

Find 用户组/用户名/时间

查找更改时间比文件file1新但比文件file2旧的文件  -newer file1 ! file2

说明: find -newer file1 !file2

查找某一类型的文件 -type

说明:

类型文件:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

find /etc -type d –print 在/etc目录下查找所有的目录

find . ! -type d –print 在当前目录下查找除目录以外的所有类型的文件

find /etc -type l –print 在/etc目录下查找所有的符号链接文件

以文件大小来查找 -size n

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计

说明:

find . -size +1000000c –print 在当前目录下查找文件长度大于1 M字节的文件

find . -size 100c –print 在当前目录下查找文件长度恰好为100字节的文件

find . -size +10 –print 在当前目录下查找长度超过10块的文件(一块等于512字节)

在查找文件时不跨越文件系统mount点 -mount

说明:

find . -name "*.sh" -mount –print 从当前目录开始查找位于本文件系统中文件名以sh结尾的文件(不进入其他文件系统)

如果find命令遇到符号链接文件,就跟踪至链接所指向的文件 -follow

在当前目录及所有子目录中查找filename(忽略大小写)

# find -iname "filename"

在根目录分级查找

查找根目录和根目录的和只展开一级的子目录中查找

$find -maxdepth 2 -name passwd

在根目录和根目录下展开两级查找passwd文件

$find / -maxdepth 3 -name passwd

在根目录的第二级和第四级之间查找

$ find -mindepth 3 -maxdepth 5 -name passwd

find与exec一起使用

在当前目录下查找文件,并使用exec执行ls -l命令

find .  -type f -exec ls -l {} \;

查找并删除dir1目录下更改时间小于一天的文件

find dir1 -type f -mtime -1 -exec rm {} \;

查找并删除dir1目录下更改时间小于一天的文件,删除时提示是否删除  y 删除  n不删除

find dir2 -name "*.txt" -mtime -1 -ok rm {} \;

find与xargs一起使用

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

#查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件:

find . -type f -print | xargs file

#在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:

find / -name "core" -print | xargs echo "" >/tmp/core.log

#用grep命令在所有的普通文件中搜索wirelessqa这个词

find . -type f -print | xargs grep "wirelessqa"

#在/bixiaopeng/apps目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限:

find /bixiaopeng/apps  -perm -7 -print | xargs chmod o -w

#删除3天以前的所有东西 (find . -ctime +3 -exec rm -rf {} \;)

find ./ -mtime +3 -print|xargs rm -f –r

#删除文件大小为零的文件

find . -size 0 | xargs rm -f &

Linux-鸟菜-6-文件搜索相关推荐

  1. linux的库文件路径,Linux下的库文件搜索路径

    对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行&quo ...

  2. linux vim配置头文件搜索路径

    linux vim配置头文件搜索路径 根目录下 修改 etc/profile 文件结尾处加 set path=.,/usr/include,,/usr/include/c++/** //**搜索子目录 ...

  3. linux查看文件位置命令bwd,linux 操作系统中find文件搜索命令的使用

    文件搜索命令是:find 命令所在路径是:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 范例: find /etc -name init  这个是比较精准的要找文 ...

  4. Linux常用命令之文件搜索命令

    目录 1.最强大的搜索命令:find 一.根据 文件或目录名称 搜索 二.根据 文件大小 搜索 三.根据 所有者和所属组 搜索 四.根据 时间属性 搜索 五.根据 文件类型或i节点 搜索 六.组合条件 ...

  5. linux常用基础命令——文件搜索命令

    不管是Linux系统还是Windows系统最好是少用搜索,在服务器规划时就规划好文件的存放,不要随便瞎放,因为搜索功能会占用大量的系统资源.如果实在要查找,不要在服务器业务高峰期进行此操作,查找的目录 ...

  6. linux 命令案例学习——文件搜索

    两个搜索文件的工具 locate  --仅仅通过文件名查找文件 find     --依据文件的各种属性在既定目录(包括子目录)里查找 一个通常与文件搜索命令一起使用.处理搜索结果文件列表的命令 xa ...

  7. [转]Linux C语言头文件搜索路径

    转自:http://hi.baidu.com/ilonng/blog/item/a0232435fbcfb90490ef390d.html/cmtid/68d4ab7bbb8026fb0ad187be ...

  8. Linux下的库文件搜索路径

    对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行&quo ...

  9. linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...

    本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...

  10. ANGRYsearch - Linux 上的超级快速文件搜索桌面工具

    ANGRYsearch 是一个 linux 文件搜索实用程序,它试图模拟 Windows 中可用的"Everything".ANGRYsearch 在您键入文件名或目录时显示结果. ...

最新文章

  1. 微信支付android不弹出支付密码窗口,微信支付没弹出支付窗口
  2. Windows:安装Chrome OS/Chromium OS/CloudReady 到虚拟机VMware/VirtualBox
  3. python3 zipfile模块 zip压缩解压
  4. python 笔记:装饰器
  5. hdu2059:龟兔赛跑
  6. 什么是JVM内存模型
  7. JDK8后的日期时间API
  8. SQL Servr 2008空间数据应用系列一:空间信息基础
  9. 微信小程序|个人简历
  10. 计算机游戏高少手电影,支持switch,还有电影特技!上手简评骨伽IMMERSA Ti游戏耳机...
  11. 对Java回调函数的理解
  12. 微信小程序 全套 视频 9ph7 教程 全部免费 百度网盘
  13. 推荐系统(Recommendation System )介绍
  14. 残差、方差、偏差、MSE均方误差、Bagging、Boosting、过拟合欠拟合和交叉验证
  15. day 46 http和html
  16. 苏州新导_室内定位技术实现停车场下的高精度定位_室内定位技术带你找朋友
  17. 《计算机网络(第七版)谢希仁 编著》第一章内容总结及部分解题
  18. RDKit|分子修改与编辑
  19. 毕业设计 嵌入式 扫地机器人系统
  20. dilink虚拟服务器怎么设置,最简单的dlink路由器设置教程

热门文章

  1. ZigBee TI ZStack CC2530 2.4 IAR软件版本
  2. 由浅入深剖析硬盘固件
  3. OpenMP并行化实例----Mandelbrot集合并行化计算
  4. X/Open DTP模型与XA协议的学习笔记
  5. find命令应用详解
  6. 正方形分成16份,将1到16填入其中。让行和列都是从大到小。问一共有多少种方法?...
  7. node安装升级过程中遇到的问题汇总
  8. ESP系列AT指令开发笔记
  9. 【poj3734】矩阵乘法求解
  10. ps -aux返回超过100%