第一章 文件安全与权限
1.文件
$ ls -l-rwxr-xr-- 1 root root 3245 Oct 14 03:33 helloworld.cpp
(三个权限位 硬链接数 属主 属主所在缺省组 文件长度(字节) 更新时间 文件名)
2.文件类型
d l s b c p -(目录 符号链接 套接字文件 块设备文件 字符设备文件 命名管道文件 普通文件)
3.权限
rwx r-- r--(属主 属主所在缺省组 其他)
r 读 4 w 写 2 x 执行 1
4.改变权限位
符号模式 chmod [u g o a] [+ - =] [r w x ] filename绝对模式 chmod [0755] filename
5.目录
r 可以列出该目录中的文件w 可以在该目录中创建或删除文件
x 可以搜索或进入该目录
6.suid/guid
suid指如果某用户对自己的shell脚本设置这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权 限7.chown/chgrp
更改文件的属主 chown -R -h owner filename8.umask
umask值确定了创建文件的缺省模式。通过umask nnn改变缺省模式,直到退出登录一直有效。其中文件的n最大为6(不允许执行权限),目录为7
9.符号链接
链接分为硬链接和软链接(符号链接)软链接就是一个指向文件的指针。ln -s source_path target_path
第二章 使用find和xargs
find命令可以遍历当前目录甚至整个文件系统来查找某些文件和目录。
常见形式 find pathname -option [-print -exec -ok]pahtname 表示路径,省略或者.代表当前目录,/表示系统根目录,~表示自己的主目录
-print 输出到标准输出
-exec 执行命令
-ok 与-exec作用相同,是它的一个安全模式,会提示是否执行
find命令的选项
-name 按文件名查找,如:find -name "*.txt" 在当前目录下查找所有以.txt结尾的文件
-perm 按文件权限查找,如:find ~ -perm 755 在$HOME目录下查找权限为755的文件
-prune 可以忽略某个目录,如:find -name "/cpp" -prune -o -print 在当前目录下查找,不在/cpp下查找
-user -group (-nouser -nogroup)按文件属主或者组来查找,如:find -user lili 在当前目录查找属于lili的文件
-mtime 按文件更改时间查找,+n表示n天之前,-n表示n天之内,如:find / -mtime +3 在根目录下查找更新时间在三天之前的文件
-newer 查找介于两个文件更新时间之间的文件,如 find /lisp/doc -newer old.txt ! new.txt 在/lisp/doc目录下查找更新时间介于old.txt与new.txt的文件 (如果需要查找两个小时内更新的文件,假设现在8:20 可以
touch -t 05040800 file
find -newer file)
-type 根据类型来查找,如find -type f 代表查找当前目录下的普通文件
-size 根据文件长度查找,以字节查找,如:find -size +100c,以块(512字节)查找,如:find -size +10
-depth 先匹配文件,再在子目录中查找。如:find / -name "helloworld" -depth
-mount 不进入其他文件系统,如:find . -name "hi" -mount
-cpio 用来向磁带设备备份文件或从中恢复文件。如:find etc home -depth -print | cpio -ivcdC65536 -o /dev/rmt0
-exec 匹配到文件后执行某些操作,如:find . -type f -exec ls -l {} \;
xargs
find命令使用-exec选项时,将匹配到的文件一起传给exec执行。因为命令长度有限制,可能会出现溢出错误。这时可以使用xargs命令。一次处理一批文件。如find / -type f -print | xargs file