Linux常用命令(第二版) --文件搜索命令

时间:2022-04-18 13:44:51

文件搜索命令

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常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)

     1.文件搜索命令:locate [文件名]    在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少    例子:locate test.txt,就会显示文件名包含 test.txt的所 ...

  2. 【linux学习笔记四】文件搜索命令

    一 文件搜索 locate //在后台数据库中按文件名搜索 搜索速度更快 locate 文件名 //locate命令所搜索的后台数据库 /var/lib/mlocate //更新数据库 updated ...

  3. Linux常用命令&lpar;第二版&rpar; --压缩解压缩命令

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

  4. Linux常用命令&lpar;第二版&rpar; --权限管理命令

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

  5. Linux进程管理&lpar;第二版&rpar; --进程管理命令

    进程管理命令 一.查看用户信息.5.15 分钟内的系统的,优先值越小,优先权越大 ] 1.nice 指定程序运行的优先级 格式 nice -n command 例如 nice -5 myprogrem ...

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

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

  7. Linux常用命令——文件搜索命令

    Linux常用命令——文件搜索命令 Linux  以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...

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

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

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

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

随机推荐

  1. 免费SSL证书 之Let’s Encrypt申请与部署&lpar;Windows Nginx&rpar;

    我着着皇帝的新衣,但是你看不见    有一颗愿意等待的心,说明你对未来充满希望.有一颗充满希望的心,那么等待又算什么.人就是在等待与希望中度过,我们永远要对未来充满信心! 读在最前面: 1.本文案例为 ...

  2. iOS开发之组件化架构漫谈

    前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是 ...

  3. char与varchar区别-转

    1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHA ...

  4. 在SPItemEventReceiver中使用BeforeProperties和AfterProperties

    当你利用这些事件时,就很快会发现存在前(同步)后(异步)两种事件.其方法的后缀分别为“ing”(比如,ItemAdding)和“ed”(比如,ItemAdded),分别代表了变更发生前调用和发生后调用 ...

  5. wpf mvvm datagrid DataGridTemplateColumn的绑定无效的可能原因之一!

    昨天在mvvm wpf的开发中遇到一个问题,绑定不起作用,编辑阶段没问题也没有提示找不到对应的绑定,但是在运行之后却不起作用,查了很多资料,说法不一,有些是要删除datagrid的一行,直接绑定del ...

  6. &lbrack;转帖&rsqb;ARM 相关内容

    ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57 http://www.myir-tech.com/resource/448.asp ...

  7. c&plus;&plus; shared&lowbar;ptr的使用

    shared_ptr.是c++为了提高指针安全性而添加的智能指针,方便了内存管理.功能非常强大,非常强大,非常强大(不单单是shared_ptr,配合week_ptr以及enable_share_fr ...

  8. 如何删除GitHub中已经建好的仓库&lpar;repository&rpar;

    我们有时候可能需要清理 GitHub 中一些不维护的或不需要的项目,此时就要用到delete操作了,很多新手可能不知道如何删除已有仓库,下面将简单介绍下,需要注意的是删除操作不能恢复,一旦执行此操作, ...

  9. hadoop的namenode启动失败

    1.jps发现namenode启动失败 每次开机都要重新格式化一下namenode才可以 其实问题出现自tmp文件上,因为每次开机就会被清空,所以现在我们配置一个tmp文件目录. 如果之前没有配置过, ...

  10. &lbrack;2018-12-15&rsqb; Hello World!

    这个blog以后就用来发oi相关的算法与数据结构了 还可能想学习一点web前端的知识和一些与计算机有关的软件和技术 可能有空大概会试试搭建blog以及一些各种软件和c++以外的玩意