---恢复内容开始---

文件搜索命令:which

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法:which  [命令名称]

功能描述:显示系统命令所在目录,以及别名记录

范例:$which  ls

一切皆文件:命令根据权限(路径)可分为两类:1,root /sbin /usr/sbin   2,普通路径 /bin  /usr/bin

此命令可根据查找的命令所在的路径判断其权限。

whereis [命令名称]

与which类似

可以显示系统命令的所在路径以及帮助文档(所在文档)

尽管可以搜索,但应该减少搜索,占用太多资源。所以服务器的规划应该有条理的规划。

文件搜索命令:find

命令名称:find

命令所在路径:/usr/bin/find

执行权限:所有用户

语法:find [搜索路径]  [搜寻关键字]

功能描述:查找文件或目录(任意)

范例:

$find  /etc  -name  init   在目录/etc中查找文件或目录init,精准的搜索。

$find  /     -size   +204800  在根目录下查找大于100MB的文件或目录

$find  /home  -usr  samlee   在根目录下查找所有者为samlee的文件或目录

-name 根据文件名查找

在根目录下查找,会遍历整个硬盘,占用大量资源,应避免。

当只记得文件名一部分时,可以使用通配符,常用的通配符有两个

一个是 *   匹配任意字符,包括零个字符

比如要查找以init开头的文件或目录,则init*则可

若要查找包含init的文件或目录,则*init*则可

另一个是?  匹配单个字符 比如文件或目录名含7个字符,只记得前4个,则可用init???则可

总之在查询时要尽可能的精确路径,精确关键词。节省系统资源,占用系统资源越少越好。

linux严格区分大小写。不区分用 -iname 只是在搜索是不区分大小写。

-size   根据文件大小查找  大多数linux以block数据块  512字节=0.5kb(基本通用)

100MB=? block

100MB=102400KB=204800block

大于  +204800

小于  -204800

等于  204800

-user  根据文件所有者查找

-group根据文件所属组查找

另外是根据时间查找

1,天 ctime  atime  mtime

2,分钟  cmin  amin  mmin

c-change改变,表示文件的属性被修改过,所有者,所属组,权限。-l所显示的

a-access 访问,表示被人查看过

m-modify修改,表示文件内容被修改过

-  表示多长时间之内,如-1

+  超过

$find  /etc  -mmin  -120   在120分钟内被修改过内容的文件有哪些。

$find  /etc  -ctime  -1     在/etc下查找24小时内被修改过程属性的文件和目录

1.连接符   -a   and逻辑与    -o   or逻辑或

$find  /etc  -size  +163840 -a  -size  -204800 在/etc下查找大于80MB小于100MB的文件

$find  /etc  -name  init* -a  -type(类型) f(二进制文件) 在/etc目录下查找init开头且类型为二进制文件的文件

$find  /etc  -name  init* -a  -type       l(软连接文件)在/etc目录下查找init开头且类型为软连接的文件

-type 意为文件类型 f 二进制文件  l 软连接文件   d 目录

$find /etc  -name  init*  or  -size +204800 在/etc下查找以init开头或大小大于100MB的文件或目录

2.连接符 find ......  -exec 命令 {} \;

{}表示前面find查询的结果

/ 表示一个转义符(符号命令使用本身的含义)

;表示结束

注意三者之间有空格

$rm testfile

rm: remove regular cmpty file ‘testfile’? Y

$ which rm

alias rm=’rm -i’             //这也就是所说的别名,而\的使用则使其变成最原始的rm无-i选项

/bin/rm

$ \rm tesyfile              //此时直接删除

$

;则表示语句的结束

$find  /etc  -name  inittab -exec  ls  -l  {} \; 查看/etc目录下inittab的详细信息

$find  /etc  -name  testfile3 -exec rm {}\;将/etc下的testfile3文件直接删掉

$find  /test  -name  test  -exec ls -l {} \;将/test下的test文件列出详细信息

