美文网首页
linux常用的文件,目录管理命令总结和文件元数据信息含义

linux常用的文件,目录管理命令总结和文件元数据信息含义

作者: dxldeng | 来源:发表于2017-10-02 15:09 被阅读68次

    常用的文件管理类命令及其具体用法

    1.rmdir删除空目录

           -p 递归删除多级空目录
           这个命令不能删除非空目录
    
    例如
    [root@dxlcentOS ~]# rmdir /tmp/we
    rmdir: 删除 "/tmp/we" 失败: 目录非空
    [root@dxlcentOS ~]# rmdir /tmp/we2
    

    2.mkdir创建目录

    常用选项
    -p 自动递归创建你需要的目录,包括不存在的父目录和子目录
    -v 显示创建过程
    -m 直接指定创建所创建的目录权限,不需要看umask的面色,也就是略过 umask:文件的权限反向掩码,遮罩码
    例如:在/tmp下面创建目录linux123,并指定权限为rwxr--r--。 创建/tmp/we/1/2/3

    [root@dxlcentOS ~]# mkdir -m 744 /tmp/linux123
    [root@dxlcentOS ~]# ll -d /tmp/linux123/
    drwxr--r--. 2 root root 6 9月  30 12:57 /tmp/linux123/
    
    [root@dxlcentOS ~]# mkdir -p /tmp/we/1/2/3
    Try 'tr --help' for more information.
    [root@dxlcentOS ~]# tree /tmp/we
    /tmp/we
    └── 1
        └── 2
            └── 3
    
    

    3.tree 显示目录树状结构

    常用选项
    -L 显示设定目录深度
    例如

    [root@dxlcentOS ~]# tree -L 2 /tmp/we  显示/tmp/we下面两级子目录
    /tmp/we
    └── 1
        └── 2
    

    4.cp复制命令

    常用选项
    -a 相当于-drp三个选项,用于连文件属性一起复制,备份常用
    -i 交互式,有相同名字文件或文件存在时提示是否覆盖
    -p 复制文件的属性(权限,时间,用户)一起复制过来,备份常用
    -f 强制复制
    -r 递归复制,用于复制目录
    -s 复制成为符号链接的文件
    -u 若目标文件比要复制的源文件旧旧进行复制或目标文件不存在时进行复制
    -d 复制链接文件的属性而非文件的本身
    例如

    [root@dxlcentOS ~]# cp -a /var/log/wtmp /tmp/wtmp3
    [root@dxlcentOS ~]# ll /tmp/wtmp /tmp/wtmp3
    -rw-r--r--. 1 root root 50304 9月  30 13:29 /tmp/wtmp
    -rw-rw-r--. 1 root utmp 50304 9月  30 11:39 /tmp/wtmp3
    
    [dxl@dxlcentOS ~]$ cp -a /var/log/wtmp /tmp/wtmpdxl
    [dxl@dxlcentOS ~]$ ll /tmp/wtmp /tmp/wtmp2 /tmp/wtmpdxl    
    -rw-r--r--. 1 root root 50304 9月  30 13:29 /tmp/wtmp
    -rw-rw-r--. 1 dxl  dxl  50304 9月  30 11:39 /tmp/wtmpdxl   
    注意:-a选项,普通用户和管理员复制文件属性有区别
    

    5.rm删除命令 。这个命令比较危险,使用时要把要删除的文件备份好,过一段时间确认可以删除才可以操作

    常用选项
    -i 交互式,删除前提示
    -f 强制删除,不提示不警告
    -r 递归删除,常用于目录
    例如删除/tmp/linux123

    [root@dxlcentOS ~]# rm -rf /tmp/linux123/
    千万不能进行下面操作
    ~]# sudo  rm  -rf  /  删除根分区全部文件
    ~]# sudo  rm  -rf  /. 删除当前目录下所有文件
    ~]# sudo  rm  -rf  * 同上
    ~]# sudo  rm  -rf  *.*  同上
    ~]# sudo  rm  -rf  / & 删除根分区和家目录
    

    6.mv 移动命令,用于移动文件或目录到 别的地方或者修改文件名

    常用选项
    -f 强制移动
    -i 交互式,若目标已存在,提示是否覆盖
    -u 弱目标已存在,源文件比较新,才会更新
    例如

    [root@dxlcentOS tmp]# mv ./wtmp ./wtmp333  把/tmp/wtmp 改为wtmp333
    [root@dxlcentOS tmp]# mv ./wtmp333 /var/log  把wtmp333移动到/var/log下面
    

    文件的元数据信息有哪些,分别代表什么含义?如何修改文件的时间戳信息?

    stat命令

    stat命令:查看文件元数据信息
    stat - display file or file system status
    stat FILE...

    例如

    [root@dxlcentOS ~]# stat /tmp/functions 
      File: '/tmp/functions'
      Size: 17500           Blocks: 40         IO Block: 4096   regular file
    Device: 803h/2051d      Inode: 16819217    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: system_u:object_r:bin_t:s0
    Access: 2017-09-30 11:26:28.375999869 +0800
    Modify: 2017-05-03 18:17:50.000000000 +0800
    Change: 2017-09-30 15:24:43.396955205 +0800
     Birth: -
    

    我们可以看到的信息有:文件的大小17500Byte,有40个数据块,每个数据块大小是4k。Inode号16819217。也就是文件的索引号,硬链接次数,文件的权限,UID.GID等。
    最近一次访问时间:Access: 2017-09-30 11:26:28.375999869 +0800
    最近一次内容修改时间:Modify: 2017-05-03 18:17:50.000000000 +0800
    文件的属性改变,例如权限和和属性改变,这个时间会改变。Change: 2017-09-30 15:24:43.396955205 +0800
    +0800表示格林威治时间。一长串数字375999869 ,是系统元年1970.1.1到现在经过的秒数。

    touch命令:用于修改文件时间戳或创建新文件

    touch - change file timestamps
    touch [OPTION]... FILE...
    -c: 指定的文件路径不存在时不予创建;
    -a: 仅修改access time;
    -m:仅修改modify time;
    -t STAMP
    [[CC]YY]MMDDhhmm[.0]
    例如

    [root@dxlcentOS ~]# touch  -t 201209201320 /tmp/functions                      
    [root@dxlcentOS ~]# stat /tmp/functions                   
      File: '/tmp/functions'
      Size: 17500           Blocks: 40         IO Block: 4096   regular file
    Device: 803h/2051d      Inode: 16819217    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: system_u:object_r:bin_t:s0
    Access: 2012-09-20 13:20:00.000000000 +0800
    Modify: 2012-09-20 13:20:00.000000000 +0800
    Change: 2017-09-30 15:39:33.043918708 +0800
    
    [root@dxlcentOS ~]# touch -m  -t 201509201320 /tmp/functions   
    加-m 修改文件的内容修改时间为2015年
    [root@dxlcentOS ~]# stat /tmp/functions                      
      File: '/tmp/functions'
      Size: 17500           Blocks: 40         IO Block: 4096   regular file
    Device: 803h/2051d      Inode: 16819217    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: system_u:object_r:bin_t:s0
    Access: 2012-09-20 13:20:00.000000000 +0800
    Modify: 2015-09-20 13:20:00.000000000 +0800
    Change: 2017-09-30 15:40:44.789915765 +0800
    

    相关文章

      网友评论

          本文标题:linux常用的文件,目录管理命令总结和文件元数据信息含义

          本文链接:https://www.haomeiwen.com/subject/wcdkextx.html