1.1 文件类型概述
在Linux中 一切都是文件 ,但文件都得有类型。
那如何查看文件是什么类型了?在Linux中可以使用以下命令
ls -l <文件>
在显示文件的属性通常会以如下形式进行显示:
drwxr-xr-x
- 第1个字母:代表文件类型
- 第2~4字母:代表用户的权限
- 第5~7字母:代表用户组的权限
- 第8~10字母:代表其他的用户的权限
1.2 文件类型介绍
文件属性 | 文件类型 |
---|---|
- | 常规文件,即file |
d | 目录文件 |
b | block device 即块设备文件,如硬盘;支持以block为单位进行随机访问 |
c | character device 即字符设备文件,如键盘支持以character为单位进行线性访问 |
l | symbolic link 即符号链接文件,又称软链接文件 |
p | pipe 即命名管道文件 |
s | socket 即套接字文件,用于实现两个进程进行通信 |
1.2.1 常规文件
对于常规文件而言,又可以分为二进制文件,xml文件,db文件等等,如果要查看一个常规文件的类型可以使用 file 命令。
1.2.2 设备类文件
通常情况下,在使用ls -l 后的第5列会显示当前文件的大小,但在设备类文件会有两个数字,以逗号间隔,这个并不表示是大小。
# ls -l /dev/
crw-rw----. 1 root video 10, 175 May 10 15:11 agpgart
- 第一个数字:主设备号,用于区分设备类型,不同的设备主设备号不同,同一设备的设备号相同,用于确定加载设备的驱动程序
- 第二个数字:次设备号,用于区分同一种类型设备的不同设备,如硬盘1,硬盘2等
1.2.3 符号链接文件
它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。使用 ln -s 命令创建符号链接时,源文件必须存在,链接文件必须不存在。
1)使用相对路径创建符号链接
[root@oldboyedu ~]# mkdir test
[root@oldboyedu ~]# cd test
[root@oldboyedu test]#
[root@oldboyedu test]# touch test.txt
[root@oldboyedu test]# ln -s test.txt test
[root@oldboyedu test]# ls -l
total 0
lrwxrwxrwx. 1 root root 8 May 10 16:27 test -> test.txt
-rw-r--r--. 1 root root 0 May 10 16:27 test.txt
2)使用绝对路径创建符号链接
ln -s test.txt /root/a
ls -l /root/a