day 16

1.根据权限找出相应文件数据:

find /oldboy -type f -perm 666
根据时间信息查找文件数据:
find /oldboy -type f -mtime +7
+7: 7天以前的数据信息
7: 正好距离当前第7天的数据
-7: 7天以内的数据信息

find命令找东西做处理方法

方法一:配合xargs命令使用
find /oldboy -type f|xargs rm
find /oldboy -type f|xargs -n1 rm
方法二: 配合反引号命令使用:
rm -f find /oldboy -type f
方法三: 配合find命令参数
find /oldboy -type f -delete
方法四: 配合find命令参数 -exec
find /oldboy -type f -exec rm {} ;

2.文件属性--文件索引概念

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

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

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

block调节大一些: 存储大文件更加有力
企业: 视频网站. 调整磁盘block更大

3.文件属性--硬链接数

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

面试题: 在查看一个目录时,硬链接数表示什么意思?
# ll -id /etc/
67108929 drwxr-xr-x. 83 root root 8192 Oct 11 2020 /etc/
解:
01. 硬链接概念
02. 解释此题硬链接数为什么是83
在/etc目录中有81个子目录

补充: 根据硬链接文件inode号码恢复数据
find / -type f -inum 3213
软连接:
概念:
01. 数据信息快捷方式
创建: ln -s /oldboy/oldboy.txt /oldboy/oldboy_hard_lind.txt
特点:
01. 源文件删除, 链接文件依然失效
02. 软链接创建成功, 不会占用新的block, 会占用新的inode
03. 软链接对目录可以进行处理, 可以创建软链接目录

作用:
01. 方便开发人员调取系统环境数据

4.系统正则符号概念

  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

你可能感兴趣的:(day 16)