连接符 -ok(询问输入)

$find  /etc  -name inittab -ok ls -l {} \;意为查找到目标文件后,询问是否执行ls

$find  /etc  -name inittab -ok rm {} \;当后面的命令为rm时显得至关重要,询问是否移除。

$find /etc -name init* -a -type f -exec ls -l {} \;意为列出/etc下的以init开头的二进制文件的详细信息

另外的选项:根据i节点查找 无论文件名多奇怪,它总有一个i节点。i节点可以映射到多个文件,所以硬连接可以更新。

ls -i 便可列出此目录下文件的i节点

只要获得i节点便可利用find命令进行删除

例如:

无论发现何等奇异名字的文件,都可通过find查找i节点的方法来进行删除。

-inum 根据i节点查找

find . -inum 31531 -exec rm {} \ .

文件搜索指令:locate

指令名称:locate

指令英文原意:list files in databeses

指令所在路径:/usr/bin/locate

执行权限:all user

语法:locate [搜索关键字]

功能描述:寻找文件或目录在文件库中。此命令十分快,是因为建立了一个资料库。只是在资料库中找,并没有在硬盘上找。

范例:$locate  file

列出所有和file相关的文件

locate经常查找一些系统默认安装的命令,配置文件等。

此命令在unix下一般不提供,只在linux下提供。

locate与find不同,find是在目录下查找,locate是在定期更新的数据库中查找所以速度非常快,locate经常和命令updatedb配合使用

新的文件建立后,资料库不会及时更新。

文件搜索指令:updatedb

指令英文原意:update the slocate database

指令所在路径:/usr/bin/updatedb

执行权限:root

语法:updatedb

功能描述:建立整个系统目录文件的数据库

范例:#updatedb

当建立新文件,而新文件没有录入数据库时,通过locate则不能查找到

在linix系统下会有个计划任务定期执行updatedb

注意在/temp文件夹下的所有文件并不会被收录在资料库其中。

-i不区分大小写

文件搜索命令:grep

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

语法:grep [指定字串]  [源文件]

功能描述:在文件中搜寻字串匹配的行并输出

范例:#grep ftp /etc/services 所有和ftp相关的行输出出来

/etc/services 存放了所有网络协议对应的端口和信息

同样 -i不区分大小写。

-v 去掉 含#的行    grep -v ^# /etc/inittab ^表示行首。

---恢复内容结束---

文件搜索命令:which

命令名称:which

命令所在路径:/usr/bin/which

执行权限:所有用户

语法:which  [命令名称]

功能描述:显示系统命令所在目录,以及别名记录

范例:$which  ls

一切皆文件:命令根据权限(路径)可分为两类:1,root /sbin /usr/sbin   2,普通路径 /bin  /usr/bin

此命令可根据查找的命令所在的路径判断其权限。

whereis [命令名称]

与which类似

可以显示系统命令的所在路径以及帮助文档(所在文档)

同时会显示别名。如rm  =  rm -i 询问是否删除。

文件搜索命令:find

命令名称:find

命令所在路径:/usr/bin/find

执行权限:所有用户

语法:find [搜索路径]  [搜寻关键字]

功能描述:查找文件或目录(任意)

范例:

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

$find  /     -size   +204800  在根目录下查找大于100MB的文件或目录

$find  /home  -usr  samlee   在根目录下查找所有者为samlee的文件或目录

-name 根据文件名查找

在根目录下查找,会遍历整个硬盘,占用大量资源,应避免。

当只记得文件名一部分时,可以使用通配符,常用的通配符有两个

一个是 *   匹配任意字符,包括零个字符

比如要查找以init开头的文件或目录,则init*则可

若要查找包含init的文件或目录,则*init*则可

另一个是?  匹配单个字符 比如文件或目录名含7个字符,只记得前4个,则可用init???则可

总之在查询时要尽可能的精确路径,精确关键词。节省系统资源,占用系统资源越少越好。

