Linux命令之 文件归档管理

时间:2023-01-03 00:16:32

1.文件相关知识

Linux怎样保存文件

数据

-这里数据就是文件的内容

元数据

-在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的节构中

文件名

-文件名保存在名为目录项(dentry)的机构中

i-节点

所有的文件都有如下的属性:

文件类型、链接数、用户所有者、组所有者、权限和时间信息。

链接数i-节点记录文件的链接数,也就是引用该文件的目录项(dentry)数。通常常规文件只有一个文件名,链接数也就是1

时间信息

每个i-节点保存与文件相关的三种时间信息,通常叫做atime、ctime、mtime,含义如下

缩写 名称 目的
atime 访问时间

文件数据每次被阅读后更新

ctime 改变时间 文件的i-节点信息每次被改变后都会更新
mtime 修改信息 文件数据每次被更改后更新

用 stat 命令查看i-节点的信息

一个文件的i-节点信息集合叫做改文件的状态(startus)。

我们可以吧stat命令看做是现实文件状态的命令。

用法:

stat [option] file

一个文件系统内,每个i-节点都分配到一个独一无二的i-节点编号

硬链接和软链接

硬链接

将多项目录关联到一个i-节点(同一个文件保存在两个地方或不同的文件名)

ln 目标文件 链接文件

软链接:是一些不同的i-节点,用来引用其他文件名(相当于快捷方式)

ln -s 目标文件 链接文件

查找文件find命令

用法:

find {搜索目录} {搜索条件} [动作]

搜索条件:

-size n 文件的大小

-type 文件的类型(f普通、d目录、i软链接)

-name 按照文件名查找。支持通配符 可以参考

Linux学习一些在Terminal可以用到的快捷键及Shell常用的通配符

-user 按照文件属主查找

-group 按照文件所属的组查找

-mitime n 按照文件的更改时间来查找文件

-atime n 搜索在过去n天读取过的文件

-ctime n 搜索在过去n天修改过的文件

  -n 表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前

  与时间相关的选项:-atime、-ctime、-mtime,以-mtime说明

  -mtime n :n为数字,意义为在n天之前(一天之内)被更改过内容的文件

  -mtime +n:列出在n天之前(不包括n天本身)被更改过内容的文件名

  -mtime -n:列出在n天之内(含n天本身)被更改内容的文件名

-print:输出搜索结果并打印

find命令查找文件的几种方法:

(1)根据文件名查找

例如,我们想要查找一个文件名是lilo.config的文件,

find / -name lilo.config

find命令后的 /表示搜索整个硬盘

(2)快速查找文件

根据文件名查找文件会遇到一个实际问题,就是要花费相当长的时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.config文件,从文件后缀config得知是配置文件,就可以从/etc目录查找,如下

find /etc -name smb.config

(3)混合查找方式查找文件

如:我们想要在/etc查找大于300000字节,并且在24小时内修改的,则可以使用-and把两个查找参数连接起来组成一个混合查找

find /etc -size +300000c -and -mtime +1

2.文件压缩

gzip

用法:

gzip [option] file

参数:-c 将输出重定向到标准输出

-d 解压缩文件

-r 对目录递归,将里面的文件分别压缩

-1……9 指定压缩级别

文件后缀:.gz

bzip2

用法:

bzip2 [option] 压缩后文件 要压缩的文件

参数: -c 将输出重定向到标准输出

-d 解压缩文件

文件后缀:.bz

文件归档tar

将文件归档可以把整个目录树保存在一个文件中

tar命令用于创建、列出、抽取归档文件

归档文件通常也会一并压缩

用法:

tar [option] file

-c 创建归档文件

-x 释放文档

-v 显示详细信息

-f 文件名(可带路径)

-z 使用gzip压缩

-j 使用bzip2压缩

【来自 乐智的菜园子:www.cnblogs.com/AIThink 亲们,码字不容易,转载请注明出处。】

Linux命令之 文件归档管理的更多相关文章

  1. Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...

  2. linux命令---查找文件中的内容

    linux命令---查找文件中的内容   [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...

  3. linux命令截取文件最后n行(所有命令)

    linux命令截取文件最后n行(所有命令) tail -n a.txt > b.txt 联想:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...

  4. Linux 命令与文件的搜寻

    平时会偶尔忘记一些命令或者文件,下面的这些命令能够帮我们快速的找到命令或者文件 1. 命令的搜寻 命令:which 功能:在PATH配置的目录下搜寻命令 用法:which [-a] [command] ...

  5. Linux命令之文件处理

    文件处理命令 1.dirname命令 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容.dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出 ...

  6. Linux命令 比较文件

    cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...

  7. Linux命令 查看文件内容

    cat [功能说明] 查看文件的内容  #cat本身是一个串接命令,把指定一个或多个源文件的内容,利用>符号重定向到目标文件中,如果不指定重定向文件,则默认在标准输出设备上显示.此时,可以利用c ...

  8. 每天一个linux命令(文件操作):【转载】find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  9. Linux命令 -文件操作类

    声明:本文所涉及到的Linux命令均为最常见的用法,未列举之参数,自行查阅man 1.ls    查看文件与目录 -a 打印全部的文件,包括隐藏文件 -l 列表打印,数据项包括文件属性,大小和权限等 ...

随机推荐

  1. C++之路进阶——边表

    边表:利用边的关系来表示一个图. 用到数组: head//head[i]表示从i点出发的第一条边的编号; next[i]//与第i条边起点相同的下一条边的编号; a[i]//第i条边的终点; val[ ...

  2. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发

    Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图 ...

  3. Dos操作

    \tree/f >c.txt \dir/s/b >c.txt

  4. MFC-----在MFC中使用Picture控件加载任意图片

    对于刚刚接触OpenCV的童鞋来说,如何在MFC中加载并显示一张图片.应该是初期必定会碰到的问题之一.因此本文在分享这方面经验的同时,也相当于是写给自己的一份备忘录. 本文使用的是OpenCV2.1+ ...

  5. C#中级-通过注册表读取Windows Service程序执行路径

    一.前言        假设我们的C#解决方案中有多个程序应用,如:Web应用.控制台程序.WPF程序应用和Windows服务应用. 那么这些非Windows Service应用程序怎么在代码中找到W ...

  6. shared_lock and unique_lock

    简单的说: shared_lock是read lock.被锁后仍允许其他线程执行同样被shared_lock的代码.这是一般做读操作时的需要. unique_lock是write lock.被锁后不允 ...

  7. HTML5 拖放(Drag 和 Drop)详解与实例(转)

    公司要开一个技术分享会,给我们出了几个简单的题去实现,其中有如何实现表格中列之间的拖拽,我知道html5中有个新方法可以实现,但是没有认真学习,现在闲了去学学,发现关于drag和drop的文章有很多, ...

  8. Python Django开发中XSS内容过滤问题的解决

    from:http://*.com/questions/699468/python-html-sanitizer-scrubber-filter 通过下面这个代码就可以把内容过 ...

  9. mapnik渲染原理

    https://bbs.csdn.net/topics/390853826

  10. GitHub 二次验证收不到短信咋办?

    身在天朝,用了国外的代码托管服务,会有些烦恼的. 网速慢就不说了,如果启用了二次验证,短信收不到那就悲催了. 之前的都能收到短信的,突然间尝试了很多天都不行,联系github的客服,几次的答复如下: ...