Linux四大命令

Linux四大命令

命令功能
find按目录处理文件
grep按文件处理内容
sed按行处理内容
awk按段处理内容

find [path...] [options] [action]

功能: 查找指定目录下符合条件的文件 默认: 在当前目录查找所有文件并显示 其他: 可使用-a/-o/-not来使用多个选项进行组合查找


  • 根据文件名查找
    • -name FILENAME 根据文件名
    • -iname FILENAME 根据文件名(忽略大小写)
    • -regex PATTERN 使用正则表达式匹配文件
  • 根据用户查找
    • -user USERNAME 根据属主查找
    • -group GROUPNAME 根据属组查找
    • -uid UID 根据UID查找
    • -gid GID 根据GID查找
    • -nouser 查找没有属主的文件
    • -nogroup 查找没有属组的文件
  • 根据文件属性查找
    • -type [fdcblps] 查找指定类型的文件
    • -size [+|-]N<k|M|G> 查找指定大小的文件 +Nk 查找SIZE大于Nk的文件 -NM 查找SIZE小于Mk的文件 NG 查找SIZE属于[(N-1)G, NG]的文件
  • 根据时间查找
    • -<m|a|c>time [+|-]N
    • -<m|a|c>min [+|-]N 0代表当天 N代表查找N~N+1天前的文件 [N, N+1] -N代表 查找N天前到现在的文件 +N代表 查找N+1天前的所有文
    • -newer FILENAME 查找比FILENAME还要新的文件
  • 根据权限查找
    • -perm [/|-]MODE
    • MODE 精确匹配权限查找
    • /MODE ugo任意一位匹配就满足条件
    • -MODE 文件权限完全包含此权限才匹配

  • action
    • -print 显示查找到的文件
    • -ls 显示文件详细信息
    • -ok CMD {} ; 执行命令 每个文件均询问
    • -exec CMD {} ; 执行命令 不询问

grep [options] STR FILE

功能: 在FILE中查找STR 支持正则表达式 其他: egrep等同于grep -e(使用扩展的正则表达式)


  • options
    • -i 忽略大小写
    • -v 查找不匹配的
    • -A N 查找到的行与下面N行合并
    • -B N 查找到的行与上面N行合并
    • -C N 查找到的行与上面和下面N行合并

sed [options] 'script' [file...]

功能: 按行处理文件内容 选项: script选项分为AddressCommand 其他: sed还支持跳转和多命令


  • options
    • -n 不输出信息
    • -i 修改原文件
    • -f F 从文件F读入script

  • Address
    • /RE1/, [/RE2/] 匹配正则表达式的RE1行到RE2行
    • N1, N2 文件的N1行到N2行 ($表示最后一行, +|-调整行)

  • Command
    • ! CMD 反向执行命令 例: !p 把没有匹配到的显示出来
    • y/OLD/NEW 类似tr命令的逐个替换
    • s/pattern/string/[gi] 查找并替换 /可替换成其他避免转义字符
    • a\string 在指定行后面追加新行string
    • i\string 在指定行前面添加新行string
    • r FILE 将指定的文件的内容追加到符合条件的后面
    • w FILE 将匹配内容另存至指定文件中
    • d 删除匹配内容
    • p显示匹配内容
    • l 显示Linux行尾符$
    • 正则表达式常用特殊变量
      • & 匹配到的整串
      • = 当前行号
    • 多行处理Command
      • n 处理下一行
      • N 这一行和下一行合并处理
      • D 多行删除
      • P 多行显示

awk [options] 'script' [file...]

功能: 按段处理文件内容 选项: script选项分为PatternAction 其他: awk还支持大量C风格语法和内置函数


  • options
    • -FD 指定输入分割符为D
    • -f F 从文件F读入script

  • Pattern
    • /RE/ 匹配正则表达式
    • Expression, [Expression] 匹配关系表达式
      • < <= > >= == != 关系符号
      • ~属于 !~ 不属于 in是否在这个范围内

  • Action
    • print 简单打印 ,分隔
    • printf C风格格式化打印
    • BEGIN和END语句可以额外写入script 'BEGIN{action}' 处理前执行一次action 'END{action}' 处理后执行一次action

  • awk内置变量
    • $0 整行 $N 第N段
    • FS 输入分隔符 OFS 输出分隔符
    • RS 输入行分隔符 ORS 输出行分隔符
    • NR(多文件计数) FNR(单文件计数) 当前处理行数
    • NF 当前行有多少段 ($NF 末段)
    • FILENAME 文件名

注:linux命令中的各类正则表达式匹配并不一致

转载于:https://my.oschina.net/u/3655970/blog/1536073

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值