三.文件查找命令
2015-09-07 14:14
288 查看
1.按路径进行查找命令-------which
which主要用来查找命令的位置,显示命令的绝对路径
例: $ which touch
2.按资料苦查找命令----whereis
whereis既能查询出命令,又能查询出ubuntu资料库里记载的文件
whereis命令选项 说明
-b 只查找二进制文件
-m 只查找说明文件在manual路径下的文件
注:
-b,-m均是查找文件,且whereis查找效率要高
3.查找数据库超找文件的命令--------updatedb和locate
locate 命令能够将文件系统中所有与被查询的文件名相同的文件快速查询出来,当然,这与updatedb命令创建的文件系统数据库密切相关,所以是先有文件系统数据库然后查询。
Updatedb 命令的执行方式为: $ sudo updatedb
locate 命令的执行方式为: $ locate keyword
注:
当文件系统发生改变时,需要重新运行updatedb
4.功能强大的查找命令-------find
find 可以按时间、用户、权限、大小、名字、类型进行查找,并可以对记过进行处理
格式: $ find 查询的路径 [选项] [对查询到的结果执行的命令]
A、按时间状态查询:
find选项 说明
-atime(+|-) n 此选项代表查找出n天以前被读取过的文件
-mtime(+|-) n 此选项代表查找出n天以前文件内容发生过改变的文件
-ctime(+|-) n 此选项代表查找出n天以前的文件的属性发生改变的文件
-newer file 此选项代表查找出所有比file文件新的文件
-newer file1 ! -newer file2 此选项代表查找比file1新,但比没有file2新的文件
注:
a、n位数字,若其前面没有+也没有-,代表的是查找出n天以前的,但只是这一天之内发生改变的文件
b、如果n前面有+号,代表查找出n天之前的发生改变的文件。
c、如果是-号,则代表查找距离n天之内的所有发生改变的文件
例:
$ sudo find / -mtime -3 ………查找三天之内内容发生改变的文件
$ sudo find /home -newer file1 ! -newer file2
…………………在/home目录下查找比file1新但没有file2新的文件
B、根据用户或者组进行查找
选项 说明
-user 用户名 根据属主名查找文件
-group 组名 根据属组组名查找文件
-uid n 根据文件属主的UID进行查找文件
-gid n 根据文件属组的GID进行查找文件
-nouser 查询文件属主在/etc/passwd文件中不存在的文件
-nogroup 查询文件属组在/etc/group文件中不存在的文件
例: $ sudo find /home -user ubuntu…………………………………………………
……………… 查找在/home目录下的属主是ubuntu的文件
$ sudo find /etc -nouser ………………………………………………………………
……………… 查找/etc目录下的没有属主的文件
C、根据文件权限或大小名字类型进行查找
选项 说明
-name 文件名 按文件名进行查找
-type 文件类型 按文件类型进行查找
-size[+|-]n (c|k) 按文件大小进行查找
-perm[+|-] 文件权限 按照文件权限进行查找
注:
a、文件类型可以通过ls -l进行查询,“-”代表普通文件,“d”代表目录,“b”代表设备文件,“c”代表字符设备文件
b、按文件大小查询,默认的单位是块,习惯上用字节或Kb,故用“c“表示字节,”k“表示1024字节即1Kb,其前面的”+“代表大于n所指定的大小,”-“表示小于
c、文件权限,此处权限应该是4位,即加上了特殊权限位的部分,其中”+“表示所查找的文件的权限中有前面权限条件的任意一个即可,
”-“表示所查找的文件权限至少要包含前面权限的所有
例:
$ find /etc -size +1000000c…………………………………………………………………
………………想找出/etc目录下的所有文件大小超过1MB的文件
$ sudo find / -perm -4000 ……………………………………………………………………
………………查找系统中所有具有SUID位的文件
D、多个查找选项的应用
选项 说明
-o 逻辑或
-a 逻辑与
例:
$ sudo find /etc -size +2048 -a -size -20480……………………
………………在/etc目录下查找大于1MB小于10MB的文件
$ sudo find find /etc -name inittab -o -name grub……
………………查找/etc目录下文件名为inittab或者grub的文件
E、对查询结果的处理
要用到的选项有:-exec ,-ok ,-print
-exec shell命令 {} \;
其中-exec 就是代表要执行shell命令,后面加的是shell命令,再后面的“{}”表示的是要对前面查询到的结果进行查询,最后的“\;”表示命令的结束。
-ok 与 -exec的唯一区别就是它在执行shell命令的时候会事先进行询问,-print选项是将结果显示在标准输入上
注意:“{}”和“\;”之间有空格
例:
$ sudo find / -perm -4000 -exec ls -l > /home/hxl {} \;………………查找系统内所有具有SUID位的文件,并将结果保存在/home/hxl文件中(其中“>”是输出重定向)
$ sudo find /home -name “*.txt” -ok rm {} \;………………
………………查找/home目录下所有以“.txt”结尾的文件(现在好像*不能使用)
which主要用来查找命令的位置,显示命令的绝对路径
例: $ which touch
2.按资料苦查找命令----whereis
whereis既能查询出命令,又能查询出ubuntu资料库里记载的文件
whereis命令选项 说明
-b 只查找二进制文件
-m 只查找说明文件在manual路径下的文件
注:
-b,-m均是查找文件,且whereis查找效率要高
3.查找数据库超找文件的命令--------updatedb和locate
locate 命令能够将文件系统中所有与被查询的文件名相同的文件快速查询出来,当然,这与updatedb命令创建的文件系统数据库密切相关,所以是先有文件系统数据库然后查询。
Updatedb 命令的执行方式为: $ sudo updatedb
locate 命令的执行方式为: $ locate keyword
注:
当文件系统发生改变时,需要重新运行updatedb
4.功能强大的查找命令-------find
find 可以按时间、用户、权限、大小、名字、类型进行查找,并可以对记过进行处理
格式: $ find 查询的路径 [选项] [对查询到的结果执行的命令]
A、按时间状态查询:
find选项 说明
-atime(+|-) n 此选项代表查找出n天以前被读取过的文件
-mtime(+|-) n 此选项代表查找出n天以前文件内容发生过改变的文件
-ctime(+|-) n 此选项代表查找出n天以前的文件的属性发生改变的文件
-newer file 此选项代表查找出所有比file文件新的文件
-newer file1 ! -newer file2 此选项代表查找比file1新,但比没有file2新的文件
注:
a、n位数字,若其前面没有+也没有-,代表的是查找出n天以前的,但只是这一天之内发生改变的文件
b、如果n前面有+号,代表查找出n天之前的发生改变的文件。
c、如果是-号,则代表查找距离n天之内的所有发生改变的文件
例:
$ sudo find / -mtime -3 ………查找三天之内内容发生改变的文件
$ sudo find /home -newer file1 ! -newer file2
…………………在/home目录下查找比file1新但没有file2新的文件
B、根据用户或者组进行查找
选项 说明
-user 用户名 根据属主名查找文件
-group 组名 根据属组组名查找文件
-uid n 根据文件属主的UID进行查找文件
-gid n 根据文件属组的GID进行查找文件
-nouser 查询文件属主在/etc/passwd文件中不存在的文件
-nogroup 查询文件属组在/etc/group文件中不存在的文件
例: $ sudo find /home -user ubuntu…………………………………………………
……………… 查找在/home目录下的属主是ubuntu的文件
$ sudo find /etc -nouser ………………………………………………………………
……………… 查找/etc目录下的没有属主的文件
C、根据文件权限或大小名字类型进行查找
选项 说明
-name 文件名 按文件名进行查找
-type 文件类型 按文件类型进行查找
-size[+|-]n (c|k) 按文件大小进行查找
-perm[+|-] 文件权限 按照文件权限进行查找
注:
a、文件类型可以通过ls -l进行查询,“-”代表普通文件,“d”代表目录,“b”代表设备文件,“c”代表字符设备文件
b、按文件大小查询,默认的单位是块,习惯上用字节或Kb,故用“c“表示字节,”k“表示1024字节即1Kb,其前面的”+“代表大于n所指定的大小,”-“表示小于
c、文件权限,此处权限应该是4位,即加上了特殊权限位的部分,其中”+“表示所查找的文件的权限中有前面权限条件的任意一个即可,
”-“表示所查找的文件权限至少要包含前面权限的所有
例:
$ find /etc -size +1000000c…………………………………………………………………
………………想找出/etc目录下的所有文件大小超过1MB的文件
$ sudo find / -perm -4000 ……………………………………………………………………
………………查找系统中所有具有SUID位的文件
D、多个查找选项的应用
选项 说明
-o 逻辑或
-a 逻辑与
例:
$ sudo find /etc -size +2048 -a -size -20480……………………
………………在/etc目录下查找大于1MB小于10MB的文件
$ sudo find find /etc -name inittab -o -name grub……
………………查找/etc目录下文件名为inittab或者grub的文件
E、对查询结果的处理
要用到的选项有:-exec ,-ok ,-print
-exec shell命令 {} \;
其中-exec 就是代表要执行shell命令,后面加的是shell命令,再后面的“{}”表示的是要对前面查询到的结果进行查询,最后的“\;”表示命令的结束。
-ok 与 -exec的唯一区别就是它在执行shell命令的时候会事先进行询问,-print选项是将结果显示在标准输入上
注意:“{}”和“\;”之间有空格
例:
$ sudo find / -perm -4000 -exec ls -l > /home/hxl {} \;………………查找系统内所有具有SUID位的文件,并将结果保存在/home/hxl文件中(其中“>”是输出重定向)
$ sudo find /home -name “*.txt” -ok rm {} \;………………
………………查找/home目录下所有以“.txt”结尾的文件(现在好像*不能使用)
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)
- 看看我的Ubuntu Linux截图
- Ubuntu 12.04 LTS服务器版安装过程及使用图解
- Windows 7/8/8.1 硬盘安装 Ubuntu 14.04 实现双系统