linux文件类型笔记
某人的linux学习笔记,很清晰,拿过来备份
在Linux之中有以下的文件类型:
使用ls -l命令可以知道文件的类型,在Linux之中有以下7中文件类型:
目录 d
普通文件 -
字符设备 c
块设备 b
本地套接口 s
有名管道 p
链接(类似windows的快捷方式) l
文件的属性资料(存储在inode之中的)我想在用户权限的时候再详细说明。
相对路径(relative)和绝对路径(absolute):
以根目录/开头的就是绝对路径,而以其他开头的路径就是相对路径,表示相对当前路径而言,相对路径变成绝对路径会加上pwd命令返回的当前路径。
目录树:
FHS (Filesystem Hierarchy Standard)是一个规范,很多Linux厂商已经开始遵照它了。不过FHS很笼统,只规定了两级目录的规范。其一是根目录/下的主要目录以及应该摆放什么文件,比如/etc应该摆放各种配置文件,而/bin和/sbin应该摆放可执行文件等,第二级则主要针对/usr和/var做出了更深层目录的定义。以下我大致说说每个目录在Linux之中的作用。
/
根目录/,一般建议根目录下只放目录,尽量不要将文件直接放于其中。/是首先加载的文件系统。
/boot
第一章已经提到了,放置内核以及bootloader的文件。主要用于启动。
/dev
设备文件全部在这个目录,硬盘,分区,键盘,鼠标,USB,tty等等。
/bin
最小的系统操作性所需要的执行文件。
/etc
配置文件的集中营。
/home
用户的家。
/lib
C库和C编译器。
/sbin
系统管理所需要的一些命令。包括引导,修复等命令,我想是system admin bin的意思。
/tmp
临时文件目录。每次重新启动就会被系统自动删除。
/usr
次要的文件和命令。由FHS定义的第二层目录,类似windows之中的program files。
• /usr/bin, /usr/sbin:user和系统管理员的大部分命令
• /usr/include:c/c++等程序的header
• /usr/lib:应用软件用到的库
• /usr/local:用户自行安装的软件
• /usr/share:共享文件的目录
• /usr/share/doc:应用软件的说明文件
• /usr/share/man:manpage
• /usr/src:Linux的源代码
• /usr/X11R6:X window的执行文件等
/var
由FHS定义的第二层目录。主要放些一些应用的专用数据和配置文件,比如named的/var/named就放了zone文件,当然一般log日志文件也是在这个目录。
• /var/cache:系统的缓存
• /var/lib:执行的运行库
• /var/log:日志
• /var/lock:锁
• /var/run:进程的pid
• /var/spool:队列的目录,包括邮件,打印和cron的schedule。
/mnt
/media
挂接点,比如CDROM通常在/mnt/cdrom
/opt
类似/usr/local,应用软件的安装点
/lost+found
系统不正常时候,无法在inode table找到的孤儿,就会放在这里,通常是fcsk命令产生,会在每个分区的最高层目录,比如/boot是单独分区的话,会有/boot/lost+found
/srv
一些服务用到的文件,比如www
/root
root的家
/proc
使虚目录,主要是内核等等信息,比如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net 等。
不可单独分区的目录:
因为Linux启动时,一般只有/被挂接,所以启动所需的文件皆不可单独分区。比如/etc,/bin,/sbin,/dev,/lib等。
建议单独分区的目录:
/home, /usr, /var, /tmp,这些目录可能会因应需要不断扩展的,单独分区容易管理。