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

文件搜索命令: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. How to install Wine on Ubuntu Linux 64bit

    参考地址:https://linuxconfig.org/how-to-install-wine-on-ubuntu-linux-64bit The following linux command p ...

  2. Android studio 安装已经下载好的gradle.zip文件【ubuntu 14.04 LTS环境】

    一 下载 gradle-3.3-all.zip 包 http://download.csdn.net/detail/t6546545/9732412 http://www.fxxz.com/soft/ ...

  3. OGG 3节点级联时 关键参数

    目标架构为: node1-> node2->node3 node1-> node2 已经同步中,只是需要在此基础上做个node2 ->node3 的同步. 部署后发现 node ...

  4. 【JVM译文】JVM问题定位前的准备工作有哪些

    一.序 最近在学习jvm工具时,不少链接直指oracle官网.才发现有不少好东西. 本文翻译自: https://docs.oracle.com/javase/8/docs/technotes/gui ...

  5. sonarqube插件开发(三) 调试插件

    环境 windows + eclipse +sonarqube server 5.6.4 准备 新建一个maven项目,其中加入了一些插件所用的jar <project xmlns=" ...

  6. [转]了解如何通过reverse_iterator的base得到iterator

    转自:http://blog.csdn.net/shuchao/article/details/3705252 调用reverse_iterator的base成员函数可以产生“对应的”iterator ...

  7. wpgcms---流程控制

    在模板里面Twig标签语法的时候,很多时候会用到流程控制. if 判断: {% if true %} {% endif %} // 示例 {% if item.href %} href="{ ...

  8. CentOS6.5 下将 Python2.6.6 升级到Python3.5

    一. 从Python官网到获取Python3的包, 切换到目录/usr/local/src #wget https://www.python.org/ftp/python/3.5.1/Python-3 ...

  9. linux下面安装coreseek与mmseg

    1tar xzvf coreseek-3.2.14.tar.gz2cd mmseg-3.2.14/./configure --prefix=/usr/local/mmseg3 checking for ...

  10. openstack 部署(Q版)-----Mysql、MQ、Memcached安装配置

    一.安装mysql yum install -y mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 vim /etc/my.cnf [mysqld] ...