文件属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件属性相关的知识,希望对你有一定的参考价值。
在linux系统中,文件类型不是由文件扩展名称决定。Linux系统中有哪些类型文件:
普通文件 -文本文件(可读可写)、二进制文件也叫命令文件 、 数据文件也叫压缩文件
目录文件 d
链接文件 l
设备文件 b (block)存储设备文件 /dev/sda1
c (charset)字符流文件 /dev/urandom
s (socket) 网络套接字文件 ???
·和文件类型相关命令操作:
(1)如何在系统中找寻文件信息
方法一:找寻命令文件信息 (which cp) (whereis cp)相对更全一点
方法二:根据文件名称查找到所在路径 locate+名称 updatedb实时更新
locate --> 前提:每次使用命令前 更新或者创建数据库文件 updatedb
数据库文件 ==宿舍名单册
名字信息 入住房间
张三李四 009
oldboy.txt /oldboy(走了 每换名单)
oldboy.txt /oldgirl
yum install -y mlocate (下载locate)
没有信息-->缺少数据库文件 数据不全-->数据库文件没有更新
find 命令语法信息
find 查找区域目录信息 搜索条件
搜索的条件: oldboy是大目录
1) 根据文件类型搜索数据 -type
find /oldboy -type f/d/l/c/b/s
2) 根据文件名称搜索数据 -name
find /oldboy -name "dog"
find /oldboy -iname "oldboy.txt"
3)根据文件大小搜索数据
find /oldbuy -suze +10k 寻找大于10K的文件
find /oldbuy -suze -1G 寻找小于1G的文件
find /oldbuy -suze 10 寻找大小正好是10k的文件
补充:find命令根据大小查找数据单位信息
默认单位为:b----block
一个‘b’ 等于512个字节
‘c’ for bytes最小的单位 (字节)
‘w‘ for two-byte words 以两个字节作为一个单位进行查找
‘k’ for kylobytes (kb为单位)
’mb‘ for Megabytes (mb 为单位)
’G‘ for Gigabytes (GB为单位)
4)根据文件路径深度(层次)查找数据
find /oldboy -maxdepth 1 -name "oldboy01.txt"
/oldboy/oldboy01.txt
-maxdepth --- 查找数据最深深度
# find /oldboy -mindepth 2 -name "oldboy01.txt"
/oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy01.txt
/oldboy/oldboy01/oldboy02/oldboy03/oldboy01.txt
/oldboy/oldboy01/oldboy02/oldboy01.txt
/oldboy/oldboy01/oldboy01.txt
-mindepth --- 查找数据最小深度, 从最小深度继续向下查找
5)根据条件逻辑查找数据
1) 请找出文件大小是大于6k 并且 还要找出文件名称是有oldboy开头的文件
并且逻辑关系 -a
find/Oldboy -size +6k -a -name “oldboy”
find/Oldboy -size +6k -name “oldboy”
find -size +6 | grep "^./oldboy"
2) 请找出文件名称是oldboy开头的文件 和 .txt结尾的文件 -o 或者意思
find /oldboy -name “oldboy” -o -name ”.txt”
6)根据时间条件查找数据
find /oldboy -mtime +7 查找距离当前时间7天以前的
find /oldboy -mtime -7 查找距离当前时间7天以内的
find /oldboy -mtime 7 查找距离当前时间之前正好7天的数据
过去--- +7 ------- 7 --------- -7 -----当前时间
<==七天以前
| <==正好七天
| <==七天以内
find ./ 当前目录进行
Find /var / -mmin +1 ---- 一分钟之前的消息
Find /var / -mmin -1 ----- 一分钟以内的消息
Find /var / -mmin 1 ----- 刚好一分钟的消息
proc task 俩目录是在内存中的
利用find命令可以实现批量处理数据
环境准备:
touch oldboy{01..10}.txt
touch oldgirl{01..10}.jpg
touch olddog{01..10}.avi
A、批量删除数据
将oldboy开头的数据进行批量删除
步骤一: 先将要处理数据找出来
步骤二: 将数据如何批量删除
方法一: 利用find命令参数
find /oldgirl/ -name "oldboy" -delete
方法二: 利用管道+xargs命令进行处理
find /oldgirl/ -type f -name "olddog" | xargs rm
xargs
1) 将产生信息进行转换, 转为命令可以识别的 参数或者对象信息
2) 可以进行分组操作/将分组进行整合
[root@oldboy69 oldgirl 00:40:41]# xargs < test.txt
(01 02 03 04 05 06 07 08 09 10)
[root@oldboy69 oldgirl 00:41:20]# xargs -n3 < test.txt
01 02 03
04 05 06
07 08 09
10
方法三: 利用反引号进行处理
rm -f find /oldgirl/ -type f -name "olddog*"
方法四: 利用find命令特殊参数 -exec
find ./ -type f -name "oldboy" -exec rm -f {} ;
#find /oldgirl/ -type f -name "oldboy" -exec rm {} ; -o -type f -name "oldgirl*" -exec rm {} ;
-
批量删除指定数据
2) 查看目录文件结构信息
tree
tree -L 3 --- 指定查看目录层级信息
tree -d --- 只查看完整目录结构信息
3) 如何压缩数据信息
tar --- 压缩数据/解压数据
将数据进行压缩:
命令语法: tar zcvf 生成压缩包路径/压缩包.tar.gz 需要进行压缩数据01 需要进行压缩数据02 ..
参数说明:
z --- 数据压缩方式 gzip
c --- 创建一个压缩文件
v --- 显示压缩过程
f --- 指定压缩包路径信息
将链接文件进行压缩处理时:
tar zcvhf 生成压缩包路径/压缩包.tar.gz 需要进行压缩链接文件
h --- 指定压缩链接文件所指定源文件
将数据进行解压:
命令语法: tar xvf 压缩包路径/压缩包.tar.gz (默认解压, 会将数据解压到当前路径)
参数说明:
x --- 提取压缩包中的数据(解压)
指定解压数据路径信息:
tar xf ./sys_backup.tar.gz -C /oldboy
对压缩包中的数据进行查看
tar tf sys_backup_2019-12-13.tar.gz
t --- 查看列表显示压缩包中的数据信息=================================================
补充: 提示信息作用:tar: Removing leading `/‘ from member names【加p 就相当于替代源文件】
解释: 将绝对路径 / 根目录信息进行移除 , 压缩数据
作用: 对系统数据信息进行保护
不想保护数据, 想解压时将源数据进行覆盖:
压缩时: tar zcvPf ---保留住根目录
解压时: tar xPf ---保留住根目录- 课程知识总结说明:
1) 命令说明: find
2) 命令说明: tree
3) 命令说明: tar + 自动
- 课程知识总结说明:
以上是关于文件属性的主要内容,如果未能解决你的问题,请参考以下文章