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学习笔记(5)Linux常用命令之文件搜索命令

    (1)find find命令用于文件搜索,所在路径/bin/find,其语法格式为: find [搜索范围] [匹配条件] 1)-name:根据文件名搜索,如搜索/etc下的init文件 [root@ ...

  2. linux常用命令:3文件搜索命令

    文件搜索命令 1. 命令名:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find  [搜索范围]  [匹配条件] 功能描述:文件搜索 文件搜索类型 通过文件名搜索 -name ...

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

    目录 1.最强大的搜索命令:find2.在文件资料库中查找文件命令:locate 一.根据 文件或目录名称 搜索 二.根据 文件大小 搜索 三.根据 所有者和所属组 搜索 四.根据 时间属性 搜索 五 ...

  4. Linux系列教程(六)——Linux常用命令之文件搜索命令

    前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s  链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...

  5. Linux系统之常用文件搜索命令

    (一)常用文件搜索命令 (1)which命令 (2)find命令 (3)locate (4)updatedb (5)grep (6)man (7)whatis (一)常用文件搜索命令 (1)which ...

  6. Linux常用命令3 文件搜索命令

    文件搜索非常占用资源,所以尽量不要使用这个命令 避免少用该命令最好的方式是设置好文件夹结构,文件不要乱放 1.文件搜索命令:find 命令名称:find 所在路径:/bin/find 执行权限:所有用 ...

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

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

  8. Linux经常使用命令-文件搜索命令-文件搜索命令find

    命令名称:find 命令所在路径:/bin/find 语法:find [搜索范围] [匹配条件] 功能描写叙述:文件搜索 演示样例 find /etc - name init 在文件夹/etc 中查找 ...

  9. Linux下的头文件搜索路径

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

  10. Linux C语言头文件搜索路径

    本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢.在此之前,先了解一个基本概念. 头文件是一种文本文件,使用文本编辑器将代 ...

随机推荐

  1. MySQL深入研究--学习总结(4)

    前言 接上文,继续学习后续章节.细心的同学已经发现,我整理的并不一定是作者讲的内容,更多是结合自己的理解,加以阐述,所以建议结合原文一起理解. 第13章<为什么表数据删除一般,表文件大小不变?& ...

  2. springAop:Aop(Xml)配置,Aop注解配置,spring_Aop综合案例,Aop底层原理分析

    知识点梳理 课堂讲义 0)回顾Spring体系结构 Spring的两个核心:IoC和AOP 1)AOP简介 1.1)OOP开发思路 OOP规定程序开发以类为模型,一切围绕对象进行,OOP中完成某个任务 ...

  3. VS添加dll引用

    直接添加(CADImport.dll) 手动添加 (sgcadexp.dll) 直接放到项目bin的目录下

  4. ch1_6_1求解两种排序方法问题

    考拉有n个字符串字符串,任意两个字符串长度都是不同的.  考拉最近学习到有两种字符串的排序方法:   1.根据字符串的字典序排序.例如: "car" < "carr ...

  5. restful设计风格

    restful是一种软件设计风格,并不是标准,它只是提供了一组设计原则和约束条件. ① restful 提倡面向资源编程,url接口尽量要使用名词,不要使用动词 ② 在url中可以体现版本号 ③可以根 ...

  6. 玩玩CSS,写一个图标堆叠效果

    遇到有人问如下效果怎么写,一时兴起,自己写一个玩玩. 看到这个样子,首先应该考虑一下 DOM 结构,以我的观点,把DOM结构设计为如下形式: <div> <img src=" ...

  7. java例题_03 水仙花数

    1 /*3 [程序 3 水仙花数] 2 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 3 例如:153 是一个 ...

  8. 为科学计算而生的Julia——基于Manjaro Linux的安装与入门

    技术背景 Julia是一门为科学计算而生的编程语言,其着重强调了开源.生态与性能.从开源角度来说,相比于Matlab就要友好很多,用户可以免费使用,而且MIT协议应该是最宽松的开源协议之一(截图来自于 ...

  9. Java应用性能瓶颈分析思路

    1 问题描述 因产品架构的复杂性,可能会导致性能问题的因素有很多.根据部署架构,大致的可以分为应用端瓶颈.数据库端瓶颈.环境瓶颈三大类.可以根据瓶颈的不同部位,选择相应的跟踪工具进行跟踪分析. 应用层 ...

  10. HTTP2和 HTTPS来不来了解一下?

    本文力求简单讲清每个知识点,希望大家看完能有所收获 一.HTTP协议的今生来世 最近在看博客的时候,发现有的面试题已经考HTTP/2了,于是我就顺着去了解一下. 到现在为止,HTTP协议已经有三个版本 ...