Linux作业

目录

Linux文件系统 

 文件删除原理

 linux文件处理工具

 grep 文件内容搜索工具

文件搜索命令



Linux文件系统 

    inode  block  superblock
        superblock:记录文件系统整体信息,包括inode/block的总量,使用量,剩余量  文件系统类型以及文件系统相关信息
        inode:记录文件的属性信息,一个文件占用一个inode,同时记录文件的内容存放的block号码
        block:实际记录文件内容的磁盘空间,不同文件大小,占用不同数量的block  一般一个block是4k大小
        
        磁盘的容量由inode和block同时决定    

 文件删除原理


        两个link计数器
            i_count:调用的次数
            i_nlink:文件的链接次数(硬链接)
            

 linux文件处理工具

cut:文件切割
            -b:以字节单位进行切割
            -c:以字符单位进行切割
            -d:自定义分隔符
            -f:与-d一起使用,指定显示那个区域

sort:用于字段排序
            -n:使用纯数字进行排序
            -r:反向排序
            -u:去重
            -t:指定分隔符
            -k:与-t一起使用指定以那个域来排序
            -o  filename :output,结果输出到文件
uniq:去重   指排序过之后的去重,必须是相邻重复行才可以去重
            -c:显示出现的次数
            -d:只显示重复的行
            -D:显示所有重复行
            -i:忽略大小写
            -u:只输出唯一的行
            -s:跳过前几个字符
            -w:忽略第几个字符以后的内容
 wc:文件中的字符、行数等等的统计
            -l:统计行数
            -L:统计最长行的长度
            -c:统计字节数
            -w:统计字数
            -m:统计字符数

 grep 文件内容搜索工具


        文本处理工具三剑客  grep  sed  awk
            正则表达式:由一类特殊的字符及文本编写成的一种模式,其中的字符和文本不代表
                        字面意思,二是表示控制或者通配的功能。
            
            --color=auto: 对匹配到的字符做高亮显示,
            -i:忽略大小写
            -o:仅显示匹配到的字符串
            -E:使用扩展正则表达式
            -n:显示行号
            -v:显示不能被模式匹配到的行
            
            
            -A num:后num行
            -B num:前num行
            -C num:前后num行

基本正则表达式
                        元字符
                            字符匹配
                                .:匹配任意单个字符
                                []:匹配指定范围内的任意单个字符
                                [^]:匹配指定范围外的任意单个字符
                                    [0-9] 所有数字
                                    [a-z] aAbB......z   
                                    [A-Z] AbB......zZ
                                    [[:lower:]]  小写字母
                                    [[:upper:]]   大写字母
                                    [[:digit:]]   数字
                                    [[:alpha:]]   所有字母
                                    [[:punct:]]   标点符号
                                    [[:alnum:]]   数字+字母
                                    [[:space:]]   空白字符
                                    [^[:lower:]]  除小写字母  

                             
                             匹配次数
                                *:匹配其前面的字符任意次  0次1次或者多次
                                .*:匹配任意长度的任意字符
                                \?:匹配其前面的字符0次或者1次
                                \+:匹配其前面的字符1次或者多次
                                \{m\}:匹配其前面的字符m次
                                \{m,n\}:匹配其前面的字符至少m次 至多n次
                                \{0,n\}:至多n次
                                \{m,\}:至少m次
                                
                            位置锚定
                                ^:行首锚定,用于模式的最左侧
                                $:行尾锚定,用于模式的最右侧
                                ^$:空行
                                ^[[:space:]]$:空行,包含空白字符的行
                                ^pattern$:用pattern来匹配整行
                                
                                \< 或者\b:词首锚定,用于单词的左侧
                                \> 或者\b:词尾锚定,用于单词的右侧
                                \<word\>:匹配一个完整单词
                                
                            分组及引用
                                \(\):将一个或者多个字符捆绑在一起,当作一个整体来处理
                                \(\(\(\)\)\)
                                \1
                                \2
                                \3
                                .....
                                He loves  his  lover.
                                He likes  his  lover.
                                She likes her  liker.
                                She loves her  liker.

文件搜索命令

        which:查找可执行文件    依赖PATH
        whereis:查看文件位置
                       -b:只显示文件位置
                      -m:只显示man手册位置

       locate:查找系统中的文件,基于数据库查找    

                    yum install mlocate -y 
                    新装之后,需要构建数据库   手工构建数据库                                                                         updatedb /var/lib/mlocate/mlocate.db
                   模糊查找,非实时查找,查找速度快
                    -b:只匹配基名
                    -c:统计有多少个符合条件的文件

       find:实时查找工具,遍历指定的路径
                实时查找,精确查找,查找速度慢
                
                find  [options]   查找的起始路径   查找条件   处理动作
                查找起始路径:指定一个具体的起始路径,默认是当前目录
                查找条件
                    选项 测试
                文件名查找
                    -name "pattern" 支持通配符
                从属关系
                    -user 
                    -group 
                    -nouser
                    -nogroup
                    -gid
                    -uid
                文件类型
                    -type
                        f 
                        d 
                        l 
                        b 
                        c 
                        s 
                        p 
                文件大小  k M G
                    -size
                        -|+ #
                    -# [0,#-1]
                    #  (#-1,#]
                    +# (#,∞)
                时间戳
                    以天 time
                    -atime
                    -ctime
                    -mtime
                    +#:(∞,#-1]
                    #:[#,#-1)
                    -#:(#,0]
                    min
                    -amin
                    -cmin
                    -mmin
                权限:
                    -perm   
                    /mode 9位权限位或关系
                    -mode 9位权限位与关系
              

            逻辑运算
                与 -a 
                或 -o 
                非 !  not
                !A -a  !B =  !(A -o B )
                !A -o  !B =  !(A -a B )    
                
                目录层级
                    -depth
                    -maxdepth 在某一个层级目录中采用递减的方法查找
                    -mindepth 在某一个层面目录中采用递增的方法查找
                
                处理动作
                默认 print
                -ls:执行ls -l 
                -delete:删除文件
                -fls file:将查找到的文件输入到一个文件中
                
                -ok commond {} \;
                -exec commond {} \;
                | xargs commond 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值