Linux——文件管理(文件类型,文件时间戳管理,各种命令:cp,mv,rm)

一、Linux的文件系统

Linux的文件系统是根文件系统(root filesystem)

各个文件夹:

  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录;
  • /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
  • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序;
  • /lib:基本共享库文件,以及内核模块文件(/lib/modules);
  • /lib64:专用于x86_64系统上的辅助共享库文件存放位置;
  • /etc:配置文件目录(纯文本文件);
  • /home/USERNAME:普通用户家目录;
  • /root:管理员的家目录;
  • /media:便携式移动设备挂载点;
  • cdrom
  • usb
  • /mnt:临时文件系统挂载点;
  • /dev:设备文件及特殊文件存储位置;
  • b: block device,随机访问
  • c: character device,线性访问
  • /opt:第三方应用程序的安装位置;
  • /srv:系统上运行的服务用到的数据;
  • /tmp:临时文件存储位置;
  • /usr: universal shared, read-only data;
  • bin: 保证系统拥有完整功能而提供的应用程序;
  • sbin:
  • lib:
  • lib64:
  • include: C程序的头文件(header files);
  • share:结构化独立的数据,例如doc, man等;
  • local:第三方应用程序的安装位置;
  • bin, sbin, lib, lib64, etc, share
  • /var: variable data files
  • cache: 应用程序缓存数据目录;
  • lib: 应用程序状态信息数据;
  • local:专用于为/usr/local下的应用程序存储可变数据;
  • lock: 锁文件
  • log: 日志目录及文件;
  • opt: 专用于为/opt下的应用程序存储可变数据;
  • run: 运行中的进程相关的数据;通常用于存储进程的pid文件;
  • spool: 应用程序数据池;
  • tmp: 保存系统两次重启之间产生的临时数据;
  • /proc: 用于输出内核与进程信息相关的虚拟文件系统;
  • /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;
  • /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置;

Linux上的应用程序的组成部分:

  • 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
  • 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
  • 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
  • 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

二、文件管理

1、文件类型:

  • - (f):普通文件;
  • d: 目录文件;
  • b: 块设备;
  • c: 字符设备;
  • l: 符号链接文件;
  • p: 管道文件;
  • s: 套接字文件;socket;

2、文件时间戳管理工具

1)stat命令

查看文件状态

命令格式:stat /PATH/TO/SOMEFILE   # 获取指定文件的元数据,会显示3个时间戳

三个时间戳:

  • access time:访问时间,简写为atime,读取文件内容
  • modify time: 修改时间, 简写为mtime,改变文件内容(数据)
  • change time: 改变时间, 简写为ctime,元数据发生改变

2)touch命令

创建文件和修改文件的时间戳

命令格式:touch [OPTION]... FILE...

选项:

  • -a: only atime
  • -m: only mtime
  • -t STAMP:
    • STAMP = [[CC]YY]MMDDhhmm[.ss]   # 年月日时分.秒
  • -c: 如果文件不存在,不创建

3、各种命令

1)cp命令

命令格式:cp [OPTION]... [-T] SOURCE DEST;cp [OPTION]... SOURCE... DIRECTORY;cp [OPTION]... -t DIRECTORY SOURCE...

a.cp SRC DEST
SRC是文件:

  • 如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;
  • 如果目录存在:
    • 如果DEST是文件:
      • 将SRC中的内容覆盖至DEST中(此时建议为cp命令使用-i交互式选项)
    • 如果DEST是目录:
      • 在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

SRC是目录:此时使用-r选项,递归的cp目录

  • 如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
  • 如果DEST存在:
    • 如果DEST是文件:报错
    • 如果DEST是目录:将SRC目录下的文件,全部copy到DEST目录下

b.cp SRC... DEST  # SRC...:多个文件
DEST必须存在,且为目录,其它情形均会出错;

常用选项:

  • -i:交互式
  • -r, -R: 递归复制目录及内部的所有内容;
  • -a: 归档,相当于-dR --preserv=all
    • -d:--no-dereference --preserv=links
    • --preserv[=ATTR_LIST]
      • mode: 权限
      • ownership: 属主属组
      • timestamp:
      • links
      • xattr
      • context
      • all
  • -p: --preserv=mode,ownership,timestamp,复制权限,属组,时间戳
  • -v: --verbose,显示进度条
  • -f: --force,强制复制(不会提示)

2)mv命令

move,移动文件
指令格式:mv [OPTION]... [-T] SOURCE DEST;mv [OPTION]... SOURCE... DIRECTORY;mv [OPTION]... -t DIRECTORY SOURCE...
选项:

  • -i: 交互式
  • -f: 强制

3)rm命令

remove,删除
指令格式:rm [OPTION]... FILE...

常用选项:

  • -i: 交互式
  • -f: 强制删除
  • -r: 递归
  • -rf:可以递归的删除文件夹 
原文地址:https://www.cnblogs.com/x54256/p/8138020.html