Linux 查找条件

find

是linux里面的一个实时查找工具,通过定制路径完成文件朝朝
find[options]…[查找路径][查找条件][处理动作]
查找路径:查找的位置,默认是当前文件夹
查找条件:指定查找的标准,文件名、大小、类型、日期等
处理动作:对符合条件的文件做什么操作,默认是输出到屏幕上

查找条件
  • 根据文件名查找
    • -name find -name a
    • -iname 忽略大小写
    • -links n 引用次数为n的文件
    • -regex 后面跟完整路径,而不是文件名,必须整个路径完全匹配
  • 指定搜索的层级
    • -maxdepth level 指定最大层级 find -maxdepth 2 -name a
    • -mindepth level 指定最小层级 find -mindepth 2 -name a
  • 根据属主和属组查找
    • -user username 查找属主为username的文件
    • -group groupname 查找属组为groupname的文件
    • -uid id 查找属主为id的文件
    • -gid id 查找属组为id的文件
    • -nouser 查找没有属主的文件
    • -nogroup 查找没有属组的文件
  • 根据文件类型 -type
    • d 目录
    • f 文件
    • l 符号链接
    • s 套接字
    • b 块设备
    • c 字符设备
    • p 管道文件
  • 空文件或者空目录
    • -empty
  • 条件
    • 且 -a
    • 或 -o
    • 非 -not
  • 摩根定律
    • 非(A或者B) 非A且非B
    • 非(A且B) 非A或非B
  • 排除目录
    • -path
  • 按照大小来查找
    • -size # (#-1, #] 不包括#-1,包括#
    • -size -# [0, #-1] 包括#-1
    • -size +# (#, …]
  • 按照时间查找
    • -atime # [#,#+1)
    • -atime -# (0,#)
    • -atime +# [#+1,…]
    • -mtime
    • -ctime
    • 以分钟为单位
      • -amin
      • -mmin
      • -cmin

处理动作
  • -print 默认的处理动作,显示在屏幕上
  • -ls 类似于ls -l 显示长格式
  • -delete 删除查找到的文件
  • -fls file 将查找到的结果以长格式保存到文件中
  • -ok command {} ; 对每个查找到的文件执行command命令,在执行命令前先提示是否执行
  • -exec command {} ; 对查到的每一个文件执行command命令,不需要确认,一次性交给后面的命令处理

xargs
  • 有的命令不支持管道
  • 命令参数过长
  • xargs 将管道前面的内容一条一条的交给后面命令处理
  • 一般会跟find使用

grep

  • grep [option] “模式” file
    option
--color=auto	对匹配到的行添加颜色
-v	取反
-i	不区分大小写
-n	查找的内容添加行号
-c	打印匹配到的行数
-o	只显示匹配到的文字
-q	静默模式		和 echo $? 结合使用 返回上一条命令的执行结果  0为执行成功,不成功为非0
-A #	向下显示#行
-B #	向上显示#行
-C #	上下分别显示#行
-e 或者  grep -e 'user' -e 'root' passwd
-E	拓展正则表达式
-F	不使用正则表达式
-r	递归
-w	匹配整个单词

正则元字符

  • 字符匹配
    • .任意单个字符
    • [] 匹配指定范围内的任意单个字符[0-9][a-z][A-Z]
    • [^] 取反
    • [:lower:] 小写字母
    • [:upper:] 大写字母
    • [:alnum:] 字母和数字
    • [:alpha:] 大小写字母
    • [:digit:] 数字
    • [:black:] 空白
    • [:punct:] 标点符号
  • 匹配次数
      • 表示任意次数
    • .* 表示字符任意次数
    • ? 表示0或者1次
    • + 至少一次
    • {n} 表示n次
    • {m,n} 最少m次,最多n次
    • {n,} 至少n次
    • {,n} 至多n次
  • 位置锚定
    • ^ 开头
    • $ 结尾
    • ^$ 空行
  • 分组
    • grep “(c|C)at” a
  • 向后引用
    • \1 前面第一个括号出现的内容在匹配完成之后再后面在出现一次
    • \2
  • 扩展正则表达式
    • 与正则表达式的区别是不需要转义
    • grep -E “(c|C)at” a

压缩

gzip
gzip [option]… file

  • -c 将压缩结果输出到屏幕,保留原来的文件
  • gzip -c passwd > passwd.gz
  • -1—— -9 指定压缩比,默认是9
  • -d 进行解压
  • zcat 不解压的情况下查看压缩包内的内容
  • gunzip 解压
    bzip2
    bzip [option] file
  • 直接压缩
  • bunzip2 解压
  • -k 保留原来的文件
  • -d 解压
  • -1—— -9 指定压缩比
  • bzcat 不解压的情况下查看压缩包的内容
    xz
    xz [option] file
  • unxz 解压
  • -k 保留原来文件
  • -d解压
  • -1—— -9 指定压缩比
  • xzcat 不解压直接查看
    zip
    zip [option] zipfile 要压缩的文件
    zip -r network.zip /etc/sysconfig/network-scripts
    unzip network.zip
    tar
    归档工具
    tar cpvf etc.tar /etc
    c 创建
    v 显示过程
    f 指定归档文件
    p 把原来属性也带过来
    tar -r -f etc.tar /etc 追加
    tar -t -f etc.tar 查看归档文件内的内容
    tar xf etc.tar 解压文件
    tar xf etc.tar -C
    -z 使用gzip压缩
    -j 使用bzip2压缩
    -J 使用xz压缩
    –exclude 排除文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值