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.系统正则符号概念
-
系统基础符号
基础符号系列::
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.gzfind /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' </oldboy/oldboy.txt
xargs -n2 </oldboy/oldboy.txt
<< : 标准输入追加重定向
cat >>/oldboy.txt<<EOF逻辑符号系列:
&&: 表示前一个命令执行成功,再执行后面命令
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 - : 快速切换到上一次所在路径 cd -/cd $OLDPWD