2019-07-22

day17

课程介绍部分

1.文件属性索引信息 indoe/block
2.文件属性链接概念 硬链接/软链接
3.系统正则符号介绍
系统基础符号
系统通配符号
系统正则符号 基础正则 扩展正则

课程回顾

1.文件属性介绍
文件属性中文件权限概念:rwx - 权限赋予用户(9位) 数值表示权限 rwx-w-wx 723
根据权限找出相应文件数据:
[root@han oldboy]# find /oldboy -type f -perm 644
/oldboy/oldboy.txt
文件属性中用户信息概念:用户分类(皇帝 平民 傀儡用户--不能登录系统/管理服务进程) 用户和组的关系
文件中时间信息概念:时间分类(atime mtime ctime)
根据时间信息查找文件数据:
find /oldboy -type f -mtime +7
+7 七天以前的
-7 最近7天的
7 正好距离7天的

2019-07-22_第1张图片
时间轴理解..png

find命令找东西做处理

           方法一:
      find /oldboy -type f|xargs rm
      find /oldboy -type f|xargs -n1 rm
           方法二:配合反引号
       rm -f `find -type f`
             方法三:配合find命令参数
      find /oldboy -type f -delete
              方法四:配合find命令参数
      find /oldboy -type f -exec rm {} \;
文件属性--文件索引概念

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

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

文件属性 -- 硬链接数

硬链接:
概念:
01.indoe号码一致的数据互为硬链接
02.相当于数据多个门
创建:ln /oldboy/oldboy.txt /oldboy/oldboy_hard_lind.txt
特点:
01.源文件删除,链接文件依然生效
02.硬链接创建成功,不会占用新的inode和block
03.硬链接对目录不能进行处理,不能创建硬链接目录
04.默认目录硬链接数为2,默文件硬链接数为1

2019-07-22_第2张图片
目录为什么为2..png

2019-07-22_第3张图片
加一个子目录多一个点点..png

面试题:在查看一个目录时,硬链接数表示什么意思?
ll -id /etc
1.为什么/etc目录的硬链接为83?
答:因为/etc下面有81个子目录
2.硬链接的概念:看上面
补充: 根据硬链接文件inode号码恢复数据
find / -type f -inum 3213

作用:
01.硬链接文件可以用于数据恢复,防止数据误删除(无法防止文件误修改)
完整备份数据使用cp备份

软链接:
概念:
01.数据信息的快捷方式
创建:ln -s /oldboy/oldboy.txt /oldboy/oldboy_soft_lind.txt
特点:
01.源文件删除,链接文件失效
02.软链接创建成功,不会占用新的block,会占用新的inode
03.硬链接对目录能进行处理,能创建软链接目录
作用:
01.方便开发人员调取系统环境数据

2019-07-22_第4张图片
左硬右软..png

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

block调节大一些: 存储大文件更加有力
企业: 视频网站. 调整磁盘block更大
系统正则符号概念:

`#
a.表示注释信息
b.表示登陆用户信息(root用户登陆 提示符 #)
*)
b.表示调取变量信息
c.表示调取列表信息 awk '{print n1}' /oldboy/oldboy.txt
!:
a.表示强制的意思
b.表示取反操作 find /oldboy -type f ! -path /oldboy/oldboy01

c.用于调取历史命令
|:将前一个命令的执行结果,交给后面命令处理
find /oldboy -type f |xargs ls

练习: 找出/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"
方法三:
[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

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

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

  • :快速切换到上一次所在路径
    . :切换到当前所在路径
    .. :切换到上一级所在路径

定向符号系列:

:标准输出重定向

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

逻辑符号系列:
&&: 表示前一个命令执行成功,在执行下面的命令
| | : 表示前一个命令失败了,在执行下面的命令

你可能感兴趣的:(2019-07-22)