写在前面:建议我们要提前规划好文件的存放,尽量不使用搜索,他会占据很多资源,所以在服务器使用高峰期,不要去使用这种负载大的命令,搜索的范围越小越好,搜索的内容越精确越好
文件搜索命名:find
功能:文件搜索
用法:find [搜索范围] [匹配条件]
例子:
find /etc -name init # 在/etc中查找文件init -iname可以不区分大小写
find / -size +204800 在根目录下查找大于100M的文件 【+n 大于 -n 小于 n 等于】
find /home -user user1 在home目录下查找所有者为user1的文件 -group 根据组查找
find /etc -cmin -5 在/etc下查询5分钟内被修改过属性的文件和目录
-amin 访问时间access、-cmin 文件属性 change 、-mmin 文件内容 modify
find /etc -size +163840 -a -siez 204800 # 在/etc 下查找大于80M小于100M的文件
-a 两个条件同时满足、-o 两个条件满足任意一个即可
find /etc -name inittab -exec ls -l {} \; # 在/etc下查找inittab文件并显示气详细信息
-exec/-ok命令{} \; 表示对搜索结果执行操作
find -type 根据文件的类型查找
f 文件、 d 目录、l 软链接文件
-inum 根据i节点查找
使用包含字符的文件名,通配符*(匹配多个) ?匹配单个字符
find /etc *init*
find /etc init* -a -type f -exec ls {} \; #查找以init开头的文件且类型是文件的,然后对收索结果执行ls -l命令
Linux中的数据块: 1个数据块 = 512字节 = 0.5K
注:find命令的选项很多我们掌握基本的就行了
如何知道一个文件是否是硬链接(我们就可以使用针对硬链接的特性(不能跨分区,i节点和源文件一样),我们就可以在当前分区通过i节点来查找文件,是否有和当前这个文件相同i节点的文件,如果有则是硬链接,反之不是
文件搜索命令:locate
功能:在文件资料库中查找文件
用法:locate 文件名
例如:locate inittab
文件搜索命令:which
功能:搜索命令所在的目录及别名信息
用法:which 命令
例子:which ls
文件搜索命令:whereis
功能:搜索命名所在的目录及帮助文档路径
用法:whereis [命令名称]
例子:whereis ls
文件搜索命令:grep
功能:在文件中搜寻字符串匹配的行,然后输出
-i 不区分大小写 -v 排除指定的字符串
用法: grep -iv [指定的字符串] [文件]
例子:grep mysql /root/install.log
********************************* 不积跬步无以至千里,不积小流无以成江海 *********************************