文件查找和压缩

文件查找

1、locate

  这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项:

  • locate

-i  //查找文件的时候不区分大小写 比如:locate –i passwd

-n  //只显示查找结果的前N行 比如:locate -n 5 passwd

2、find

  • find在不指定查找目录的情况下是对整个系统进行遍历查找

  • 使用格式 :find [指定查找目录] [查找规则] [查找完后执行的action]

  • [指定查找目录]例如:
      [root@centos7 ~]#find /etc /tmp /root -name passwd
      /etc/passwd
      /etc/pam.d/passwd

  注意:目录之间要用空格分开

  • [查找规则]

(1)根据文件名查找

-name //根据文件名查找(精确查找)
-iname //根据文件名查找,但是不区分大小写

文件名通配的知识

*表示 通配任意的字符
?表示 通配任意的单个字符
[ ] 表示 通配括号里面的任意一个字符

(2)根据文件所属用户和组来查找文件

-user  //根据属主来查找文件
-group  //根据属组来查找文件

(3)根据uid 和 gid来查找用户

find /tmp -uid 500 //查找uid是500 的文件
find /tmp -gid 1000 // 查找gid是1000的文件

(4)-a and -o and –not的使用

-a 连接两个不同的条件(两个条件必须同时满足)
-o 连接两个不同的条件(两个条件满足其一即可)
-not 对条件取反的

(5)根据文件时间戳的相关属性来查找文件

我们可以使用stat命令来查看一个文件的时间信息 如下:
-atime
-mtime
-ctime
-amin
-mmin
-cmin

所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟

find /tmp –atime +5  //表示查找在五天内没有访问过的文件
find /tmp -atime -5  //表示查找在五天内访问过的文件

(6)根据文件类型来查找文件

-type
f  // 普通文件
d  //目录文件
l  //链接文件
b  //块设备文件
c  //字符设备文件
p  //管道文件
s  //socket文件

(7)根据大小来查找文件

-size find /tmp -size 2M  //查找在/tmp 目录下等于2M的文件
find /tmp -size +2M  //查找在/tmp 目录下大于2M的文件
find /tmp -size -2M  //查找在/tmp 目录下小于2M的文件

(8)根据文件权限查找文件

-perm
find /tmp -perm 755  //查找在/tmp目录下权限是755的文件
find /tmp -perm +222  //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
find /tmp -perm -222  //表示必须所有类别用户都满足有写权限

(9)-nouser and -nogroup

find / -nogroup –a –nouser  //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)

[查找完执行的action]

  • -print  //默认情况下的动作

  • -ls   //查找到后用ls 显示出来

  • -ok [commend]  //查找后执行命令的时候询问用户是否要执行

  • -exec [commend]   //查找后执行命令的时候不询问用户,直接执行

  • find /tmp -atime +30 –exec rm –rf {} ;
    删除查找到的超过30天没有访问过文件

压缩

Gzip

压缩
  gzip messages 权限不变
  gzip -#(1-9) messages 数字越小,压缩速度越快,压缩比越低,数字越大,压缩速度越慢,压缩比越高,生成的压缩文件越小,默认压缩比为6.
  gzip -c messages > messages.gz 原文件保留,但权限根据umask来设置

解压

  gunzip message.gz 或 gzip -d messages.gz 权限不变
  gunzip -c messages.gz > messages 或 gzip -dc
  messages.gz > messages 或zcat messages.gz > message 压缩包保留,但权限根据umask来设置
  -v 压缩或解压时,显示详细过程

Bzip2

压缩
  bzip2 messages 权限不变,原文件消失
  bzip2 -k message 权限不变,原文件保留,可用在压缩和解压缩
  bzip -# (1-9) messages 数字越小,压缩速度越快,压缩比越低,数字越大,压缩速度越慢,压缩比越高,生成的压缩文件为9.
  bzip2 -c messages > messages.bz2 原文件保留,但权限根据umask来设置

解压
  bunzip -k message.bz2 或 bzip2 -kd messages.bz2 权限不变,压缩包保留
  bunzip -c messages.bz2 > messages 或 bzip2 -dc
  messages.bz2 > messages 或bzcat messages.bz2 > message  压缩包保留,但权限根据umask来设置
  -v 压缩或解压时,显示详细过程

Xz

  • xz messages 权限不变,原文件消失
  • xz -k message 权限不变,原文件保留,可用在压缩和解压缩
  • xz -# (1-9) messages 数字越小,压缩速度越快,压缩比越低,数字越大,压缩速度越慢,压缩比越高,生成的压缩文件越小。
  • xz -c messages > messages.xz原文件保留,但权限根据umask来设置
  • unxz -k message.xz 或 xz -kd messages.xz 解压权限不变,压缩包保留
  • unxz -c messages.xz > messages 或 xz -dc messages.xz > messages 或xzcat messages.xz > message 压缩包保留,但权限根据umask来设置
  • -v 压缩或解压时,显示详细过程

