码迷,mamicode.com
首页 > 其他好文 > 详细

文件属性

时间:2019-12-15 11:06:22      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:批量   深度   linux系统   批量处理   单位   解释   var   生成   扩展   

在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 {} \;

  1. 批量删除指定数据
    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. 课程知识总结说明:
      1) 命令说明: find
      2) 命令说明: tree
      3) 命令说明: tar + 自动

文件属性

标签:批量   深度   linux系统   批量处理   单位   解释   var   生成   扩展   

原文地址:https://blog.51cto.com/14623232/2458664

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!