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