-size   根据文件大小查找  大多数linux以block数据块  512字节=0.5kb(基本通用)

100MB=? block

100MB=102400KB=204800block

大于  +204800

小于  -204800

等于  204800

-user  根据文件所有者查找

另外是根据时间查找

1,天 ctime  atime  mtime

2,分钟  cmin  amin  mmin

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

a-access 访问,表示被人查看过

m-modify修改,表示文件内容被修改过

-  表示多长时间之内,如-1

+  超过

$find  /etc  -mmin  -120   在120分钟内被修改过内容的文件有哪些。

$find  /etc  -ctime  -1     在/etc下查找24小时内被修改过程属性的文件和目录

1.连接符   -a   and逻辑与    -o   or逻辑或

$find  /etc  -size  +163840 -a  -size  -204800 在/etc下查找大于80MB小于100MB的文件

$find  /etc  -name  init* -a  -type(类型) f(二进制文件) 在/etc目录下查找init开头且类型为二进制文件的文件

$find  /etc  -name  init* -a  -type       l(软连接文件)在/etc目录下查找init开头且类型为软连接的文件

-type 意为文件类型 f 二进制文件  l 软连接文件   d 目录

$find /etc  -name  init*  or  -size +204800 在/etc下查找以init开头或大小大于100MB的文件或目录

2.连接符 find ......  -exec 命令 {} \;

{}表示前面find查询的结果

/ 表示一个转义符(符号命令使用本身的含义)

$rm testfile

rm: remove regular cmpty file ‘testfile’? Y

$ which rm

alias rm=’rm -i’             //这也就是所说的别名,而\的使用则使其变成最原始的rm无-i选项

/bin/rm

$ \rm tesyfile              //此时直接删除

$

;则表示语句的结束

$find  /etc  -name  inittab -exec  ls  -l  {} \; 查看/etc目录下inittab的详细信息

$find  /etc  -name  testfile3 -exec rm {}\;将/etc下的testfile3文件直接删掉

$find  /test  -name  test  -exec ls -l {} \;将/test下的test文件列出详细信息

连接符 -ok(询问输入)

$find  /etc  -name inittab -ok ls -l {} \;意为查找到目标文件后,询问是否执行ls

$find  /etc  -name inittab -ok rm {} \;当后面的命令为rm时显得至关重要,询问是否移除。

$find /etc -name init* -a -type f -exec ls -l {} \;意为列出/etc下的以init开头的二进制文件的详细信息

另外的选项:根据i节点查找 无论文件名多奇怪,它总有一个i节点。i节点可以映射到多个文件,所以硬连接可以更新。

ls -i 便可列出此目录下文件的i节点

只要获得i节点便可利用find命令进行删除

例如:

无论发现何等奇异名字的文件,都可通过find查找i节点的方法来进行删除。

文件搜索指令:locate

指令名称:locate

指令英文原意:list files in databeses

指令所在路径:/usr/bin/locate

执行权限:all user

语法:locate [搜索关键字]

功能描述:寻找文件或目录

范例:$locate  file

列出所有和file相关的文件

locate经常查找一些系统默认安装的命令,配置文件等。

此命令在unix下一般不提供,只在linux下提供。

locate与find不同,find是在目录下查找,locate是在定期更新的数据库中查找所以速度非常快,locate经常和命令updatedb配合使用

文件搜索指令:updatedb

指令英文原意:update the slocate database

指令所在路径:/usr/bin/updatedb

执行权限:root

语法:updatedb

功能描述:建立整个系统目录文件的数据库

范例:#updatedb

当建立新文件,而新文件没有录入数据库时,通过locate则不能查找到

在linix系统下会有个计划任务定期执行updatedb

文件搜索命令:grep

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

语法:grep [指定字串]  [源文件]

功能描述:在文件中搜寻字串匹配的行并输出

范例:#grep ftp /etc/services 所有和ftp相关的行输出出来

/etc/services 存放了所有网络协议对应的端口和信息

