linux搜索文件的命令怎么用 linux打开文件命令

请关注本头条号 , 每天坚持更新原创干货技术文章 。
如需学习视频 , 请在微信搜索公众号“智传网优”直接开始自助视频学习
1. 前言
本文主要讲解在Linux系统下有哪些搜索文件的命令 , 以及他们的用法 。本文主要讲解find、grep命令 , 他们是Linux运维工作中最常用的命令工具之一 , 我几乎每天都要用到他们 。
linux搜索文件的命令怎么用 linux打开文件命令

文章插图
linux搜索文件的命令怎么用
2. `find`搜索命令介绍
find是最常用的Linux之一 , 用于搜索Linux文件系统上任意的文件 , 支持搜索任意的文件类型 。find命令可以根据文件的类型、文件的时间、文件的权限、文件所属的用户和组、文件大小搜索文件 。下面我们就列举一些实用案例 , 让大家直观了解find命令的使用方法 。
linux搜索文件的命令怎么用 linux打开文件命令

文章插图
Linux使用find命令搜索命令
【linux搜索文件的命令怎么用 linux打开文件命令】2.1 `find`命令的一般形式
man文档中给出的find命令的一般形式为:
find命令的常用形式可以简化为:
find [path…] [expression]
2.2 `find`命令常用选项及实用搜索案例
选项-name
按照文件名查找文件 。
在/etc目录及其子目录下面查找名字为zcwyou.txt的文件
[root@zcwyou ~]# find /etc -name zcwyou.txt
在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件
[root@zcwyou ~]# find . -name "*.c"
选项-user , 按照文件属主来查找文件 。
使用案例

[root@zcwyou ~]# find ~ -user sam –print
按照文件所属的组来查找文件 。
在/usr目录下查找属于zcwyou用户组的文件
选项-group
[root@zcwyou ~]# find /usr -group zcwyou –print
选项-mtime -n +n  , 按照文件的更改时间来查找文件 ,  - n表示文件更改时间距现在n天以内 , + n表示文件更改时间距现在n天以前 。
使用案例
在系统根目录下查找更改时间在5日以内的文件
[root@zcwyou ~]# find / -mtime -5 –print
在/var/adm目录下查找更改时间在3日以前的文件
[root@zcwyou ~]# find /var/adm -mtime +3 -print
选项-nogroup查找无有效所属组的文件 , 即该文件所属的组在/etc/groups中不存在 。
[root@zcwyou ~]# find / -nogroup -print
选项-nouser查找无有效属主的文件 , 即该文件的属主在/etc/passwd中不存在 。
使用案例:在/home目录下查找
[root@zcwyou ~]# find /home -nouser -print
查找更改时间比文件file1新但比文件file2旧的文件 。
-newer file1 ! file2
查找某一类型的文件 , 诸如:
-type
b - 块设备文件 。
d - 目录 。
c - 字符设备文件 。
p - 管道文件 。
l - 符号链接文件 。
f - 普通文件 。
在/etc目录下查找所有的目录
[root@zcwyou ~]# find /etc -type d -print
在当前目录下查找除目录以外的所有类型的文件
[root@zcwyou ~]# find . ! -type d -print
在/etc目录下查找所有的符号链接文件
[root@zcwyou ~]# find /etc -type l -print
-size n:[c] 查找文件长度为n块的文件 , 带有c时表示文件长度以字节计 。
在当前目录下查找文件长度大于1 M字节的文件
[root@zcwyou ~]# find . -size +1000000c print
在/home/apache目录下查找文件长度恰好为100字节的文件
[root@zcwyou ~]# find /home/apache -size 100c -print
在当前目录下查找长度超过10块的文件(一块等于512字节)
[root@zcwyou ~]# find . -size +10 -print
find命令把匹配到的文件传递给xargs命令 , 而xargs命令每次只获取一部分文件而不是全部 , 不像-exec选项那样 。这样它可以先处理最先获取的一部分文件 , 然后是下一批 , 并如此继续下去 。
在有些系统中 , 使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程 , 并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多 , 系统性能下降的问题 , 因而效率不高;
而使用xargs命令则只有一个进程 。另外 , 在使用xargs命令时 , 究竟是一次获取所有的参数 , 还是分批取得参数 , 以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定 。