Linux查找命令(文件、文件中的关键字)
1、grep :查找文件中的内容
$ grep [option] pattern [file]
例:
$ grep un day
Sunday
例:
$ grep include doulinked.c doulinked1.c
doulinked.c:#include <stdio.h>
doulinked.c:#include <stdlib.h>
doulinked.c:#include <string.h>
doulinked1.c:#include <stdio.h>
doulinked1.c:#include <stdlib.h>
doulinked1.c:#include <string.h>
例:
$ grep -n 'typedef struct' doulinked.c
6:typedef struct Stu
注:中间包含空格的词需要加单引号;
-n --number 列出所找词所在行。
2、find:我的东西在哪(迅速在指定的范围内查找到文件)
$find [OPTION] [path...] [expression]
例:
$ find ~/ -name linked.c -print
/home/liyuru/Myc/Everyc/linked.c
/home/liyuru/Myc/ADT/linklis/linked.c
find: ‘/home/liyuru/.cache/dconf’: Permission denied
注:find 命令后面要紧跟查找范围,大到根目录,小到当前目录,都可以(可以是相对或绝对路径)。find 会深入到这个路径的每一个子目录中去寻找。
Permission denied:最后一行输出现了这两个词。这是因为普通用户并没有进入这两个目录的权限,这样find 在扫描时将跳过这个目录。
-print
-name 后面跟着要查找的文件名。可以用通配符来指定文件名。
#此处拓展一下通配符
#“*” 用于匹配文件中任意长度的字符串,可以代表很复杂很长的字符串。
例:*.cpp *.c
#“?” 和“*”类似,但只匹配一个字符。
例:$ ls queue.?
queue.c
#“[]”用于匹配所有出现在方括号内的字符,一个文件只能匹配一个字符。
例:$ ls text[1A]
text1 textA
#“-” 来指定一个字符集范围,所有包含在上下界(可以是数字或字母)之间的字符都会被匹配。
例:$ ls text[1-3]
text1 text2 text3
-type选项的参数:
b :块设备文件 f:普通文件
c :字符设备文件 p:命名管道
d :目录文件 l:符号链接
-atime n 用来查找最后一次使用在n天前的文件(File was last accessed n*24 hours ago).
-mtime n 用来查找最后一次修改在n天前的文件.
#但是在实际使用过程中很少能准确确定n的大小,可以用+n表示大于n,用-n表示小于n。
例:在/usr/bin/中查找最近100天内没有使用过的命令(也就是最后一次使用在100天或100天以前的命令)
$find /usr/bin/ type -f -atime +100 -print
3、locate:更快速的定位文件(适合当用户完全不记得自己的文件放哪时)
$locate file
例:
注:locate 命令自动建立整个文件名数据库,不需要用户插手。如果希望生成数据库文件的最新版本,可以使用updatedb命令,不过运行这个命令需要root权限,大概耗费1分钟。
4、whereis:查找特定程序
该命令主要用于查找程序文件,并提供这个文件的二进制可执行文件、源代码文件和使用手册页存放的位置。
例:
#-b 只查找这个程序的二进制可执行文件。
#如果如第三种情况返回空字符串,说明该命令无法找到文件。
#无法找到文件的原因有两个:
1、文件不存在
2、文件没有存在于任何whereis命令搜索的子目录中。Whereis命令检索的目录是固定编写在它的程序中的,这有缺陷,但大大提高了检索的速度。
最后附上关于如何查找命令的一些命令
1、man:这个是最基础的就不介绍了
2、whatis
例:$whatis uname
uname (2) - get name and information about current kernel
uname (1) - print system information
注:whatis 从某个程序的使用手册中抽出一行简单的介绍性文字,帮助用户大致了解这个命令的用途。
3、apropos:与whatis命令相反
例:
注:该命令适合用户想用某个命令但想不起来时可以求助apropos。该命令通过使用手册中反查到某个命令。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux运维面试题
一、填空题 1.在Linux系统 中,以文件方式访问设备 。 2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统 。 3. Linux文件系统中每个文件用indoe节点来标识。 4.全部磁盘块由四个部分组成,分别为引导块、专用块、i节点表块和数据存储块。 5.链接分为:硬链接和符号链接。 6.超级块包含了i节点表和空闲块表等重要的文件系统信息。 7.某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为:644,该文件属性是目录。 8.前台启动的进程使用Ctrl+c终止。 9.静态路由 设定后,若 网络 拓扑结构发生变化,需由系统 管理 员 修改路由的 设置 。 10.网络管理的重要任务是:控制和监控。 11.安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。 13.编写的Shell程序运行前必须赋予该脚本文件执行权限。 14.系统管理的任务之一是能够在分布式 环境中实现对程序和数据的安全保护、备份、恢复和更新。 15.系统交换分区是作为系统虚拟存储器 的一块区域 。 16.内核分为进程管理系统、内存管理系统...
- 下一篇
centos下常用基本命令 df du
检测磁盘空间:df df 命令的使用格式: df [选项] [文件] df命令用于检测文件系统磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况。 -a 显示所有文件系统的磁盘显示情况 -m 以1024字节为单位显示 -t 显示各指定文件系统的磁盘空间使用情况 -T 显示文件系统 -h 方便阅读方式显示 在电脑命令窗口中输入df命令,可以看到如下信息,我的电脑上已经使用了2.6G的空间,还有5.4G的空间: 检测目录所占磁盘空间:du du 命令的使用格式: du [选项] 目录名或者文件名 du命令用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似。du更侧重于磁盘的使用状况。 -a 递归显示指定目录中各文件和子目录中各文件占用的数据块 -s 显示指定文件或目录占用的数据块 -b 以字节为单位显示磁盘占用情况 -l 计算所有文件的大小,对链接文件计算多次 在电脑命令窗口中输入du命令,可以看到如下信息,该目录一共占用了36K,其中test目录占用32K,三个py文件占用4K。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6