文件管理
文件系统
文件中两类数据
文件命名规则
文件体系结构
文件类型
文件通配符
文件系统:
(将01010机器组织用户可读的文件)
- 文件和目录被组织成一个单根倒置树结构
- 文件系统从根目录下开始,用“/”表示
- 根文件系统(rootfs):root filesystem
- 文件名称区分大小写(不是Linux系统对大小写敏感,而是文件系统对大小写敏感)
- 以.开头的文件为隐藏文件
- 路径分隔符 /
文件有两类数据:
- 元数据:metadata,文件的属性信息。
- 数据:data,文件的内容。
文件名规则:
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
- 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 (相当于Windows的快捷方式) 灰色-->其他文件
- 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们。
- 标准Linux文件系统(如ext4),文件名称大小写敏感。例如:MAIL,Mail,mail, mAiL
文件体系结构:
- /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
- u cache: 应用程序缓存数据目录
- u lib: 应用程序状态信息数据
- u local:专用于为/usr/local下的应用程序存储可变数据;
- u lock: 锁文件
- u log: 日志目录及文件
- u opt: 专用于为/opt下的应用程序存储可变数据;
- u run: 运行中的进程相关数据,通常用于存储进程pid文件
- u spool: 应用程序数据池
- u tmp: 保存系统两次重启之间产生的临时数据
- /proc: 用于输出内核与进程信息相关的虚拟文件系统(对应内存中数据)
- /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统(和硬件相关)
- /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
- /lost+found:和文件系统有关,默认的ext系列的挂载点下面都有
Linux下的文件类型:
- -:普通文件
- d: 目录文件
- b: 块设备
- c: 字符设备
- l: 符号链接文件
- p: 管道文件pipe
- s: 套接字文件socket
文件通配符:
(匹配文件名称)
- *匹配零个或多个字符
- ?匹配任何单个字符
- ~ 当前用户家目录
- ~sunan 用户sunan家目录
- ~+ 当前工作目录
- ~-前一个工作目录
- [0-9]匹配数字范围
- [a-z]:小写字母
- [A-Z]:大写字母
- [sunan]匹配列表中的任何的一个字符
- [^sunan]匹配列表中的所有字符以外的字符
预定义的字符类:man 7 glob
- [:digit:]:任意数字,相当于0-9
- [:lower:]:任意小写字母,相当于a-z
- [:upper:]: 任意大写字母,相当于A-Z
- [:alpha:]: 任意大小写字母
- [:alnum:]:任意数字或字母
- [:blank:]:水平空白字符
- [:space:]:水平或垂直空白字符
- [:punct:]:标点符号
- [:print:]:可打印字符
- [:cntrl:]:控制(非打印)字符
- [:graph:]:图形字符
- [:xdigit:]:十六进制字符