文件属性
在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 + 自动
- 【笔记】Spring配置文件中注册三种数据源及从属性文件中读取DB连接四要素
- Linux精讲——文件和目录属性
- 每天一个 Linux 命令(25):Linux 文件属性详解
- Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)
- spring管理属性配置文件properties——使用PropertiesFactoryBean
- properties属性文件中无法写入中文?
- CSharp自定义文件的属性
- 关于Java加载属性文件放在web容器不好使的解决办法
- linux系统文件属性
- 文件隐藏属性去不掉的解决方法
- requirejs中data-main属性加载data-main指定的main.js文件找不到
- centos 学习日记 文件隐藏属性chattr,lsattr,
- Spring读取属性文件
- linux文件属性
- Android清单文件属性大全
- ASP 修改文件的属性——把文件的由可读修改为只读
- “文件应用属性时出错”的图文解决方法步骤
- 文件操作函数:文件的属性
- 为什么文件属性中的“访问时间”和“修改时间”不一致?
- 【javascript】CSS文件中属性,改写为JQuery写法