Linux查找文件的命令 find 、locate文件数据 以及工具安装

目录

  • locate查找文件
    • locate使用的时候应该注意
  • find 文件查找
    • 根据文件名字查找
    • 根据属组 属主查看文件
    • 根据文件类型(-type b)
    • 根据文件权限查找(-perm 664)
  • 找到文件 之后对文件操作
  • 软链接
    • 硬链接

locate查找文件

# 如果显示没有这个命令则 
yum -y install mlodatedb
# 安装完成之后先更新数据库
updatedb
# 通过文件名字查找
locate passwd
# 搜索 etc 目录下所有以 sh 开头的文件 :
locate /etc/sh
# 忽略大小写搜索当前用户目录下所有以 r 开头的文件 :
locate -i ~/r

locate使用的时候应该注意

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。

locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,
一般是系统自己维护,也可以手工升级数据库 (更新数据库命令:updatedb)


find 文件查找

根据文件名字查找

find /tmp -maxdepth 5 -a -name "king*"
/tmp 				# 在tmp 目录下查找     
-maxdepth 5 		# 五级目录内
-a					# a是附加一个条件
-name "*file.txt"	# 根据名字查找

根据属组 属主查看文件

#根据所有者(属主)  查找文件
find /home -user king -a -name "1.txt"
#根据属主 查找文件
find /home -group king

根据文件类型(-type b)

find /tmp -type f -a -name "1.txt"
find /dev -type b

根据文件类型找

  • 普通文件 -
  • 目录文件 d
  • 链接文件 l
  • 磁盘文件 b
  • 管道文件 p

根据文件权限查找(-perm 664)

find /root -perm 664 -ls

找到文件 之后对文件操作

find . -perm 715 -print			#打印
find . -perm 715 -ls			#显示细节
find . -perm 715 -delete		#找到之后进程删除

#找到文件之后进行拷贝
find /etc -name "hosts" -ok cp -rvf {} /tmp/abc \;

{} === find /etc -name "hosts"
-ok 选项会依次显示找到的每个文件名,并询问用户是否要执行
\;  代表这语句结束了


软链接

ln -s  建立软连接
ln -s    {源文件、源目录}  {快捷方式} 

针对文件类型 删除影响 跨文件系统 innode号

可以对目录做 也可以对文件做

删除原文件,软连接不可用,删除软链接,源文件不受影响

软连接 可以跨文件系统使用

软连接和源文件具有不同的inode号

如果软连接是对目录做的 不能加 / 否则会把源文件的内容一起删除(可以把快捷方式看成一个文件 而不是目录)

硬链接

ln  {源文件、源目录}  {快捷方式} 
ln /etc/passwd  /passwd

硬链接可以对文件做,但不能对目录做

删除源文件,硬链接不受影响(可以用来做文件备份)

硬链接不能跨文件系统使用

硬链接和源文件具有相同的inode 号

你可能感兴趣的:(linux小技巧,linux,服务器,运维)