Linux 文件与目录概述
1. 文件名
在 Linux 中,文件名是文件的标识符,它可以包含字母、数字、下划线和句点组成的字符串。例如在 CentOS 中,可以创建一个名为 example_file.txt
的文件。需要注意的是,Linux 文件名是大小写敏感的,这意味着 Test
和 test
被视为两个不同的文件。例如,如果我们在 /home/user/
目录中创建了 MyDocument
和 mydocument
,这两个文件是完全不同的文件。
2. 文件类型
在 Linux(以 CentOS 为例)中,文件主要有以下几种类型:
- 普通文件:存储用户数据的文件,如文本文件、二进制文件等。例如
/home/user/document.txt
。 - 目录文件:存储其他文件和子目录的文件,如
/home/user/
。 - 设备文件:表示系统中的设备,如
/dev/sda
。 - 链接文件:指向另一个文件的指针,如符号链接
/home/user/symlink
。 - 管道文件:用于进程间通信的特殊文件,如命名管道
/home/user/mypipe
。
3. 文件存储信息的基本结构
在 CentOS 中,所有的文件和目录都有其属性和操作权限。这些信息包括文件的所有者、组、权限、大小、创建时间等。文件系统不仅能使用本地分区,还能使用网络上的文件系统(如 NFS 网络文件系统)。例如,一个存储在 NFS 服务器上的文件 /mnt/nfs/document.txt
可以通过网络挂载到本地系统上使用。
4. 普通文件
普通文件是用户最常用的文件类型,在 CentOS 中,它可以分为两类:
- 文本文件:例如
/etc/hosts
,其中存储了主机名和IP地址的映射。 - 二进制文件:例如
/bin/ls
,是一个可执行的二进制文件,用于列出目录内容。
5. 目录
目录用于管理和组织系统中的大量文件。在 CentOS 中,目录本身也是一种文件。例如,根目录 /
是所有其他目录和文件的起点。其他重要的目录包括:
/home
:存储用户的主目录,每个用户都有一个独立的目录,如/home/user
。/var
:存储经常变动的数据文件,如日志文件/var/log/messages
。
路径与文件名唯一性
在 CentOS 中,目录树中的每个文件名(包含完整路径)都是独一无二的。例如 /home/user/document.txt
与 /home/admin/document.txt
是两个不同的文件。路径用于指定一个文件在文件系统中的位置,分为:
- 绝对路径:从根目录
/
开始,例如/etc/passwd
。 - 相对路径:从当前工作目录开始,例如在
/home/user
目录下,documents/file.txt
指的是/home/user/documents/file.txt
。
Linux 目录结构
CentOS 的文件系统采用树状结构,从根目录 /
开始,主要包括以下子目录:
/bin
- 存放用户可用的二进制执行文件,例如常用的命令
ls
,cp
。这些命令在启动时就能使用,即使文件系统没有挂载完毕。例如,在 CentOS 中,运行ls /bin
可以看到一系列的二进制文件。
- 存放用户可用的二进制执行文件,例如常用的命令
/boot
- 包含启动引导程序相关文件,如 GRUB 引导文件和内核文件
vmlinuz
。这些文件对于系统启动至关重要。例如,/boot/grub2/grub.cfg
是 GRUB 的配置文件。
- 包含启动引导程序相关文件,如 GRUB 引导文件和内核文件
/dev
- 存放设备文件,表示系统中的硬件设备。例如,硬盘设备文件
/dev/sda
。
- 存放设备文件,表示系统中的硬件设备。例如,硬盘设备文件
/etc
- 存放系统配置文件和启动脚本。例如,网络配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
。
- 存放系统配置文件和启动脚本。例如,网络配置文件
/home
- 用户主目录,每个用户都有一个单独的目录,如
/home/user
,用于存储用户的个人文件和设置。
- 用户主目录,每个用户都有一个单独的目录,如
/lib
- 存放系统程序的共享库文件和内核模块。例如,C 库文件
/lib64/libc.so.6
是许多程序依赖的基础库。
- 存放系统程序的共享库文件和内核模块。例如,C 库文件
/media
- 用于临时挂载可移动设备,如光盘
/media/cdrom
和 USB 设备/media/usb
。
- 用于临时挂载可移动设备,如光盘
/mnt
- 用于临时挂载其他文件系统。例如,挂载一个外部硬盘可以使用命令
mount /dev/sdb1 /mnt/external
。
- 用于临时挂载其他文件系统。例如,挂载一个外部硬盘可以使用命令
/opt
- 存放额外安装的可选软件包。例如,在 CentOS 上安装的第三方软件通常会放在
/opt
目录下,如/opt/vmware
。
- 存放额外安装的可选软件包。例如,在 CentOS 上安装的第三方软件通常会放在
/root
- 系统管理员(root 用户)的主目录。例如,root 用户的配置文件
.bashrc
位于/root/.bashrc
。
- 系统管理员(root 用户)的主目录。例如,root 用户的配置文件
/sbin
- 存放系统管理命令,这些命令通常只有 root 用户能执行。例如,网络配置命令
/sbin/ifconfig
。
- 存放系统管理命令,这些命令通常只有 root 用户能执行。例如,网络配置命令
/srv
- 存放服务启动需要的数据文件,如 Web 服务器文件
/srv/www
和 FTP 服务器文件/srv/ftp
。
- 存放服务启动需要的数据文件,如 Web 服务器文件
/tmp
- 临时文件目录,系统重启后会被清空。例如,用户在浏览网页时生成的临时文件会存储在
/tmp
目录中。
- 临时文件目录,系统重启后会被清空。例如,用户在浏览网页时生成的临时文件会存储在
/usr
包含用户程序和数据的次级层次,包括:
/usr/bin
:存放用户命令文件,如/usr/bin/vim
。/usr/sbin
:存放超级用户命令文件,如/usr/sbin/httpd
。/usr/lib
:存放程序库文件,如/usr/lib64/libssl.so
。/usr/local
:存放本地安装的软件包,例如/usr/local/bin
中的自定义脚本。
/var
变量文件目录,存储经常变动的数据文件,如:
- 日志文件
/var/log/messages
- 缓存文件
/var/cache/yum
- 锁文件
/var/lock/subsys
- 运行文件
/var/run/httpd.pid
- 临时文件
/var/tmp
- 邮件文件
/var/spool/mail/root
- 日志文件
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。