Linux的”万物皆文件”
Linux将硬件设备、目录、普通数据等统一抽象为文件,主要分为七类:
- 普通文件(-):文本、图片、可执行程序等常规数据,通过
file 文件名可查看类型。 - 目录文件(d):用于组织文件的特殊文件,本质是文件路径的映射表。
- 符号链接(l):类似Windows快捷方式,存储目标文件路径(
ln -s 源文件 链接名创建)。 - 设备文件:
- 块设备(b):硬盘、U盘等随机访问设备(如
/dev/sda)。 - 字符设备(c):键盘、串口等流式设备(如
/dev/tty)。
- 块设备(b):硬盘、U盘等随机访问设备(如
- 管道文件(p):进程间通信的通道(
mkfifo创建)。 - 套接字文件(s):网络通信接口。
示例:
ls -l命令首字符标识文件类型(如-rw-r--r--中表示普通文件)。
目录结构:层次化设计的精髓
Linux采用树形目录结构,根目录()为起点,关键目录作用:
| 目录 | 核心功能 | |
|———-|————–|————–|
| /bin | 基础命令 | ls, cp等 |
| /etc | 系统配置 | passwd, 服务配置 |
| /home | 用户主目录 | 个人文档、设置 |
| /var | 动态数据 | 日志、数据库 |
| /dev | 设备文件 | 硬件接口 |
| /proc | 内核与进程信息 | 虚拟文件系统(如/proc/cpuinfo) |
路径规则:
- 绝对路径:从根目录开始(如
/home/user/file.txt)。- 相对路径:基于当前目录(如
./script.sh或../backup)。
文件权限:安全性的基石
每个文件关联三类权限主体:所有者(Owner)、所属组(Group)、其他用户(Others)。
- 权限类型:
r(读):查看文件内容/目录列表。w(写):修改文件/在目录增删文件。x(执行):运行程序/进入目录。
- 权限管理命令:
chmod:修改权限(如chmod u+x file赋予所有者执行权)。chown:更改所有者(如chown user:group file)。
- 数字表示法:
r=4,w=2,x=1(如chmod 755 file即rwxr-xr-x)。
文件操作核心命令
| 命令 | 功能 | 常用参数 |
|---|---|---|
ls |
列出文件 | -l(详情), -a(隐藏文件) |
cp |
复制 | -r(递归目录) |
mv |
移动/重命名 | 无 |
rm |
删除 | -rf(强制递归删除,慎用!) |
find |
搜索文件 | -name "*.log", -size +10M |
grep |
文本搜索 | -i(忽略大小写), -r(递归目录) |
文件链接:硬链接 vs 软链接
- 硬链接:
- 直接指向文件数据块(inode),
ln 源文件 链接名创建。 - 特点:删除源文件不影响链接,不可跨分区。
- 直接指向文件数据块(inode),
- 软链接(符号链接):
- 存储目标文件路径,
ln -s 源文件 链接名创建。 - 特点:可跨分区,源文件删除后链接失效(类似快捷方式)。
- 存储目标文件路径,
文件系统特性与最佳实践
- 大小写敏感:
File.txt与file.txt视为不同文件。 - 无扩展名限制:扩展名(如
.sh)仅为用户标识,不影响执行。 - 隐藏文件:以开头的文件(如
.bashrc),ls -a查看。 - 安全建议:
- 避免使用
rm -rf /(强制删除根目录)。 - 敏感文件设置
600权限(仅所有者读写)。
- 避免使用
:Linux文件系统通过统一的文件抽象、严格的权限控制和层次化目录,实现了灵活性与安全性的平衡,掌握其机制是成为Linux高级用户的关键一步。
引用说明:
- Linux官方文档(kernel.org)
- 《鸟哥的Linux私房菜》基础篇(第四版)
- Filesystem Hierarchy Standard(FHS 3.0规范)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8247.html