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

文件搜索命令: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. Word 2010 制作文档结构之章节自动编号

    参考:https://jingyan.baidu.com/article/37bce2be129fcc1002f3a2f9.html 1.打开需要章节编号的论文 2.设置格式 注意,这里相同级别的标题 ...

  2. 国产手机插入mac os 系统中无法被识别的解决方法

    一些国产手机插入mac os 系统中无法被识别,在命令行输入 system_profiler SPUSBDataType在, 然后将魅蓝note的vendor id 添加至 ~/.android/ad ...

  3. SSH 服务器不用密码

    1 A: user assh-keygen -t rsa 2 Created a directory on B, if ~/.ssh exists, which is fine.a@A:~> s ...

  4. AutoMapper queryable extensions 只找需要的字段

    http://jahav.com/blog/automapper-queryable-extensions/ How to generate a LINQ query for your DTOs Au ...

  5. 用ELK打造可视化集中式日志

    原文链接:https://yq.aliyun.com/articles/57420 摘要: Elk是Elastic search, Logstash和Kibana三者的简称. Elastic sear ...

  6. vim与终端的切换

    在vim中按ctrl+z,可以stop vim退出到终端. 在终端工作完后,想要返回vim,则输入fg然后回车. ref: linux任务控制的几个技巧ctrl+z,fg,bg,jobs,kill

  7. 扩展Spring切面

    概述 Spring的切面(Spring动态代理)在Spring中应用十分广泛,例如还有事务管理,重试等等.网上介绍SpringAop源码很多,这里假设你对SpringAop有基本的了解.如果你认为Sp ...

  8. 【巷子】---json-server---基本使用

    一.前后端并行开发的痛点 前端需要等待后端开发完接口以后 再根据接口来完成前端的业务逻辑 二.解决方法 在本地模拟后端接口用来测试前端效果 这种做法称之为构建前端Mock   三.json-serve ...

  9. JAVA中域、方法、类的可见性

    多态在域的问题上是特殊的.我理解不了中文版的书直接叫域,看了英文原版,原版写的是fields,直接翻译虽然没错,但是出问题的变量不是域.特地查了what is the meaning of field ...

  10. java基础/一个类A继承了类B,那么A就叫做B的派生类或子类,B就叫基类或超类。

    类重复,pulic class demo1 和class demo1 重复 无主类, 在cmd中输入命令: SET CLASSPATH=. (等号后为英文点符号),即可设置解释的路径为当前路径. 再次 ...