linux命令:文件搜索命令的更多相关文章

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

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

  2. 4.Linux的文件搜索命令

    1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [chanshuyi@localhost ~]$ which ls alias ls= ...

  3. Linux的文件搜索命令(locate ,find,grep,find命令和)

    刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...

  4. [Linux] 012 文件搜索命令

    文件搜索命令:find 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 功能描述:文件搜索 范例: 在目录 /etc 中查找文件 ...

  5. linux笔记:linux常用命令-文件搜索命令

    文件搜索命令:find(文件搜索) 一些示例: 注意:在以文件名为条件进行搜索时,支持通配符. 多条件搜索,以及直接对搜索到的文件进行操作: 文件搜索命令:locate(在文件资料库中查找文件) 文件 ...

  6. Linux基本命令 文件搜索命令

    1.文件搜索命令find ================================================================================== 命令名称 ...

  7. Linux 之 文件搜索命令

    文件搜索命令 参考教程:[千峰教育] 文件搜索定位 grep: 作用:通用规则表达式分析程序,是一种强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来. 格式:grep [选项] ...

  8. linux下文件搜索命令学习笔记

    1. locate:按照文件名搜索文件 locate filename 与find在整个操作系统中遍历搜索不同,locate命令在/var/lib/mlocate这个后台数据库中按照文件名搜索,所以优 ...

  9. linux常用命令-文件搜索命令-locate,which,whereis,grep

    locate 目录或文件名 -i 查找的时候不区分大小写 这个类似everything,速度比find快很多,因为这个命令搜索的是它维护的文件资料库,文件资料库是var/lib/mlocate/mlo ...

随机推荐

  1. laravel curl post json

    <?php namespace App\BO; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; us ...

  2. mac下升级terminal/终端的subversion版本方法

    雖然現在程式碼管理已經以 Git 為主了,不過偶爾需要維護一些舊案子還是會用 SVN,懶得轉了. Mac OS 本身有內建 SVN,不過卻是 1.6 版,最近修改一個舊案子就有碰到 project 已 ...

  3. MyBatis学习之输入输出类型

    1.  传递pojo对象 Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称,其中,#{}:占位符号,好处防止sql注入,${}:sql拼接符号, 简要说明 ...

  4. mysql select缓存使用详解

    mysql Query Cache 默认为打开.从某种程度可以提高查询的效果,但是未必是最优的解决方案,如果有的大量的修改和查询时,由于修改造成的cache失效,会给服务器造成很大的开销,可以通过qu ...

  5. [Sdoi2016]平凡的骰子

    描述 这是一枚平凡的骰子.它是一个均质凸多面体,表面有n个端点,有f个面,每一面是一个凸多边形,且任意两面不共面.将这枚骰子抛向空中,骰子落地的时候不会发生二次弹跳(这是一种非常理想的情况).你希望知 ...

  6. SSH用户枚举漏洞(CVE-2018-15473)原理学习

    一.漏洞简介 1.漏洞编号和类型 CVE-2018-15473 SSH 用户名(USERNAME)暴力枚举漏洞 2.漏洞影响范围 OpenSSH 7.7及其以前版本 3.漏洞利用方式 由于SSH本身的 ...

  7. 3-2 axios基础介绍

    1.静态引用 <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 2.npm ...

  8. linux下模拟CPU占用100%小程序

    在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用, 原文在这:http://www.2cto.com/os/201304/202068.html 优化后如下: ...

  9. 算法学习之冒泡排序的C实现

    冒泡排序是属于比较类的排序方式,简单易懂,但是效率不是很高,不及快排. #include "stdio.h" #include "time.h" void bu ...

  10. 7.18 进程池方式的 socket

    2018-7-18 22:05:28  笔记都做完了 睡觉睡觉!!!明天早起!发现python慢慢深入变得很强大,很好玩!!! 进程池版本的socket 更加优化了,比多进程版本的效率更高 seerv ...