zoukankan      html  css  js  c++  java
  • 文件相关命令(find,tree,tar)文件属性信息 date

    6.13day11 文件相关命令(find,tree,tar)文件属性信息date

    1 文件相关命令

    1.1 find命令

    查找文件用f 
    find /root -type f -name "1.txt"
    查找目录用d 
    find /root -type d -name "oldboy"
    忽略大小写用 iname 
    find /root -type f -iname "oldboy.txt"
    查找以.txt结尾的文件
    find /root -name ".txt"(绝对路径)
    find . -name "
    .txt" (相对路径)
    查找不以.txt结尾的文件
    find /root ! -name ".txt"
    !(叹号)表示取反的意思
    查找当前目录不包含子目录下的以.txt结尾的文件
    ls .txt
    查找指定数据信息的深度
    find /root -maxdepth 1 -type f -name '
    .txt'
    find /root -maxdepth 1 -type d -name 'oldboy'
    1:代表查找数据信息深度的目录层数
    查找排除指定目录不要进行搜索
    find /oldboy -type f -a -name "
    .txt" -print -o -path "/oldboy/oldboy02" -prune
    find /oldboy -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
    -path: 指定一个路径信息
    -prune:进行修剪(删除)
    -o:多个条件之间是或者的关系
    -a:多个条件之间是并且的关系
    -print:将修剪的目录也不要显示
    查找指定大小文件信息
    大于100k: find /root -type f -size +100k    (M、G、b、c 文件大小单位)默认单位c(字节)
    小于100k: find /root -type f -size -100k
    不加单位: find /root -type f -size -100c        查找正好是100字节的文件
    批量删除数据方法(按文件大小)
    (1)find /root -type f -size 100k |xargs rm
    (2)find /root -type f -size 100k -delete
    批量复制或移动数据方法
    (1)

    cp -t /tmp `find /oldboy -type f -size +100k`
    

    ``(反引号):先处理反引号里的命令然后再交给cp -t /tmp 处理
    cp -t备份目录信息,备份数据,将数据由后往前复制
    (2)find /oldboy -type f -size 100k |xargs cp -t /mnp
    cp备份数的数据,目录信息,将数据由前往后复制
    (3)find /oldboy -type f -size 100k |xargs -i {} /tmp
    (4)find /oldboy -type f -size 100k -exec cp {} /tmp ;
    对于-exec来说, 它需要一个结束符, 才知道命令是否输入完整, 那么在shell当中 ; 也是一个命令输入完成并执行的符号, 那么shell就会解释掉这个符号, 再把字符串传递给find命令的时候这个 ; 就已经没有了, 所以在这里需要加上转义符, 让shell不再解释这个符号, 而原原本本的传递给 find 命令, -exec参数才得以执行完成.
    exec:先执行exec前面的命令在直行exec后面的命令
    ;(分号):多个命令在同一行时,用分号隔开,可同时执行
    根据数据权限查找数据
    如何将/oldboy 有权限位644文件,移动到/tmp (至少三种方法)
    find /oldboy -type f -perm 644|xargs mv -t /tmp
    find /oldboy -type f -perm 644|xargs -i mv {} /tmp
    find /oldboy -type f -perm 644 -exec mv -t {} /tmp;
    根据时间信息查找数据
    find /oldboy -type f -mtime +30 --- 找出30天以前的数据
    find /oldboy -type f -mtime -30 --- 找出最近30天的数据
    find /oldboy -type f -mtime 30 --- 找出距离当前第30天的数据

    1.2 tree命令

    作用:查看目录数据结构信息
    只查看目录数据信息:tree -d
    查看目录的指定层级信息:tree -L 1

    1.3 tar命令

    (1)如何压缩数据
    tar zcvf  /路径信息/压缩包文件.tar.gz  压缩的数据信息
    tar zcvf /oldboy/oldboy.tar.gz /oldboy/oldboy01.txt 绝对路径压缩数据
    tar zcvf /oldboy/oldboy.tar.gz ./oldbig01.txt 相对路径压缩数据
    z: 指定压缩数据方式 gzip方式压缩数据
    c: 创建压缩包文件
    v: 显示压缩的过程
    f: 指定压缩包文件保存的路径
    (2)压缩包的数据如何进行查看和过滤
    zgrep -a aaabbb oldboy.tar.gz (aaabbb为oldboy.tatr.gz压缩包的数据内容)指定内容
    zcat oldboy.tar.gz 查看全部内容
    (3)如何检查压缩包数据完整
    tar tf /root/1.tar.gz
    root/1.txt
    命令跟执行后显示结果想对应即完整
    (4)如何解压数据包
    tar xf /路径信息/压缩包文件.tar.gz
    tar xf /root/1.tar.gz
    (5)解压到指定目录中
    tar xf /root/1.tar.gz -C /tmp
    (6)排除指定目录压缩
    tar zcvf /tmp/1.tar.gz --exclude=/oldboy/bbs /oldboy
    tar zcvf 压缩后路径包名 --exclude=排除指定的目录 压缩文件的路径

    2 文件属性信息

    2.1 文件权限信息

    系统中文件权限:3种权限
    r(read)          4
    w(write)        2
    x(execute)     1
    - 没权限             0
    文件赋予谁:
    (1)文件数据所属用户(属主)
    (2)文件数据所属组 (属组)
    (3)文件数据其他用户(其他用户)
    rw- r-- r-- (文件9位权限位)
    每三位为一组:
    rw- 属主权限 可读可写 没有执行权限
    r-- 属组权限 只读
    r-- 其他用户权限 只读

    644: 属主(rw) 属组(r)其他用户(r)
    755: 属主(rwx)属组(rx)其他用户(rx)

    2.2 文件用户信息(属主、属组、其他用户)

    2.2.1 系统用户有什么:

    用户                    级别          组
    ①超级管理用户         0            root
    ②系统虚拟用户        1-999      nobody
    ③系统普通用户        1000+     oldgirl
    虚拟用户:管理服务进程信息,管理数据文件信息 不能用于登陆系统,没有家目录
    普通用户:登陆系统,拥有家目录,代替root管理系统

    2.2.2 如何查看用户数值级别:

    id 查看系统用户id数值
    uid 用户级别数值编号
    gid 用户组级别数值变化
    groups 显示附属组信息

    2.2.3 用户和用户组的关系:

    1对1关系              root用户--------------root组
    1对n(多)关系    root用户--------------root组(主要组)oldgirl组(附属组)oldboy(附属组)
    n对n关系              root、oldgirl用户-----root组,oldgirl组
    n对1关系

    2.2.4 文件时间信息

    (1)时间信息有三种:
    atime(访问时间):    访问查看文件,会改变时间
    mtime(修改时间):   文件属性信息发生变化,会修改改变时间
    ctime(改变时间):  文件内容被修改,三种时间都会修改
    如何查看详细时间属性信息
    stat /etc/hosts
    (2)系统时间命令(date)
    date:显示当前时间和修改系统时间
    显示年月日:date +%y-%m-%d 19-06-13
    date +%Y-%m-%d 2019-06-13
    date +%F 2019-06-13
    显示时分秒:date +%H:%M:%S8 18:51:22
    显示过去时间:date +%F -d "-1 day" 2019-06-12
    显示未来时间;date +%F -d "+2 day" 2019-6-14
    (3)时间信息命令作用
    方便备份数据时,显示数据时间信息

    cp /etc/hosts /root/hosts.bak-`date +%F`
    

    修改系统日期信息:date -s "20190615"
    修改系统日期时间:date -s "2019/06/15 10:10:10"

  • 相关阅读:
    使用递归输出某个目录下所有子目录和文件
    如何进行复杂度分析?
    什么是时间复杂度?什么是空间复杂度?
    什么是复杂度?为什么要进行复杂度分析?
    什么是递归?递归的优缺点是什么?
    Executor 如何使用?
    什么是spring boot?为什么要用?
    spring boot核心配置文件是什么?
    @Autowired的作用是什么?
    @RequestMapping的作用是什么?
  • 原文地址:https://www.cnblogs.com/sandshell/p/12624740.html
Copyright © 2011-2022 走看看