(1)find

find命令用于文件搜索,所在路径/bin/find,其语法格式为:

find [搜索范围] [匹配条件]

1)-name:根据文件名搜索,如搜索/etc下的init文件

[root@localhost ~]# find /etc/ -name init

/etc/sysconfig/init

/etc/kdump-adv-conf/kdump_initscripts/init

/etc/init

[root@localhost ~]#

注:-iname是不区分大小写,与Windows不同的是,按照-name搜索到的文件只有与之完全相同的才会被搜索出来。

2)-size:按照文件大小搜索,如搜索根目录下大于100M的文件:

[root@localhost ~]# find / -size +

find: “/proc//task//fd/”: 没有那个文件或目录

find: “/proc//task//fdinfo/”: 没有那个文件或目录

find: “/proc//fd/”: 没有那个文件或目录

find: “/proc//fdinfo/”: 没有那个文件或目录

[root@localhost ~]#

注:num前面的"+"表示大于,"-"表示小于,其次文件的大小需要进行换算,Linux在以数据块为单位,1个数据块即为512字节(0.5k)。

3)-user:按所有者进行查找,-group:按所属组进行查找,如在/home目录下查找所有者为username的文件:find /home –user username。

4)-amin:按访问时间进行搜索(access),-cmin:按文件属性修改的时间进行搜索(change),-mmin:按文件内容修改的时间进行搜索(modify)。如在/etc下查找5分钟内被修改过属性的文件:

find /etc –cmin -5

注:+5表示超过5分钟,-5表示在5分钟内。

5)连接选项:-a和-o

-a表示与(and)的关系,-o表示或(or)的关系,如在/etc下查找大于80M,小于100M的文件:find /etc –size +163840 –a –size -204800。

6)连接选项:-exec和-ok

格式为:-exec/-ok [命令] {} \;

其中"{}"包含搜索的结果,"\"表示转移字符,分号";"表示命令结束。-exec和-ok用于搜索后文件后执行特定命令。二者的区别是前者直接执行,后者需询问确认。如在/etc下查找inittab文件并显示其详细信息:

[root@localhost ~]# find /etc/ -name inittab -exec ls -l {} \;
-rw-r--r--. root root 1月 : /etc/inittab
[root@localhost ~]#

7)-type和-inum

-type选项是根据文件类型查找,其中"f"表示文件,"d"表示目录,"l"表示软链接文件。如查找/etc下以init开头的文件:

[root@localhost ~]# find /etc/ -name init* -a -type f

/etc/sysconfig/init

/etc/sysconfig/network-scripts/init.ipv6-global

/etc/kdump-adv-conf/kdump_initscripts/init

/etc/init/init-system-dbus.conf

/etc/selinux/targeted/contexts/initrc_context

/etc/inittab

[root@localhost ~]#

-inum选项是根据i节点查找,Linux中每个文件都有i节点号,通过ls –l命令可以显示,i节点号的作用是:当对一个文件名很复杂的文件进行操作时,可以通过i节点号进行操作,同时,i节点号可以查找硬链接信息。

(2)locate

locate命令用于在文件资料库中查找文件,是一种快速查找工具,其语法格式为:

locate [文件名称]

加入-i选项表示不区分大小写进行查找。

注:新创建的文件无法使用locate进行查找,因为该文件尚未更新至文件资料库中,若要成功查找,则需使用updatedb命令进行更新。另外,创建在/tmp下的文件并不在文件资料库的收录范围之中,因此也无法查找该文件夹下的文件。

查找inittab文件

[root@localhost ~]# locate inittab

/etc/inittab

/usr/share/man/man5/inittab..gz

/usr/share/vim/vim72/syntax/inittab.vim

[root@localhost ~]#

在/root目录下创建一个新文件,使用updatedb进行更新,然后进行查找:

[root@localhost ~]# touch text.txt

[root@localhost ~]# locate text.txt

[root@localhost ~]# updatedb

[root@localhost ~]# locate text.txt

/root/text.txt

(3)which

which命令用于搜索命令所在目录及别名信息,所在路径为/usr/bin/which,语法格式为:

