1、文件的查找和搜索
可执行文件的搜索:which 、whereis
locate搜索文件
find搜索文件
 
 
 
1.1可执行文件的搜索
      在Linux系统中,有成百上千个指令,不同的指令对应的指令文件,又放在不同的目录里。如果快速地查找指令的绝对路径是相当重要的。
      which <指令>
            显示一个指令的完整路径与别名。
      whereis <指令>
            搜索一个指令的完整路径以及其帮助文件。
 
[root@natsha ~]# which ls
alias ls='ls --color=auto'
        /bin/ls
 
[root@natsha ~]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
 
 
1.2locate搜索
    在Linux系统中存在一个数据库,在这个数据库中保存了系统中所有文件的绝对路径。用户就可以使用下面的命令来查询文件的完整路径。
    语法:locate    [关键字]
    这个指令会将文件名或目录名中包含有此关键字的路径全部显示出来。
          用户刚创建的文件系统不会立即加入数据库中,用户可以通过updatedb指令来手动的更新这个 数据库   
 
 
 
 
1.3Find查询的描述
     find是一个相当重要的查询文件绝对路径的指令
     语法:find  <路径>  <选项>  [表达式]
     find查找文件的特点:
         从指定路径下递归向下搜索文件。
         支持按照各种条件方式搜索。
         支持对搜索得到的文件再进一步的使用指令操作(例如:删除、统计大小、复制等)
 
 
Find条件查询
      find <路径>  <参数>  [表达式]
      重要选项:
           -name    根据文件名寻找文件
           -user    根据文件拥有者寻找文件
           -group    根据文件所属组寻找文件
           -perm    根据文件权限寻找文件
           -size    根据文件大小寻找文件[±Sizek]
           -type    根据文件类型寻找文件,常见类型有:f(普通文件) 、c(字符设备文件)、b(块设备文件)     、l(连接文件)、d(目录)
           -o        表达式或
           -and    表达式与
           -not      表达式非
 
对查找到的文件进一步操作
     语法
       find [路径]  [参数] [表达式]  -exec  指令 {}  \;
            { }代表find找到的文件
            \ 转意
            ;表示本行指令结束
            例:find /etc –name “host*” –exec du –h  {}  \;
 
(1)使用-name选项
使用文件名模式来匹配文件,文件名要放在引号中。
在当前目录和子目录中查找所有的'*.log'文件:
find   .    -name   "*.log"    -print
 
(2)按文件属主查找文件
find    /etc   -user   natasha   -print
 
(3)按更改时间或者访问时间等查找文件。
在根下查找更改时间在5日以内的文件,可以用:
find     /     -mtime     -5      -print
 
在/var/adm目录下查找更改时间在3日以前的文件,可以用:
find     /var/adm     -mtime    +3    -print
 
(4)使用type选项
在/etc 目录下查找所有的目录
find   /etc   -type     d     -print
在当前目录下查找除目录以外的所有类型的文件:
find     .      !-type    d    -print
 
(5)使用size选项
按文件大小来查找。
在当前目录下查找文件长度大于1M的文件:
find   .   -size    +1M    -print
在/home/apache目录下查找文件长度恰好为100字节的文件:
find   /home/apache     -size    100c    -print
 
 
(6)使用depth选项
首先匹配所有的文件再在子目录中查找。
从文件系统的根目录开始,查找一个名为CON.FILE文件。
find    /   -name    "CON.FILE  "    -depth    -print
 
 
(7)找出所有所有者是natasha的文件,并把他们拷贝到/root/found目录。
mkdir   /root/found
find   /  -user natasha –exec  cp –rf {}  /root/found/   \;
 
 
2、文件的压缩与解压缩
        文件的压缩与解压指令
        gz与.bz系列指令
            - gzip,gunzip
               -- Linux标准压缩工具
               -- 对文本文件可以达到75%的压缩率
               -- 例:
                    gzip man.config
                    gunzip man.config.gz
            - bzip2,bunzip2
                --更新的Linux压缩工具
                --比gzip有着更高的压缩率
                  例:
                    bzip2 httpd.conf.bk
                    bunzip2 httpd.conf.bk.bz2
 
 
不解压显示压缩文件的内容:
     对于用gzip压缩的文件,有一系列以z开头的指令,可以在不经解压的情况下,就直接显示文件的内容
           zcat:直接显示压缩文件的内容
           zless:直接逐行显示压缩文件的内容
 
    对于用bzip压缩的文件,也有一系列以bz开头的文件。
           bzcat:直接显示压缩文件的内容
           bzless:直接逐行显示压缩文件的内容
 
 
 
3、tar指令
 
