文件管理
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.文件系统结构元素
1>.文件系统
文件和目录被组织成一个单根倒置树结构
文件系统从根目录下开始,用“/”表示
根文件系统(rootfs):root filesystem
文件名称区分大小写
以.开头的文件为隐藏文件
路径分隔的符为:"/"
文件有两类数据:
元数据:metadata
数据:data
文件系统分层结构:
LSB Linux Standard Base
FHS: (Filesystem Hierarchy Standard)
官方文档:http://www.pathname.com/fhs/
2>.文件的命名规则
文件名最长255个字节
包括路径在内文件名称最长4095个字节
文件类型类型Linux用不同的类型进行颜色划分,默认为:
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件
除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
标准Linux文件系统(如ext4,xfs),文件名称大小写敏感
例如:MAIL, Mail, mail, mAiL
3>.文件系统结构
/boot: 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub) 都存放于此目录
/bin: 所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin: 管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib: 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64: 专用于x86_64系统上的辅助共享库文件存放位置
/etc: 配置文件目录
/home/USERNAME: 普通用户默认家目录
/root: 管理员的家目录
/media: 便携式移动设备默认挂载点
/mnt: 临时文件系统挂载点
/dev: 设备文件及特殊文件存储位置 b: block device,随机访问 c: character device,线性访问
/opt: 第三方应用程序的安装位置
/srv: 系统上运行的服务用到的数据
/tmp: 临时文件存储位置。
/usr: universal shared, read-only data bin: 保证系统拥有完整功能而提供的应用程序 sbin: lib:32位使用 lib64:只存在64位系统 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相关的安全策略等信息的存储位置
4>.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
5>.Linux下的文件类型
- 普通文件
d 目录文件
b 块设备
c 字符设备
l 符号链接文件
p 管道文件pipe
s 套接字文件socket
6>.CentOS 7目录变化
/bin 和 /usr/bin
/sbin 和 /usr/sbin
/lib 和/usr/lib
/lib64 和 /usr/lib64
7>.显示当前工作目录
每个shell和系统进程都有一个当前的工作目录,即CWD(current work directory) [root@node101.yinzhengjie.org.cn /bin]# pwd #显示当前shell CWD的绝对路径,pwd: printing working directory /bin [root@node101.yinzhengjie.org.cn /bin]# [root@node101.yinzhengjie.org.cn /bin]# pwd -L #显示连接路径(很显然,默认就是使用该参数,我们发现该参数和上面没有加-L参数输出一致) /bin [root@node101.yinzhengjie.org.cn /bin]# [root@node101.yinzhengjie.org.cn /bin]# pwd -P #显示真实物理路径 /usr/bin [root@node101.yinzhengjie.org.cn /bin]#
8>.绝对和相对路径
绝对路径
以正斜杠开始
完整的文件的位置路径
可用于任何想指定一个文件名的时候
相对路径名
不以斜线开始
指定相对于当前工作目录或某目录的位置
可以作为一个简短的形式指定一个文件名
基名:basename
目录名:dirname
9>.更改目录
cd 改变目录(使用绝对或相对路径)
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至上一次的工作目录: cd -
选项:-P
相关的环境变量:
PWD:当前目录路径
OLDPWD:上一次目录路径
10>.列出目录内容
列出当前目录的内容或指定目录
用法:ls [options] [ files_or_dirs ]
示例:
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
11>.查看文件状态
文件: metadata, data 三个时间戳: access time 访问时间,atime,读取文件内容 modify time 修改时间, mtime,改变文件内容(数据) change time 改变时间, ctime,元数据发生改变 案例如下: [root@node101.yinzhengjie.org.cn ~]# stat a.txt File: ‘a.txt’ Size: 7 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 100663373 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2019-08-03 18:25:32.826008829 +0800 Modify: 2019-08-03 18:25:30.531008976 +0800 Change: 2019-08-03 18:25:30.531008976 +0800 Birth: - [root@node101.yinzhengjie.org.cn ~]#
12>.
13>.
二.创建和查看文件
三.复制,转移和删除文件
四.软和硬连接
五.
原文:https://www.cnblogs.com/yinzhengjie/p/11302338.html