which [命令名称]

如查找rm命令的信息:

[root@localhost ~]# which rm

alias rm='rm -i'

        /bin/rm

其中alias是定义的别名。

(4)whereis

whereis命令用于搜索命令所在目录及帮助文档路径,所在路径为/usr/bin/whereis,其语法格式为:

whereis [命令名称]

如查找ls的命令信息:

[root@localhost ~]# whereis ls

ls: /bin/ls /usr/share/man/man1/ls..gz /usr/share/man/man1p/ls.1p.gz

(5)grep

grep命令用于在文件中搜索字串匹配的行并输出,所在路径为/bin/grep,其语法格式为:

grep –iv [指定字串] [文件]

其中-i选项表示不区分大小写,-v选项表示排除指定字串进行显示。

例:搜索/root下install.log中的mysql所在行:

[root@localhost ~]# grep mysql install.log

安装 mysql-libs-5.1.-.el6.i686

例:查看/etc下inittab文件除#开头的行

[root@localhost ~]# grep -v ^# /etc/inittab

id::initdefault:

Linux学习笔记(5)Linux常用命令之文件搜索命令的更多相关文章

  1. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  2. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

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

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

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

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

  5. linux常用命令:3文件搜索命令

    文件搜索命令 1. 命令名:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find  [搜索范围]  [匹配条件] 功能描述:文件搜索 文件搜索类型 通过文件名搜索 -name ...

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

    文件搜索非常占用资源,所以尽量不要使用这个命令 避免少用该命令最好的方式是设置好文件夹结构,文件不要乱放 1.文件搜索命令:find 命令名称:find 所在路径:/bin/find 执行权限:所有用 ...

  7. Linux学习笔记之五————Linux常用命令之用户、权限管理

    一.引言 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理. 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资 ...

  8. Linux学习笔记之四————Linux常用命令之文件管理

    Linux命令——文件管理相关命令 <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或 ...

  9. linux学习笔记:linux常用的命令

    2018-11-19                                      常见命令快速查询一览表 命令 功能 ls 列出目录内容 cat 链接文件并打印到标准输出设备上(通常用来 ...

随机推荐

  1. javascript 事件委托,jq,js模拟事件

    <!DOCTYPE> <html> <head> <title></title> <script src="Scripts/ ...

  2. ACM/ICPC 之 四道MST-Kruskal解法-练习题(POJ1251-POJ1287-POJ2031-POJ2421)

    由于题目简单,部分题意写在代码中(简单题就应该多练英文...),且较少给注释,需要注意的地方会写在代码中,虽然四个题意各有千秋,但万变不离其宗,细细思考一番会发现四道题都属于很直接的最小生成树问题,由 ...

  3. ui router 介绍

    1. 路由规则 rap框架页面路由基于ui-router实现 1.1 ui-router 一个基本的路由状态如下所示: 路由配置: $stateProvider .state('po',{ url:' ...

  4. ffmpeg-20160525-git-bin

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...

  5. ABAP ALV单个单元格状态编辑

    *&---------------------------------------------------------------------* *& Report  ZPPR0024 ...

  6. Python 开发轻量级爬虫03

    Python 开发轻量级爬虫 (imooc总结03--简单的爬虫架构) 现在来看一下一个简单的爬虫架构. 要实现一个简单的爬虫,有哪些方面需要考虑呢? 首先需要一个爬虫调度端,来启动爬虫.停止爬虫.监 ...

  7. Match:Oulipo(POJ 3461)

     Oulipo 题目大意:给你一个字符串,要你找到字符串包含指定子串的个数 只要你知道了KMP,这一题简直不要太简单,注意STL的string是会超时的,还是乖乖用char吧 #include < ...

  8. python基础——模块

    python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  9. 常用shell命令操作

    1.找出系统中所有的*.c 和*.h 文件 (-o 或者) $find / -name "*.cpp" -o -name "*.h" 2.设定 eth0 的 I ...

  10. Spring 注释 @Autowired 和@Resource

    一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired属于Spring的:@Resource为JSR-250标准的注释,属于J ...