2019-07-24Day 15 Linux操作系统正则符号

Linux操作系统文件属性/正则符号

1.文件属性索引信息 inode/block 读取数据原理
2.文件属性链接概念 硬链接/软链接
3.Linux系统正则符号介绍:
Linux系统基础符号
Linux系统通配符号
Linux系统正则符号 :基础正则/扩展正则

文件属性--文件索引概念
inode
概念: 用于存储文件属性信息/存储文件指针信息
1个文件使用一个inode
诞生: 创建文件系统(格式化)
查看: df -i

block
概念: 用于存储文件数据信息
      1个文件可能有多个block 512字节
诞生: 创建文件系统(格式化)
查看: df  

1个block默认512字节   多个block 
block调节小一些: 存储小文件更加有力
存储大文件. 占用多个block, 读一个blcok和写一个block 都会消耗磁盘I/O
企业: 默认block大小

block调节大一些: 存储大文件更加有力
企业: 视频网站. 调整磁盘block更大
  1. 文件属性--硬链接数
    硬链接:
    概念:

    1. inode号码一致的数据成为互为硬链接
    2. 相当于数据多个门
      创建: ln /oldboy/oldboy.txt /oldboy/oldboy_hard_lind.txt
      特点:
    3. 源文件删除, 链接文件依然生效
    4. 硬链接创建成功, 不会占用新的inode和block
    5. 硬链接对目录不能进行处理, 不能创建硬链接目录
    6. 默认目录硬链接数为2 默认文件硬链接数为1
      作用:
    7. 硬链接文件可以用于数据恢复 防止数据误删除(无法防止文件误修改)
      完整备份数据使用cp进行备份

    面试题: 在查看一个目录时,硬链接数表示什么意思?

    ll -id /etc/

    67108929 drwxr-xr-x. 83 root root 8192 Oct 11 2020 /etc/
    解:

    1. 硬链接概念
    2. 解释此题硬链接数为什么是83
      在/etc目录中有81个子目录

    补充: 根据硬链接文件inode号码恢复数据
    find / -type f -inum 3213

    软连接:
    概念:

    1. 数据信息快捷方式
      创建: ln -s /oldboy/oldboy.txt /oldboy/oldboy_hard_lind.txt
      特点:
    2. 源文件删除, 链接文件依然失效
    3. 软链接创建成功, 不会占用新的block, 会占用新的inode
    4. 软链接对目录可以进行处理, 可以创建软链接目录

    作用:

    1. 方便开发人员调取系统环境数据
  1. 系统正则符号概念

    1. 系统基础符号
      基础符号系列:

      :

      a 表示注释信息
      b 表示登录用户信息 (root用户登录 提示符#)
      )
      b 表示调取变量信息 1}' /oldboy/oldboy.txt
      !:
      a 表示强制意思 :wq! :q!
      b 表示取反操作 find /oldboy -type f ! -path /oldboy/oldboy01/
      c 用于调取历史命令 !历史命令信息
      |: 将前一个命令执行的结果,交给后面命令处理
      find /oldboy -type f |xargs (忽略别名)rm
      练习: 找出/oldboy下面所有.txt结尾的文件, 并进行压缩 将压缩文件保存到/oldboy目录中
      mkdir /oldboy
      touch /oldboy/oldboy{01..10}.txt
      touch /oldboy/oldboy{01..10}.jpg
      方法一:
      find /oldboy -type f -name "
      .txt"|xargs tar zcvf /oldboy/oldboy.tar.gz
      方法二:
      tar zcvf /oldboy/oldboy.tar.gz find /oldboy -type f -name "*.txt"
      方法三: find命令 + 用法
      [root@oldboyedu oldboy]# find /oldboy -type f -name ".txt" -exec tar zcvf /oldboy/oldboy.tar.gz {} +;
      tar: Removing leading `/' from member names
      /oldboy/oldboy01.txt
      /oldboy/oldboy02.txt
      /oldboy/oldboy03.txt
      /oldboy/oldboy04.txt
      /oldboy/oldboy05.txt
      /oldboy/oldboy06.txt
      /oldboy/oldboy07.txt
      /oldboy/oldboy08.txt
      /oldboy/oldboy09.txt
      /oldboy/oldboy10.txt
      方法四:
      tar -zvcf /oldboy/oldboy.tar.gz --exclude=
      .jpg /oldboy/
      方法五:
      ll /oldboy/|grep -o 'oldboy..txt$'|xargs tar zcvf /oldboy/oldboy.tar.gz
      ls /oldboy/
      .txt|xargs tar zcvf /oldboy/oldboy.tar.gz

      引号符号系列:
      '' 单引号: 所见即所得
      "" 双引号: 会将部分符号信息做解析处理 ()
      没引号: 和双引号功能类似 识别序列信息
      `` 反引号: 等价于$() 将命令执行的结果交给外面的命令处理

      路径符号系列:
      ~ : 快速切换到用户家目录 cd ~/cd

      • : 快速切换到上一次所在路径 cd -/cd $OLDPWD
        . : 切换到当前所在路径 cd .
        .. : 切换到一级所在路径 cd .. / cd ../../

      定向符号系列:
      1>/> : 标准输出重定向
      1>>/>> : 标准输出追加重定向
      2> : 错误输出重定向
      2>> : 错误输出追加重定向
      错误和正确信息统一放置在一个文件:
      echo oldboy >>/oldboy/ok.log 2>&1
      echo oldboy &>>/oldboy/ok.log
      < : 标准输入重定向
      tr 'a-z' 'A-Z' xargs -n2 << : 标准输入追加重定向
      cat >>/oldboy.txt<

      逻辑符号系列:
      &&: 表示前一个命令执行成功,再执行后面命令
      mkdir /oldboy && touch /oldboy/oldboy01.txt
      ||: 表示前一个命令执行失败,在执行后面命令
      rmx /oldboy || touch /oldboy/oldboy02.txt

      [root@oldboyedu ~]# echo oldboy &>/tmp/ok.log && echo ok || echo failed
      ok
      [root@oldboyedu ~]# ech oldboy &>/tmp/ok.log && echo ok || echo failed
      failed

  2. 课程知识梳理总结

    1. 文件属性信息
      文件inode和block: 概念 出现 特点说明 数据读取原理(权限)
      文件硬链接和软连接: 概念 出现 特点区别
    2. 系统符号信息
      系统基础符号: 基础符号 (#!$|(find|xargs) 引号 路径 逻辑)

你可能感兴趣的:(2019-07-24Day 15 Linux操作系统正则符号)