打包

Tar
tar

    • -c 创建包
    • -v 打包或解包显示过程
    • -f 指定文件
    • -t 查看包中的内容
    • -x 从包中解开文件,可解开指定文件或全部文件
        -xf user.tar passwd 仅解出passwd   -xf user.tar 解出全部文件
    • -C 与-x 配合,指定解压到的目的目录
    • -j 压缩与解压缩时使用bzip2   tar jcvf userfile.tar.bz2 group gshadow passwd shadow
    • -z 压缩与解压缩时使用gzip   tar jcvf userfile.tar.bz2 group gshadow passwd shadow   tar zcvf userfile.tar.gz group gshadow passwd shadow
    • -J 压缩与解压缩时使用xz   tar Jcvf userfile.tar.xz group gshadow passwd shadow   解压时不需要表明用什么压缩工具压缩,tar命令会自动识别 解压只需 tar -xvf 压缩包

linux基础—课堂随笔04_文件查找和压缩的更多相关文章

  1. linux基础—课堂随笔05_文本三剑客之SED

    1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...

  2. linux基础—课堂随笔010_系统启动和内核管理

    系统启动和内核管理 Linux: kernel+rootfs kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs:程序和glibc 库:函数集合, functio ...

  3. linux基础—课堂随笔08_进程(转)

    进程优先级 命令 pstree -p 显示各个子线程 ps 进程状态(process state) UNIX风格:ps -ef BSD风格:ps aux 还有用到o参数,选项显示定制的信息: pid. ...

  4. linux基础—课堂随笔_03 SHELL脚本编程基础

    shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...

  5. linux基础—课堂随笔09_数组

    数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...

  6. linux基础—课堂随笔07_磁盘存储和文件系统

    磁盘管理 管理分区 列出块设备  lsblk parted命令 高级分区操作 用法:  parted [选项]... [设备 [命令 [参数]...]...]  parted /dev/sdb mkl ...

  7. linux基础—课堂随笔06_软件包管理

    软件包管理 rpm 包和包管理器 包的组成:  二进制文件.库文件.配置文件.帮助文件 程序包管理器:  debian: deb文件,dpkg包管理器  redhat:rpm文件,rpm包管理器  r ...

  8. <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  9. 07.进程管理+作业控制+文件查找与压缩+文件压缩与打包+tar打包解包+NFS

    进程管理 程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程, 进程多少也反映当前运行程序的多少 进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程, 它是 ...

随机推荐

  1. Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理

    nginx反向代理: 方案 使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址 ...

  2. 深入理解C语言-函数指针

    函数指针在C++中有着重要的应用,函数的函数名其本质就是代表一个地址,这个地址叫做函数入口,得到这个地址就可以对这个函数进行各种操作. 函数类型基础 函数三要素: 名称.参数.返回值 C语言中的函数有 ...

  3. A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System

    http://blog.sina.com.cn/s/blog_502c8cc40100pztk.html 摘要 1.In this paper, we propose the SLC-MLC mixe ...

  4. Stream系列(十四)parallet方法使用

    并发 视频讲解:https://www.bilibili.com/video/av78408286/ EmployeeTestCase.java package com.example.demo; i ...

  5. 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用

    今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...

  6. web应用安全

    一.三种坏人与servlet安全 网络攻击者 对应的servlet安全规范 假冒者 认证 非法升级者 授权 窃听者 机密性   数据完整性 认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击, ...

  7. 老贾的幸福生活day6 整型和布尔值的转换 字符串讲解 for 循环简介

    整型和布尔值的转换: 整型: python 2 整型 int long(长整型) /获取的是整型 python 3 整型 int 获取的是浮点数(小数) 十进制转二进制: print(bin(36)) ...

  8. URL去重与文章去重的一些基本方法

    一.url去重url存到数据库所有url放到set中(一亿条占用9G内存)md5之后放到set中(一亿条占用2,3G的内存)scrapy采用的就是类似方法bitmap方法(url经过hash后映射到b ...

  9. Open-falcon监控

    https://book.open-falcon.org/zh_0_2/ 本文档记录了CentOS7.4下open-falcon-v2监控系统的部署流程,以及一些需要注意的地方. 环境准备 安装Red ...

  10. ETL测试或数据仓库测试入门

    概述 在我们学习ETL测试之前,先了解下business intelligence(即BI)和数据仓库. 什么是BI? BI(Business Intelligence)即商务智能,它是一套完整的解决 ...