学习教程

  1. 普通文件(-)
    1. 从Linux的角度来说,类似mp4、pdf、html这样应用层面上的文件类型都属于普通文件
    2. Linux用户可以根据访问权限对普通文件进行查看、更改和删除
  2. 目录文件(d,directory file)
    1. 目录文件对于用惯Windows的用户来说不太容易理解,目录也是文件的一种
    2. 目录文件包含了各自目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件,只要有访问权限,你就可以随意访问这些目录下的文件(普通文件的执行权限就是目录文件的访问权限),但是只有内核的进程能够修改它们
    3. 虽然不能修改,但是我们能够通过vim去查看目录文件的内容
  3. 符号链接(l,symbolic link)
    1. 这种类型的文件类似Windows中的快捷方式,是指向另一个文件的间接指针,也就是我们常说的软链接
  4. 块设备文件(b,block)和字符设备文件(c,char)
    1. 这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到
    2. 比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件
    3. 系统中的所有设备要么是块设备文件,要么是字符设备文件,无一例外
  5. FIFO(p,pipe)
    1. 管道文件主要用于进程间通讯。比如使用mkfifo命令可以创建一个FIFO文件,启用一个进程A从FIFO文件里读数据,启动进程B往FIFO里写数据,先进先出,随写随读。
  6. 套接字(s,socket)
    1. 用于进程间的网络通信,也可以用于本机之间的非网络通信
    2. 这些文件一般隐藏在/var/run目录下,证明着相关进程的存在