码迷,mamicode.com
首页 > 其他好文 > 详细

马哥教育第7天find、特殊权限、crontab、facl、while

时间:2015-03-10 01:33:31      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:find

7.1.1:文件查找:根据文件的各种属性去找到相对应文件。文件查找分为:(实时查找、非实时查找)locate:非实时查找(依赖于索引,而索引构建相当占资源:索引的创建会在系统空闲时进行,手动更新updatedb,查询速度快,模糊查找)、
7.1.2、find:实时查找 (精准、准确查找,速度慢)使用格式:find [option]... [查找路径] [查找条件] [处理动作]。-name “文件名称” 举例:find  /etc -name "p*[0-9]*",-iname:和name一样忽略字符大小写,-user、-group、-uid、-gid、-nouser(查找没有属主的文件)、-nogroup(查找没有属组的文件):举例find /etc -user root。可以做非(-not)、与(-a)、或(-o)举例:find /etc -not -user root -a -name "p*[0-9]*" -ls
7.1.3、文件类型查找-type(f:普通文件、d:目录文件、l:链接文件、b:块设备、c:字符文件、s:套接字文件、p:命名管道,举例:find -type f -name "*[0-9]*")、文件大小查找-szie([+|-]#unit 常用unit{k、m、g},举例:ls -hdl $(find -size +1k))、时间戳查找:分为2种以天查找和以分钟查找(以天查找为atime、mtime、ctime),以分钟查找(amin、mmin。cmin)格式为[+|-]#,举例:find /opt/ -mtime +60 -name "*.*" -exec rm -rf {} \;
7.1.4、权限查找-perm([+|-]mode 精确查找,举例:find -perm 644、+表示包含所指定任一权限即可、-表示每一类用户都必须包含指定权限),处理动作:-exec COMMAND {} \; ({}表示前面查找到的信息\;固定格式,举例:find ./ -perm -001 -a -type f -a -name "*[0-9]*" -exec ls -lk {} \;或者:find ./ -perm -644 -a -type f -a -not -name "*.sh" -exec mv {} {}.txt \;)、-ok和-exec相同只是命令执行前会提示用户举例:find ./ -perm -644 -a -type f -a -name "*.txt" -ok ls -l {} \;如果命令参数过长无法执行时可以通过,find | xargs COMMAND方式执行

7.2.1、linux中特殊权限:进程以某用户身份运行,进程是发起此进程用户的代理,suid:set uid:前提:此类文件有可执行条件,任何用户运行此类命令时,此进程有效身份不是发起者自身而是此进程的属主。修改方式:chmod u+s file,当ls -l查看时会出现[S|s],s表示原有文件有执行权限,S表示原有文件没有执行权限(此类文件不能执行)
7.2.2、sgid:set gid设置目录属主为sgid后,所有用户在此目录下创建文件的属组将为此目录的属组,chmod g+s file
7.2.3、sticky:粘滞位,chmod o+t file,限定用户只能删除自己创建文件。

7.3.1、mail查看当前用户的mail help查看帮助list查看使用命令直接输入编号可以查看邮件内容
7.3.2、at一次性执行任务at time(支持很多时间格式) ,举例:at now+10min command 后Ctrl+d:提交任务,at -l查看未执行任务 at -d #删除任务#表示任务序号。
7.3.3、cron:查看运行状态service crond status,service crond start启动、chkconfig crond on下次开机时自启动,
系统cron:定义在/etc/crontab。用户cron:定义在/var/spool/cron/每个用户都有一个与用户名同名的文件(注意:如果定义在cron中的任务是脚本,此脚本中的各命令查找时遵循的是cron的PATH环境变量定义;因此,在命令行中测试无问题的脚本,在cron中未必;)
7.3.4、crontab格式(分钟、小时、天、月、周、command),-l: 列出已经定义的所有任务、-e: 打开编辑界面定义任务、-r: 删除所有任务(注意:如果在crontab的用户命令中使用%,得转义)举例:0 */4 * * * [ -d /backup ] || mkdir /backup; /bin/cp -a /etc /backup/etc-$(date +‘%Y%m%d%H‘)

7.4.1、sleep 为cron添加秒级任务方法,举例:for i in {1..6}; do echo `/bin/date +%Y-%m-%d-%H-%M-%S` >> /tmp/test.txt; sleep 10; done
7.4.2、facl(file access control list)普通用户可以单独向某用户或某组设定对某文件访问权限;不通过修改属主或属组来实现的,lsattr显示扩展属性、chattr修改扩展属性、getfacl 显示文件控制列表、setfacl设定文件控制列表(-m 设置额外用户访问授权机制而无须改变原来属性u:USERNAME:MODE FILE,举例:setfacl -m u:test:rw- test.txt || setfacl -m g:test:rw- test.txt修改组权限、-x取消额外设定权限-x u:USERNAME FILE,举例:setfacl -x -u:test test.txt,对目录设定权限可以用-R递归执行)
7.4.3、循环while和until(while适用于循环次数未知,或不便用for直接生成较大列表时使用判断为真时进入循环:while 测试条件;do 循环体 done,测试条件为真,则进入循环,until和while相反,判断为假进入循环)举例
技术分享取模方式技术分享
接收一个参数判断是否有效用户,如果是显示ID和bash否则提示无该用户,输入q或者quit时退出
技术分享



马哥教育第7天find、特殊权限、crontab、facl、while

标签:find

原文地址:http://5990383.blog.51cto.com/5980383/1618827

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!