find命令以及文件查询

文件查询工具:

文件:根据文件的种属性去找对应的文件。

文件查找工具主要有2个:

locate命令:模糊查询,非实时查询,它是根据之前updatedb命令生成的数据库来完成文件查询。优点是速度很快,缺点结果不精确。必要时,可手动执行updatedb命令来更新数据库。

find命令:通过遍历指定的目标目录,实时查找符合指定属性的文件。精确匹配速度略慢。

命令:find [option][查找路径][查找条件][处理动作]

查找路径:默认为当前路径

查找条件:默认为指定路径下的所有文件

处理动作:默认为打印至屏幕

 查找条件:

-name  '文件名'区分大小写

#find / -name 'passwd'

-iname '文件名' 不区分大小写

#find / -iname 'pass'

/etc/mytest/pAss

-user  username:根据属主查找文件

-group username:根据属组查找文件

-uid uid:根据UID进行查找

-gid gid:根据GID进行查找

-nouser:查找没有属主的文件:

-nogroup:查找没有属组的文件:

# find /tmp/ -nouser -ls

# find /tmp/ -nogroup -ls

组合查找条件:
与:-a,查找条件1

#find  -nouser -a  -name '*centos'

或:-o,查找条件1

#find -nouser -o -name '*centos'

非:-not,!

    -not 查找条件

#find /tmp -not -name '*txt' -a -not -name '*.out'

类型查找:

-type type:根据文件类型查找

f:普通文件

d:目录文件

l:符号链接文件

b:块设备

c:字符设备文件

p:命令名管道文件

s:套接字文件

 -size [+|-]:

常用单位:k,m,g

#unit:

根据时间戳查找:

以天为单位

-atime [+|-]#

-mtime

-ctime

# find  / \( -nouser -o -nogroup \) -a  -atime 3

以分钟为单位:

-amin [+|-]

-mmin

-cmin

根据权限查找:

-perm[+|-]MODE

MODE:与mode精确匹配

+MODE:任何一类用户的权限只要包含对其指定的任何一位权限即可。

-MODE:每一类用户的权限都包含对其指定的所有权限。

# find  /etc -perm 644 查找权限为644的文件

处理动作:

-print:默认动作,打印至屏幕

-ls :显示找到文件的详细属性

-exec: command {} \; 命令

-ok command {}\; 确认操作

注意:find命令会一次性的找到所有符合条件的文件,并一同传递给后面的命令,但有些命令不能接受过长的参数。

解决:find  | xargs command

# find /tmp -nogroup -a -type f -exec rm {} \;

查找/tmp下没有属组并且类型为文件类型的结果之后删掉。

 

Find命令及文件特殊权限

文件的特殊权限:

1,进行以某用户的身份运行,进程是发起此进程的用户代理,其对应应用用户身份完成 所需的操作。

2,权限匹配模型

(1)进程的属主,是否是被访问的资源的属主,如果,泽应用属主权限。

(2)则查看进程的属主,是否属于被访问资源的属组。如果是则应该属组权限。

(3)否则,应用其他权限。

特殊权限:suid

展示文件属主的执行权限位:

如果属主本来有执行权限,则展示位s,否则展示为S。

功用:对于一个可执行文件来讲,任何用户运行此程序为进程时,进程是属主不再是发起者本人,而是可执行程序文件自己的属主。

#chmod u+|-s /tmp/cat 添加特殊权限

特殊权限:sgid

展示于文件属组的执行权限位

如果属组本来就有执行权限,则展示为s,否则展示位S。

功用:目录的属组由写权限,且有sgid权限时,那么所有属于此目录的属组,且以属组身份在此目录新建文件或目录时,新建或目录的属组不是创建者所属的基本组,而是目录主机的属组。

#chmod g+|-s /tmp/cat

特殊权限:sticky

 展示于目录其他用户的执行权限位:

如果其他用户本来由执行权限,则展示位s,否则,展示位T。

功用:

对于全局可写,或某组全局可写目录,所有用户都与此目录创建文件或删除自己为属主的那些文件,但是不能删除非主机为属主文件或目录。

#chmod o+|-t file

sst:

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

chmod  6664 file

chmod 1775 dir

umask 0002

==================小扩展==============

人不能自我设陷。

温故而知新。

======================================

 

发表评论

后才能评论