zoukankan      html  css  js  c++  java
  • LinuxDay9——文件查找和压缩

    Locate

     查询系统上预建的文件索引数据库,依赖于事先构建的索引

      /var/lib/mlocate/mlocate.db

    工作特点:

     索引构建过程需要遍历整个根文件系统,极消耗资源;查找速度快;模糊查找;非实时查找;搜索的是文件的全路径,不仅仅是文件名;可能只搜索用户具备读取和执行权限的目录

      -i 不区分大小写的搜索

      -n N 只列举前N个匹配项目

      -r 使用正则表达式

    find

    工作特点:

     查找速度慢;精确查找;实时查找;

    查找条件

     指搜索层级

      -maxdepth:  level最大搜索目录深度,指定目录为第1级

      -mindepth:  level最小搜索目录深度

     根据文件名和inode查找

      -name "文件名称":  支持使用glob

        *,?[],[^}

      -iname "文件名称":  不区分字母大小写

      -inum n:  按inode号查找

      -samefile name:   相同inode号的文件

      -links n:  链接数为n的文件

      -regex “PATTERN”:以PATTREN匹配整个文件路径字符串,而不仅仅是文件名称

     根据属主、属组查找:

      -user USERNAME:  查找属主为指定用户(UID)的文件

      -group GRPNAME:  查找属组为指定组(GID)的文件

      -uid UserID:  查找属主为指定的UID号的文件

      -gid GroupID:   查找属组为指定的GID号的问价

      -nouser:  查找没有属主的文件

      -nogroup:  查找没有属组的文件

     根据文件类型查找:

      -type:

        f:普通文件

        d:目录文件

        l:符号链接文件

        s:套接字文件

        b:块设备文件

        c:字符设备文件

        p:管道文件

     空文件或目录

      -empty

     组合条件:

      与:-a  或:-o  非:-not,!

     德·摩根定律

      (非A)或(非B)=非(A且B)

      (非A)且(非B)=非(A或B)

     根据文件大小来查找

      -size [+ | -] # UNIT

        常用单位:k,M,G,c(byte)

       #UNIT:(#-1,#)

         例如:6k表示(5k,6k]

       -UNIT:[0,#-1]

        例如:-6k表示[0,5k]

       +UNIT:(#,∞)

        例如:+6k表示(6k,∞) 

     根据时间戳

        以“天”为单位;

      -atime [+ | -] #

        #: [#,#+1)

        +#: [#+1,∞]

        -#: [0,#)

      -mtime

      -ctime

     以“分钟”为单位

      -amin

      -mmin

      -cmin

     根据权限查找:

      -perm

        mode:精确权限匹配

        /mode: 任何一类对象的权限中只要有一位符合即可

        -mode:每一类对象都必须同时拥有指定权限和关系

    处理动作

      -print:默认的处理动作,显示至屏幕

      -ls:查找到的文件执行“ls -l”

      -delete:删除查找到的文件

      -fls file:查找到的所有文件的长格式信息保存至指定文件中

      -ok COMMAND {}\;对查找到的每个文件执行COMMAND指定的命令,对于每个文件执行之前,都会交互式要求用户确认

       -exec COMMAND{}\;对查找到的每个文件执行由COMMAND指定的命令

      {}:用于引用查找到的文件名称自身

      find传递差遭到到文件至后面指定的命令时,查找到所有符合条件的文件要一次性传递给后面的命令

      

    xargs

      用于生产某个命令的参数,xargs可以读入stdin的数据,并以空格符或回车符将stdin的数据分割成aruguments。

    Gnome

      图形化搜索工具

    compress/uncompress

     compress [-dfvcVr] [-b maxbits] [file ...]

     uncompress 解压缩

      -d: 解压缩,相当于uncompress

      -c: 结果输出至标准输出,不删除原文件

      -v: 显示详情

     zcat file.Z >file

    gzip/gunzip

     gzip [OPTION]... FILE ...

      -d: 解压缩,相当于gunzip

      -c: 将压缩或解压缩的结果输出至标准输出

      -#:1-9,指定压缩比,值越大压缩比越大

    zcat:不显式解压缩的前提下查看文本文件内容

    bzip2/bunzip2/bzcat

     bzip2 [OPTION]... FILE ...

      -k: keep, 保留原文件

      -d:解压缩

      -#:1-9,压缩比,默认为9

    bzcat:不显式解压缩的前提下查看文本文件内容

    xz/unxz/xzcat

     xz [OPTION]... FILE ...

      -k: keep, 保留原文件

      -d:解压缩

      -#:1-9,压缩比,默认为6

    xzcat: 不显式解压缩的前提下查看文本文件内容

    zip/unzip:打包压缩/解包解压缩

     tarTape ARchive,磁带归档的缩写)

      -c(创建)打包 -cpvf

      -f指定到那个文件

      -v显示详细信息

      -p保留原有属性

      -x解压缩(默认当前路径)

      -z 打包成gz后缀

      -j 打包成bz2后缀

      -J打包成xz后缀

      -T 选择指定输入文件

      -X选项指定要包含排除的文件

     分割大的 tar 文件为多份小文件:

      split –b Size –d tar-file-name prefix-name

      split -b 1M –d mybackup.tgz mybackup-parts

      split -b 1M mybackup.tgz mybackup-parts

     合并:

      cat mybackup-parts* > mybackup.tar.gz

    cpio

      -o 将文件复制打包成

      -i 解包

      -t预览

      -v显示打包过程

      -d接包成目录

  • 相关阅读:
    线程进程之间的关系
    socket网络编程
    Docker在github上的站点
    大型网站架构体系的演变
    centos7 安装SSH
    如何在CentOS 7中禁用IPv6
    在 Docker 上运行一个 RESTful 风格的微服务
    docker 操作命令详解
    玩转Docker镜像
    搭建自己的 Docker 私有仓库服务
  • 原文地址:https://www.cnblogs.com/Gmiaomiao/p/8798757.html
Copyright © 2011-2022 走看看