文件查询命令

当你拿到一个文件时,不知道它在哪儿,在什么路径,属于什么类型,这个时候,这些命令就能帮助到你了~~~~

1. file 查看文件类型:查看文件的基本数据,例如属于ASCII 还是data或者是binary,有没有使用带动态函数库等信息

用法:file 文件名

如:file ~/.bashrc


2 which(寻找 "执行文件")

用法:which [-a] command    (command就是在终端输入的那些东西,如cd   ifconfig等)

-a :将所有PATH目录(有些是在bash内置的,这时用 type 命令)中可以找到的命令全部都列出来,不仅列出查询到的第一个

如: which -a ifconfig


3.  whereis 文件名查询,寻找特定文件(whereis和locate是linux在数据库文件里面查找的,而find直接遍历硬盘查询的)

用法:whereis [-bmsu] 文件或者目录名

参数:-b :只寻找二进制格式文件

           -m :只找在说明文件manual路径下的文件

           -s :只找source源文件下的

          -u:在以上三种以外的特殊文件

如:whereis ifconfig


4. locate [-ir] keyword

参数:-i :忽略大小写

            -r :后面可接正则表达式的方式

如:locate -i ifconfig

有时你会查不到,很有可能是你的locate数据库/var/lib/mlocate/没有更新,只要你执行updatedb更新后再查询


5. find [ PATH ] [ option ] [ action ]

参数:

(一). 与时间有关的有-atime,-ctime, -mtime,这三个时间都代表什么可以去看看我以前写的,现在以mtime为例子。

-mtime n  :这个n是一个数字,指第 n 天当天被更改过的文件

-mtime +n :列出 n 天之前的(不含 n 天本身)被更改过的文件, 如:find /etc  -mtime +4

-mtime -n :在 n 天之内(含 n 天)被修改过的内容

-newer 文件file :列出比已存在文件 file 还要新的文件名,如:find  /etc -newer  /etc/passwd  列出新旧两个文件之间的文件


(二)与用户或用户组有关的参数

-uid n :这个n是数字,是用户的账号ID,即UID,记录在/etc/passwd

-gid n :这个 n 是用户组ID,即UID,记录在/etc/group里

-user name:这个name是用户名称,如root(用户)

-group name:这个name是用户组名称,如root(用户组)

-nouser name:寻找文件所有者不存在/etc/passwd中的文件

-nogroup name :/寻找文件所有用户组不存于/etc/group中的文件,当自行安装软件,使用-nouser和-nogroup来查找吧

如:find /home -user username


(三)与文件权限及名称有关的参数

-name filename:直接查找文件名为filename的文件

-size [ + - ] SIZE:查找比 SIZE 还大(+)或小(-)的文件,c:代表byte,k代表1024bytes,如find -size +50k

-type TYPE:查找文件类型为TYPE的文件,文件都有什么类型,之前的博客我也写过


(四)其他可进行的操作

-exec command:-exec后面接其他的命令来扩展输出的结果,如:find  / -type f ls -al {}  \ ;

-print :打印查询结果,默认



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章