文件查找
locate:全系统中查找文件
非实时的,模糊匹配查找查找是根据全系统文件数据库进行的,速度快
#updatedb 手动生成数据库
find:
实时查找,精确,速度慢,遍历指定所有文件查找
find 查找路径 查找标准,查找到以后的处理操作
查找路径:默认为当前路径
查找标准:默认指定路径下的所有文件
处理结果:默认显示
匹配标准:
-name FILENAME :文件名精确匹配
-iname FIELNAME:文件名不去分大小写
-regex pattern 基于正则表达式 查找
-user:根据用户查找
如find /etc -user student
-group group 根据属主查找
-uid uid 根据uid查找
-gid gid 根据gid 查找
-nouser 查找没有属主的文件
-nogroup 查找没有 属组的文件
-type
f:普通文件
d:目录
c:
-size [+|-]
#k
g
m
如:find /etc -size 10k -ls
组合条件查找
-a 与
-o 或
-not 非
如 find /tmp -nouser -a -type d -ls
/tmp 目录: 不是目录:并且 还不能套接字符类型的 文件
/tmp/test 目录下,属组不是目录1也不是目录2
find ./ -not -user user1 -a -not -user user2
find ./ -not -user user1 -o -not -type d
find ./ -not \( -user user1 -a -type d \)
根据文件
-mtiem
-ctime
-atime
[+|-]
+5:至少有5天没有访问过 -5:5天内访问过 5:等于5天前的时候访问过
find /tmp -atime +7
find ./ -perm 644
chown o
-perm mode:精确匹配
/mode:任意一位匹配
-mode:文件权限完全包含mode时才能显示
-644
rw-r--r--
755
rwxr-xr-x
如find /etc -perm -644
find ./ -perm -001
动作
-print:显示
-ls:累死ls -l的显示每一个文件的详细
-ok COMMAND {} \; 每一次i操作都需要用户确认
-exec COMMAND {} \; 不需要确认
如:find ./ -type d -ok chmod +x {} \;
find ./ -perm -020 -exec mv {} {].new \;
find ./ -name "*.sh" -a -perm -111 -exec chmod 110 {} \;
find ./ -name "*.sh" -a -perm -111 -exec chmod o -x {} \;
find /etc -size +1M -exec echo {} >> /temp/etc.largefiles \;
find /etc -size +1M |xargs echo >> //tmp/etc.largefiles \;
find /var -user root -group mail
fin /usr -not \{ -user root o -user bin \} o -user student
find /etc -mtime -7 -not \{ -user root -o -user student \}
特殊权限
passwd:s
SUID:运行某程序时,相应经常的属主是程序文件自身的属主,而不是启动者
chmod u+s file
chmod u-s file
如果file本省原来就有执行权限,则suid显示为S:否则显示为s:
如:
chmod u+s /bin/cat
ls -l /bin/cat
SGID:运行某程序时,相应进程的属组是程序自身的属组,而不是启动者所属的基本组
chmod g+s fiel
chmod g-s file
su - root
如:
chmod g+s /tmp/project
Stichy :在一个公共目录,每个都可以创建文件,删除自己的 文件,但不能删除别人的文件
chmod o+t dir
chmod o-t dir
000
001