文件搜索命令

1、which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件

格式:which [系统命令]

e.g. which ls

附-whereis:也可以查找到命令的绝对路径

与whereis不同,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置

2、find /usr/bin/find #查找文件或目录,任何文件皆可,如图片,压缩包等

语法:find [搜索路径] [搜索选项] filename

a) find /etc -name 文件名 #-name 最常见的选项

find /etc -name init // 在目录/etc中查找文件init文件

注意:

1-尽量缩小查找范围,不要在根目录下查找,不然:1、查找速度非常慢;2、占用大量系统资源.

2-占用系统资源越少越好,而且尽量在服务器压力较小时用find进行查找.

3-find .. -name 查找结果与Windows不同,如:Windows会把所有包含init关键词的文件全都列出来而Linux则只会匹配init关键词

4-使用通配符:

*:用于匹配任意字符

find /etc -name init* #查找所有以init开头的文件

find /etc -name *init*  #init左右都没有空格,用于查找所有包含init关键词的文件

?:用于匹配单个字符

find /etc -name init??? #这个文件会有七个字符。

find /etc -name ?init??

b)find /etc -size 文件大小

#他是以数据块为单位的!512字节 = 0.5KB, 1K = 2Blocks

100M=?blocks

100M = 102400K = 102400*2blocks

E.g

find /etc -size +204800  #在/etc下查找大于80MB大于100MB的文件

find /etc -size -204800 #在/etc下查找大于80MB小于100MB的文件

find /etc -size 204800 #在/etc下查找等于100MB的文件,不常用!

c)find /etc -user username 查找属于username的文件

find /home/xiaofang/Programme/Data_Structure/ -user xiaofang

d)通过时间值查找:

1、以天为单位: ctime,atime,mtime

2、以分钟为单位: cmin,amin,mmin #更为常用

c-change 改变:表示文件的属性被修改过,比如:所有者,所属组,权限

a-access 访问:文件被浏览过

m-modify 修改:文件内容被修改过

-多长时间之内,+超过多少时间

E.g.

find /etc -mtime -1

find /etc -amin -60

find /home -cmin -120

e)find /etc -type 文件类型 #根据文件类型查找

f 二进制文件

l 软链接文件

d 目录

E.g.

find /etc -type f

find /etc -type l

f)-inum #根据i节点进行查找

E.g.

touch -- -abc #删除:rm -- -abc

touch “a b” #删除:rm “a b”

find . -inum 159341

find . -inum 159341 -exec rm -f {} \; #找到i节点为159341的文件,并删除它

附-find连接符:

1、 -a:and 逻辑与

-o:or 逻辑或

E.g.

find /etc -size +163840 -a -size 204800 #查找>80M,<100M的文件

find /etc -name init* -a -type f #查找名为init并且为二进制的文件,并不包含目录

2、find ….. -exec 命令 {} \; #固定格式,只能这样来写

{} :find的查询结果

\   :转义符-使得符号命令使用本身的含义

; :语句结束

e.g.

find /etc -name inittab -exec ls -l {} \;

#在/etc下查找inittab文件并显示其详细信息

find /home -user sax -exec rm -rf {} \;

#删除用户sax所有的文件

find /home -user sax -ok rm -rf {} \; #-ok连接符

#删除用户sax所有的文件,他会提示你是否确认

find /etc -name init* -ok rm -rf {} \;

3、locate[list file in databases]: /usr/bin/locate

说明:

#是Linux所特有的命令,寻找文件或目录,最好用于快速定位系统命令,配置文件等

#虽然搜索速度很快,但有时候会找不到

#locate是在文件数据库中查找的,所以速度会很快

#但是如果数据库没有包含这个文件的话,他就会找不到;

格式:locate [搜索关键字]

配合:updatedb [update a database for mlocate]: /usr/bin/updatedb

#建立整个系统目录文件的数据库

注意:其执行权限为:root!!!

4、grep: /bin/grep #在文件中搜寻字串匹配的行并输出

格式: grep [指定字串] [源文件]

