Linux命令之 文件归档管理
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命令之 文件归档管理的更多相关文章
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- linux命令---查找文件中的内容
linux命令---查找文件中的内容 [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...
- linux命令截取文件最后n行(所有命令)
linux命令截取文件最后n行(所有命令) tail -n a.txt > b.txt 联想:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...
- Linux 命令与文件的搜寻
平时会偶尔忘记一些命令或者文件,下面的这些命令能够帮我们快速的找到命令或者文件 1. 命令的搜寻 命令:which 功能:在PATH配置的目录下搜寻命令 用法:which [-a] [command] ...
- Linux命令之文件处理
文件处理命令 1.dirname命令 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容.dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出 ...
- Linux命令 比较文件
cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...
- Linux命令 查看文件内容
cat [功能说明] 查看文件的内容 #cat本身是一个串接命令,把指定一个或多个源文件的内容,利用>符号重定向到目标文件中,如果不指定重定向文件,则默认在标准输出设备上显示.此时,可以利用c ...
- 每天一个linux命令(文件操作):【转载】find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...
- Linux命令 -文件操作类
声明:本文所涉及到的Linux命令均为最常见的用法,未列举之参数,自行查阅man 1.ls 查看文件与目录 -a 打印全部的文件,包括隐藏文件 -l 列表打印,数据项包括文件属性,大小和权限等 ...
随机推荐
- CentOS6.5安装LAMP环境的前期准备
首先需要按照前一篇<CentOS 6.5下安装MySql 5.7>的安装步骤配置好防火墙.关闭 SELINUX 1.编译安装libxml2注:libxml2是一个xml的c语言版的解析器, ...
- AutoMapper DynamicMap天坑
如果调用Mapper.DynamicMap该方法,会将所有映射重置为默认映射,即以字段名匹配映射.
- OOCSS学习(一)
OOCSS —— 面向对象CSS 搜集一些该搜集的,然后汇总一下. 1.OOCSS 概念篇: 1)什么是面向对象 确定“对象”,并给这个对象创建CSS样式规则. 2)面向对象的CSS理论 OOCSS最 ...
- Linux bash重拾 2016-8-16
bash支持的引号: "" 双引号:弱引用,可以实现变量替换(变量会替换为值) [root@localhost ssh-6Xolw4LLAMwe]# echo "dire ...
- 日志收集框架 Exceptionless
日志收集框架 Exceptionless 前言 从去年就答应过Eric(Exceptionless的作者之一),在中国会帮助给 Exceptionless 做推广,但是由于各种原因一直没有做这件事情, ...
- SPSS与聚类分析
1.进行K均值聚类分析时需要线标准化处理,抛弃量纲差异,比如说数值型变量有的以千记有的以百分数记.2.层次聚类就是先把每个样本都看成一个独立的类:聚类特征(Clustering Feature, CF ...
- poj 1364
http://poj.org/problem?id=1364 #include<cstdio> #include<cstring> #include<algorithm& ...
- [Android] createTrack_l
在分析AudioTrack的时候,第一步会new AudioTrack,并调用他的set方法.在set方法的最后调用了createTrack_l创建音轨.我们现在来分析createTrack_l的流程 ...
- gcc编译动态和静态链接库
我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而是 ...
- didEndEditingRowAtIndexPath with nil indexPath
在UITableViewController中,通过滑动删除按钮删除一行,首先收到Table view data source call: tableView:commitEditingStyle:f ...