Linux 命令与文件的搜寻
平时会偶尔忘记一些命令或者文件,下面的这些命令能够帮我们快速的找到命令或者文件
1. 命令的搜寻
命令:which
功能:在PATH配置的目录下搜寻命令
用法:which [-a] [command]
参数:
-a: 把从PATH配置的目录找到找到的所有指令都列出,而不是只显示第一个被找到的指令
例子1:查找man命令,有且仅显示一条查询结果
例子2:查找man命令,并显示所有的查询结果
由上面两个可以看出有没有参数-a的差别
注意点:
这个命令是根据PATH所配置的目录去搜寻待查命令,并且which后面加的完整命令名。有一些命令是bash内建的命令,不能通过which去查出。
2. 文件或者目录名的搜寻
命令:whereis
功能:在指定的特殊目录下去搜寻文件或者目录名
用法:whereis [-blmsu] [文件或者目录名]
参数:
-b: 只查询binary的文件
-l: 列出whereis查询的所有目录
-m: 只找在说明档manual下面查找
-s: 只找source来源文件
-u: 搜寻不在-[bms]项目中的其它特殊文件
例子1:查找cat命令的相关的文件
例子2:在说明档manual下面查找cat相关的文件
注意点:
whereis后面接的是完整的文件或者目录名
命令:locate
功能:在已建立的数据库里面,查找文件或者目录
用法:locate -[iclSr] 部分档案名
参数:
-i: 忽略大小写
-c: 不输出文件名,只计算出找到的文件数量
-l: 后面加输出的行数,例如输出3行就加参数-l 3
-S: 输出locate所使用的资料库的详细信息
-r: 后面可接正规表达式的显示法
例子1:
查找含有history的文件名或者目录中包含history的文件和目录,并且只显示6行
例子2:显示locate所使用的资料库的信息
这里可以看到资料库在系统里面的目录和文件名
注意:
使用locate查询会有一定的限制,因为该命令会到指定的资料库里面去查询,但资料库一般一天才会自动更新一次(各个Linux的distribution会不同),这样新建立文件或者目录就会找不到。我们可以通过命令updatedb去手动更新资料库,updatedb指令会读取/etc/updatedb.conf文件里面的设定,然后再去硬盘里面搜寻文件或者目录,然后更新资料库,这样新建的文件或者目录就可以查询到了。
命令:find
功能:搜寻文件或者目录
用法:find [path] [option] [action]
参数:
1. 与时间有关的参数:共有-atime,-ctime和-mtime
-mtime n: n为数字,表示在n天之前的一天以内修改过内容的文件
-mtime +n: 显示在n天之前(不含n天本身)被修改过内容的文件
-mtime -n: 显示在n天之内(含n天本身)被修改过内容的文件
-newer file: file为一个存在的文件,显示比file还新的文件
将系统过去24小时修改过内容的文件或者目录列出
列出root家目录下面比anaconda-ks.cfg文件更新的文件和目录
2. 与使用者或者群组相关的参数
-uid n: n为数字,n是user的user id,记录在文件/etc/passwd中
-gid n: n为数字,n是group的group id,记录在文件/etc/shadow中
-user name: name为user的账户名,例如root
-group name: name为group的组名,例如users
-nouser: 寻找文件拥有者不在/etc/passwd中的文件
-nogroup: 寻找文件群组不在/etc/group中的文件
查询home目录下面属于kelvin的所有文件和目录
查询根目录下面不属于任何人的档案
3. 与文件权限和名称相关的参数
-name filename: 搜寻档案名称为filename的文件
-size [+-]SIZE: 搜寻比SIZE还要大(+)或者小(-)的文件,size的单位有:c: 代表byte,k: 代表kbyte
-type TYPE: 搜寻文件的类型为TYPE的,类型主要有:一般正规文件(f),装置档案(b,c),目录(d),连结档(l),socket(s)及FIFO(p)
-perm mode: 搜寻文件权限等于mode的文件
-perm -mode: 搜寻文件权限必须要全部包括mode权限的文件
-perm /mode: 搜寻文件权限包括任何一mode的权限的文件
在根目录下找出passwd的文件
在根目录下查找含有passwd的文件
查找run目录下的socket类型的文件
查询根目录下含有s或者t权限的文件
查询根目录下含有s或者t权限的文件,并且以ls -al的方式显示结果
显示根目录下面大于1M的文件
Linux 命令与文件的搜寻的更多相关文章
- linux命令截取文件最后n行(所有命令)
linux命令截取文件最后n行(所有命令) tail -n a.txt > b.txt 联想:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- linux命令---查找文件中的内容
linux命令---查找文件中的内容 [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...
- 详解Linux指令与文件的搜寻
我们在管理Linux服务器时通常会进行搜索文件及目录操作,下面我们就开始了解一下linux目录结构的相关知识. 博主再奉上一套零基础入门Linux视频,带你从入门到精通 https://www.bil ...
- Linux命令之 文件归档管理
1.文件相关知识 Linux怎样保存文件 数据 -这里数据就是文件的内容 元数据 -在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的节构中 文件名 -文件名保存 ...
- Linux命令之文件处理
文件处理命令 1.dirname命令 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容.dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出 ...
- Linux命令 比较文件
cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...
- Linux命令 查看文件内容
cat [功能说明] 查看文件的内容 #cat本身是一个串接命令,把指定一个或多个源文件的内容,利用>符号重定向到目标文件中,如果不指定重定向文件,则默认在标准输出设备上显示.此时,可以利用c ...
- 每天一个linux命令(文件操作):【转载】find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...
随机推荐
- 浏览器 HTTP 协议缓存机制详解
最近在准备优化日志请求时遇到了一些令人疑惑的问题,比如为什么响应头里出现了两个 cache control.为什么明明设置了 no cache 却还是发请求,为什么多次访问时有时请求里带了 etag, ...
- jsp中target="_blank"的用法
对于点击查询按钮或a标签等,打开一个新页面并显示结果的做法如下: 1.form表单: 在form标签上加target="_blank"后,点击搜索按钮,显示查询结果时会打开一个新页 ...
- 转载《Android-TabHost 选项卡功能用法详解》
一. TabHost介绍 TabHost组件可以在界面中存放多个选项卡, 很多软件都使用了改组件进行设计; 1. TabHost常用组件 TabWidget : 该组件就是TabHost标签页中上部 ...
- 编译.NET项目的时候报错错误“ResGen.exe”已退出,代码为 -1073741701
解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd) //有人说要使用vs tools 里面的控制台 亲试无卵用 3. ...
- 初学JAVA 感想
开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并 ...
- SQL EXEC 命令用法
EXEC命令有两个用法: 1.执行一个存储过程,或者执行一个动态批次. 2.批次是一个内容为SQL语句的字符串. 举列子: 1.exec name_proc :没有参数 exec name_proc ...
- Xcode开发openCV for iOS 时#include <list> not found
分析 在做混合编译之前一定要把编译器的Compile Sources As选项改为Objective C++. 默认的选项是According to file type,用这个的话,你后面每个不在交叉 ...
- Apache Commons 系列简介 之 Pool
一.概述 Apache Commons Pool库提供了一整套用于实现对象池化的API,以及若干种各具特色的对象池实现.2.0版本,并非是对1.x的简单升级,而是一个完全重写的对象池的实现,显著的提升 ...
- C#与C/C++的交互
引擎内核用C++为了保证运行速度,程序员可以使用C#来编写其他的业务逻辑,可以使用.NET类库中的绝大多数类,这样来降低开发难度,同时也降低了入门难度,可以吸引更多的.NET程序.
- 将应用部署到Tomcat根目录的方法 去掉url里的项目名
在"conf/Catalina/localhost"目录下增加新的文件"ROOT.xml"(注意大小写哦),文件内容如下: <?xml version=& ...