一切从实践出发,拒绝长篇大论和泛泛而谈。只研究问题,不讨论主义。

那些年,我们一起使用的20个Unix命令 (14)

上一篇 / 下一篇  2012-05-03 19:22:43 / 个人分类:大叔家的Unix秘籍

find命令:寻找基于指定标准的文件,然后对匹配的文件执行一个命令
 find    path        expression     [action]
       指定路径     查找条件   执行的动作
 find / -name perl(‘-name’按文件名来查找)
 find . -mtime -10 –print  (‘-mtime’按文件最后一次修改时间来查找,
‘-10’:表示10天以内的文件;
‘+10’:表示10天之前的文件;
‘10’:刚好那天修改的文件。)
 find /etc -user 0 -size +400 –print  (‘-user’:按文件的拥有者查找,
uid为0的;‘-size’:按文件的大小查找,
大于400block(1block=521Byte;1block=0.5k))
 find ~ -perm 777 > ~/holes   (‘-perm’按照文件的权限查找;)
 find /export/home -type f -atime +365 -exec rm {} \;
(‘-type’按类型查找;‘-atime’按最后一次访问时间查找,超过365天的文件;‘-exec’要执行的动作)
 
 ‘-name’按文件名来查找
 ‘-mtime’按文件最后一次修改时间来查找
 ‘-user’:按文件的拥有者查找
 ‘-size’:按文件的大小查找
 ‘-perm’按照文件的权限查找
 ‘-type’按类型查找
 ‘-atime’按最后一次访问时间查找
如:find ~  -mtime +1 -size -200 -print (在所有目录下查找大小小于100k,
最后修改时间是一天前的所有文件。)
 注意:也可以使用通配符。
34. grep命令:寻找一个包含有一个特定的文本字符串的文件,并把所有包含该部分的行打印到屏幕上
    grep [选项] 字符串 文件名
    -i    当搜索时忽略字符串的大小写
  -v    寻找所有不匹配字符串的行(反向查找)
表达以任意字母开头的可用 ^? 表示(?可用任意字母代替);
经常与管道连用。
如:
 ls -la | grep -i 'sep 1'
 who | grep tangliang
 who | grep zhangsw
    $grep root/etc/passwd
  $ls -la | grep -i 'Sep 1'
  $ls file*|xargs grep dd
 xargs  是根据文件内容查找,相当于一个预处理,按照回车换行的标准传过去,
 将一个传过来整体的进行拆分;
 注意:大小写敏感。
 

TAG: find Linux linux shell tar 常用Unix 查找文件

 

评分:0

我来说两句

Open Toolbar