E.g. grep ftp /etc/services

附:grep功能特别强大,支持正则表达式,她的更加具体的介绍请参考我的另一篇博文:

《四天精通Shell编程(二)》

Linux常用命令(第二版) --文件搜索命令相关推荐

  1. Linux常用命令(第二版) --压缩解压缩命令

    压缩解压缩命令: ----------.gz---------- 1.压缩 gzip[GNU zip]: /bin/gzip 格式: gzip 选项 [文件] #压缩文件,压缩后扩展名为.gz,Lin ...

  2. Linux常用命令(第二版) --权限管理命令

    权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目 ...

  3. Linux进程管理(第二版) --进程管理命令

    进程管理命令 一.查看用户信息w 1. w显示信息的含义 TTY:说明用户登录的方式,ttyN:表示以本地终端登录;pts/N表示以远程终端登录 JCPU:以终端代号来区分,该终端所有相关的进程执行时 ...

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

    本文主要记录Linux常用命令中的文件搜索命令,如下. 文件搜索命令locate 命令搜索命令 whereis 与which 文件搜索命令 find 字符串搜索命令grep find命令与grep的区 ...

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

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

  6. Linux常用指令学习(篇三):文件搜索命令

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.文件搜索命令:find 1. 根据文件名搜索 -name 2. 指定文件大小搜索 -size 3. 根据所有者搜索 ...

  7. Linux学习4之常用命令--文件搜索命令

    一.文件搜索命令  find 语法:find [搜索范围] [匹配条件]  {find [搜索范围] [搜索模式] [搜索条件]} 1.以文件名来查找  -name(区分大小写)-iname (不区分 ...

  8. [Linux学习笔记] Linux常用命令 - 文件搜索命令

    2019独角兽企业重金招聘Python工程师标准>>> 文件搜索命令 1. 显示系统命令所在目录: which 命令名称: which 命令所在路径: /usr/bin/which ...

  9. Linux文件搜索命令介绍——locate、find、xargs、touch、stat

    本文主要介绍两个用在Linux系统中搜索文件的工具. locate:通过文件名查找文件 find:在文件系统目录框架中查找文件 同时,我们也会介绍一个通常与文件搜索命令一起使用.处理搜索结果文件列表的 ...

最新文章

  1. Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...
  2. 新手探索NLP(四)
  3. Drools学习笔记3—Conditions / LHS—字段约束连接字段约束操作符
  4. kafka配置_Kafka生产环境的几个重要配置参数
  5. Hystrix 资料简单梳理
  6. NSDateFormatter设定日期格式
  7. IO流 (二) ----- 文件流
  8. 2017ACM/ICPC广西邀请赛题解
  9. 《Systems Performance》阅读笔记及收获
  10. java sql loader_Oracle的存储过程中如何调用sql loader?
  11. 阿里云 短信 sdk 导致strtotime时间戳转换错误 相差8小时
  12. 机器学习(ML)在材料领域应用专题
  13. Win10网卡驱动异常代码56的问题
  14. python多行注释报错_解决python多行注释引发缩进错误的问题
  15. python cls方法_python – cls()函数在类方法中做了什么?
  16. oracle中锁机制,Oracle锁的基本机制
  17. linux下的流量监控之应用程序防火墙
  18. C语言实现一维信号小波阙值去噪
  19. 商家如何利用小程序积分营销工具为小程序引流?
  20. 三步实现西门子PLC远程监控

热门文章

  1. (数据库系统概论|王珊)第十一章并发控制-第一节:并发控制概述
  2. LeetCode 40 组合总和 II
  3. USACO-Section1.4 Prime Cryptarithm (搜索)
  4. HVV之WIFI蜜罐反制红队
  5. Linux下如何让普通用户具备sudo执行权限(普通用户提权)
  6. jQuery选择器总结[转]
  7. 内向的人在面试时如何表现自己?
  8. 什么 时候用转义字符
  9. thinkphp导航高亮的方法
  10. OpenSSH 远程拒绝服务漏洞