常用选项:
c                创建包
v                将过程输出
x                解出包
t                显示tar文件的内容
r                在tar文件尾部追加文件
z                用gzip压缩或解压文件
j                用bzip压缩或解压文件
f                指定备份文件名
-T                   从指定的文件中读取欲打包的文件路径
-C                   将文件备份到指定的目录
 
 
tar支持在备份同时压缩备份文件,或在解出备份同时解压缩。
备份时压缩
#tar jcvf   test.tar.bz  /home/test    (  j:使用bzip2 )
#tar zcvf   test.tar.gz  /home/test ( z:使用gzip )
 #tar -cvf /tmp/etc.tar    /etc    仅打包,不压缩
# tar -zcvf /tmp/etc.tar.gz     /etc    打包后,以 gzip 压缩
# tar -jcvf   /tmp/etc.tar.bz2  /etc  打包后,以 bzip2 压缩
 
在参数 f 之后的文件档名是自己取的,习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file 
# 如果加 j 参数,则以 .tar.bz2 来作为压缩过的文件名
 
解压备份文件
#tar jxvf   test.tar.bz   -C  /tmp (j:使用bzip2 )
#tar zxvf   test.tar.gz  -C  /tmp(z:使用gzip )
 
备份 /home, /etc ,但不要 /home/dmtsai
 tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
 

Linux中文件查找,压缩和打包指令的更多相关文章

  1. Linux下文件的压缩与打包

    一.Linux下常见的文件压缩命令: 在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』,为什么会有这样的扩展名呢? 这 ...

  2. linux中文件查找、whereis、which、输出命令

    1.文件查找(find):find是最常⻅和最强⼤的查找命令 格式:find / -name  文件名,比如:find / -name mysql.  (1).模糊查找:*是代表所有的,?是代表⼀个字 ...

  3. 【linux相识相知】压缩与打包

    我们日常使用window的时候,经常会用到压缩与解压缩,如果要压缩一个文件,右击选择[添加到压缩文件],解压缩则右击选择[解压到当前文件夹],“点点点”就能完成.但是在一个没有装图形化界面的linux ...

  4. linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包

    一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格 ...

  5. linux中文件压缩介绍

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/1c62bb7f-f ...

  6. linux文件压缩与文件夹压缩(打包)

    目录 一:linux文件压缩 1.linux常见的压缩包有哪些? 2.bzip压缩(文件) 二:打包(文件夹压缩) 1.打包命令 2.参数 3.参数解析(实战) 4.注意事项 简介: win中的压缩包 ...

  7. linux中tar及压缩解压命令用法

    把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

  8. linux中的常用压缩与解压缩命令

    linux中常用的压缩格式有   .zip   .gz   .bz2   .tar.gz   .tar.bz2 一..zip 1.命令格式 zip 压缩文件名 源文件名         (压缩文件到当 ...

  9. LSOF查看linux中文件打开情况

    如何查看linux中文件打开情况 前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. lin ...

随机推荐

  1. The 5 types of programmers

    from: http://stevenbenner.com/2010/07/the-5-types-of-programmers/ps: 评论也很精彩 In my code journeys and ...

  2. layui学习地址

    --layui学习地址 ,相当之好用,非常感谢为我们工作和学习提供方便的才子们,谢谢~https://www.layui.com/demo/layim.html

  3. shell高级-----正则表达式

    正则表达式概述 正则表达式是一种定义的规则,Linux工具可以用它来过滤文本. 基础正则表达式 纯文本 [root@node1 ~]# echo "this is a cat" | ...

  4. python读取在文件中以unicode编码方式转成中文

    row='\u4E09\u56FD\u6F14\u4E49' eval("u"+"\'"+row+"\'")

  5. 使用ajax获取servelt数据乱码

    修改tomcat编码 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=" ...

  6. Emacs 浏览网页

    Emacs 浏览网页非常方便,还可以忽略掉那些烦人的小广告.特别是在看小说 的时候~ 在之前了解如何通过Emacs浏览网页时,大部分人使用的是w3m,折腾了半天,没能成功.后来无意间发现 ,有EWW ...

  7. 微信小程序---设备信息

    1.学习大纲: 2.获取系统信息: wx.getSystemInfo({ success: function(res) { // success console.log(res) } }) } 3.获 ...

  8. Jmeter响应数据中文乱码|响应内容显示乱码

    1.使用jmeter进行接口调用时出现返回数据乱码,如图示 原因是jmeter默认按照ISO-8859-1解析响应的数据. 2.所以需要修改bin目录下的jmeter.properties文件: 具体 ...

  9. LeetCode.922-按奇偶排序数组 II(Sort Array By Parity II)

    这是悦乐书的第354次更新,第379篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第216题(顺位题号是922).给定非负整数的数组A,A中的一半整数是奇数,而剩下的一半 ...

  10. docker面试总结

    1.什么是docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容 ...