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. PHP 设置Cookie值注意项

    Cookie 中的value值只能添加设置为String类型的字符串数据,但我们需要添加如数组,json串等其他类型的数据时,我们就要先对数据进行转换,再存入Cookie里了. Cookie 存储数组 ...

  2. Vs2019+openjdk12 本地Debug环境搭建过程

    1. VS2019下载和安装 这个就不写了 2. cygwin安装: https://jingyan.baidu.com/article/455a99507c0b78a166277809.html 需 ...

  3. 【转】数组指针&指针数组

    转自:https://www.cnblogs.com/mq0036/p/3382732.html 数组指针和指针数组的区别 数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p ...

  4. np.hstack和np.vstack

    np.vstack:按垂直方向(行顺序)堆叠数组构成一个新的数组 In[3]: import numpy as np In[4]: a = np.array([[1,2,3]]) a.shape Ou ...

  5. javascript - 事件详解(阻止事件冒泡+阻止事件行为)

    一.事件流 1.事件流 描述的是在页面中接受事件的顺序 2.事件冒泡 由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点 (最具体 –> 最不具体) 3.事件捕获 最不具体的节点先接收事 ...

  6. kotlin之字符类型

    kotlin语言中,字符类型用Char表示,与java区别在于,kotlin中字符不能直接看成数字,如下: java中: void check (char c){ if(c==97){ } } kot ...

  7. 代码实现:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。 已抽签决定比赛名单。有人向队员打听比赛的名单。 a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单

    /*两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人. 已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单.*/ ...

  8. Kettle使用教程之安装与资源库的创建

    1.安装JDK 本人使用的JDK版本是1.8,且必须要在系统的环境变量添加路径. 2.下载Kettle 目前稳定的版本是8.2,但是本人使用的是7.1版本,其下载的URL为:https://sourc ...

  9. python接口测试之mock(三)

    前面介绍了moco的详细的使用,它主要是基于moco-runner-0.11.0-standalone.jar,通过编写json的文件来实现,mock翻译过来就是模拟的意思,也就是说,它是将测试对象所 ...

  10. template要加s,重启服务,不然报错