当前位置:首页>Linux>Linux 文件类型详解:普通文件、目录、软链接、设备文件一次讲清

Linux 文件类型详解:普通文件、目录、软链接、设备文件一次讲清

  • 2026-09-08 23:12:30
Linux 文件类型详解:普通文件、目录、软链接、设备文件一次讲清

很多人以为 Linux 里的“文件”,就是:

  • txt 文件
  • 脚本文件
  • 日志文件

但当你执行:

ls -l

看到最前面那一列:

-rw-r--r--drwxr-xr-xlrwxrwxrwx

第一个字符其实已经告诉你:

这不是普通文件。

今天,我们把 Linux 常见文件类型一次讲清楚。

---

一、如何判断文件类型?

执行:

ls -l

例如:

-rw-r--r--1 root root   1234 test.txtdrwxr-xr-x  2 root root   4096 mydirlrwxrwxrwx  1 root root      7 link -> test.txt

最左边的第一个字符,就是文件类型标志。

符号
类型
-
普通文件
d
目录
l
软链接
c
字符设备
b
块设备
s
套接字
p
管道

重点掌握前四种即可。


二、普通文件(-)

标志:

-

示例:

-rw-r--r-- test.txt

普通文件包括:

  • 文本文件
  • 日志文件
  • 配置文件
  • 二进制程序
  • shell 脚本

注意一点:

Linux 并不通过扩展名判断文件类型。

.sh、.txt、.log 在系统层面都是普通文件。

是否能执行,取决于:

  • 是否有 x 权限
  • 是否是可执行格式

查看真实类型可以用:

file 文件名

三、目录文件(d)

标志:

d

示例:

drwxr-xr-x mydir

目录本质上也是一种文件。

它里面存储的是:

  • 文件名
  • inode 编号

目录权限含义特殊:

  • r → 可以查看目录内容(ls)
  • w → 可以创建删除文件
  • x → 可以进入目录(cd)

如果目录没有 x 权限,你甚至无法进入。


四、软链接(l)

标志:

l

示例:

lrwxrwxrwx link -> test.txt

软链接(symbolic link)类似于 Windows 的快捷方式。

创建方式:

ln -s 原文件 链接名

例如:

ln -s test.txt link

特点:

  • 只是保存“路径”
  • 删除源文件,链接会失效
  • 可以跨文件系统

查看链接指向:

ls -l

会看到:

link -> test.txt

很多系统目录都使用软链接,例如:

/bin ->/usr/bin

五、硬链接(补充理解)

虽然 ls -l 不会显示为特殊类型,但值得说明。

创建方式:

ln 原文件 新文件

硬链接的特点:

  • 本质是同一个 inode
  • 删除其中一个文件,不影响另一个
  • 不能跨文件系统
  • 不能对目录创建(普通用户)

可以通过查看 inode 发现:

ls -li

如果 inode 相同,就是硬链接。


六、设备文件(c / b)

这是很多新手最陌生的类型。

Linux 的设计理念:

一切皆文件

硬件设备,在 Linux 中也以文件形式存在。

常见位置:

/dev

查看:

ls -l /dev

会看到:

crw-rw----1 root tty   ...brw-rw----1 root disk  ...

类型:

c → 字符设备(character device)b → 块设备(block device)

区别:

字符设备:

  • 按字符流读取
  • 如键盘、串口

块设备:

  • 按块读取
  • 如硬盘、U盘

例如:

/dev/sda

就是一块硬盘设备。

这也是为什么可以:

cat /dev/zero

因为它是“文件”。


七、管道文件(p)

创建方式:

mkfifo mypipe

查看:

prw-r--r--

它用于进程间通信(IPC)。

一般在系统底层或服务程序中使用。


八、套接字文件(s)

常见于:

/var/run/

用于进程通信。

例如 MySQL 启动后会生成:

mysqld.sock

类型显示为:

srwxrwxrwx

九、如何快速判断文件类型?

方法一:

ls -l

看第一个字符。

方法二:

file 文件名

例如:

file test.sh

输出:

Bourne-Again shell script

方法三:

stat 文件名

可以看到更详细信息。


十、为什么理解文件类型很重要?

因为很多错误都和文件类型有关:

  • 不能 cd 进目录
  • 链接失效
  • 设备无法读写
  • 服务 socket 找不到

当你看到:

l

就知道是链接问题。

看到:

d

就知道是目录权限问题。

看到:

b

说明是块设备。

你开始“读得懂系统”。


十一、一句话总结

Linux 文件类型通过:

ls -l 最前面的第一个字符

来区分。

常见记住四种即可:

  • - 普通文件
  • d 目录
  • l 软链接
  • b / c 设备文件

理解这一点,你就真正理解了:

Linux 为什么说“一切皆文件”。


文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章