zoukankan      html  css  js  c++  java
  • Linux文件归档管理

    Linux怎样保存文件

    数据

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

    元数据

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

    文件名

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

    i-节点

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

    文件类型、链接数、用户所有者、组所有者、权限和时间信息。这种信息保存在名为i-节点的结构中。

     

    链接数

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

    时间信息

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

    缩写

    名称

    目的

    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:按照文件名查找文件。支持统配符*?

    -user: 按照文件属主来查找文件。

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

    -mtime 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.conf的文件,可以使用如下命令:
    find / name lilo.conf
    find命令后的“/”表示搜索整个硬盘。
    2)快速查找文件
    根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内,此时可以使用下面命令:
    find /etc name smb.conf
    这样,使用快速查找文件方式可以缩短时间。
    3)根据部分文件名查找方法
    有时我们知道只某个文件包含有abvd4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令:
    find / name '*abvd*'
    输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。
    (4) 使用混合查找方式查找文件
    find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and ()把两个查找参数链接起来组合成一个混合的查找方式。
    find /etc -size +500000c -and -mtime +1

    动作:

    -exec command;     对匹配文件执行command,用{}表示匹配的文件。命令形式为:

    ' command' {} ;,注意{ };之间的空格。

    -ok  command;       与-exec相同,但是提示确认没个文件的操作

    用法:找出名字为1.txt文件 并且用长格式输出:

    find /root -name 1.txt -exec ls -l {} ;

  • 相关阅读:
    对于Spring中AOP,DI,IoC概念的理解
    Java多线程(2)线程锁
    JVM中ClassLoader的学习
    用心对待博客,用脚对待cv
    硬核关闭wps for linux的自动备份功能
    [翻译]官网文档,ubuntu使用vscode调试c++
    一文快速入门Shell脚本_了解Shell脚本基本命令
    Ubuntu安装旧版本/指定版本的JDK
    ubuntu1204搭建Andriod4.0环境时了解的相关扩展信息
    避免火狐浏览器产生巨大的磁盘写入量及一些小优化
  • 原文地址:https://www.cnblogs.com/afeige/p/10878042.html
Copyright © 2011-2022 走看看