1. 文件系统
安装Linux的时候需要对系统进行分区,并选择分区的文件系统。对于Windows来说,我们可能会分出C、D、E几个盘。对于Linux来说,也是有分区的,不过分区体可以挂载在任何一个目录,整个系统都在根目录/下得一棵树,而不会分C、D、E几棵树。
选择好分区方案之后需要为分区选在文件系统。Windows的文件系统有Fat32、NTFS等。Linux则有ext2、ext3、ext4、Reiser,交换分区用的是swap文件系统。
下面解释一下Linux目录树的主要用途:
- /bin - 放可执行文件,例如bash。
- /boot - 放系统启用文件,例如系统映像、启动菜单。
- /dev - 放设备文件,Linux里的硬件设备是通过文件方式来访问的,硬件设备在/dev下都有一个对应的设备文件。
- /etc - 放配置文件。
- /home - 用户目录,每一个用户在/home下面都有一个专用的子目录。
- /lib - 放程序库文件,例如各种so后缀的文件。
- /media - 可以放光盘等外部设备。
- /mnt - 通常用来挂载外部设备,例如磁盘、光驱等。
- /opt - 可以用来放用户自己安装的程序,用户自己安装的程序很多时候会安装在/usr/local/
- /proc - 进程目录,这不是一个实际的文件目录,而是当前系统进程信息的展示,可以查CPU和具体某个进程的一些信息。目录里面以进程号作为目录名,进程号对应top命令的PID列。
- /root - 超级管理员的用户目录。
- /sbin - 放一些系统管理用的命令。
- /srv - 可以放一些系统服务,这是SUSE Linux的习惯,Ubuntu Linux并不使用这个习惯。
- /sys - 放一些系统信息。
- /tmp - 放临时文件。
- /usr - 放用户程序,系统大部分的文件都放在这个目录下。
- /var - 放经常改变的数据,例如日志。
2. 文件类型
在Linux中,目录也是文件。如果用ls -l命令显示一个目录的详细信息,会看到第一部分有10个字母用于权限控制,其中第1个字母是d的话就表示这个文件是目录。对于普通文件来说,10个字母中有3个x表示用户、组和所有人都能执行。对于目录来说,可执行意味着可以进入目录。
drwxr-xr-x 5 hgneng staff 170 5 1 2016 deploy
除了目录和文件,一种重要的文件类型是符号链接,这种类型是Windows里没有的(但它有点类似于Windows的快捷方式)。如果我们把一份带有符号链接的代码提交到代码版本管理软件(例如SVN),在Windows中更新,有可能会出现更新异常。
符号链接分为软符号链接(用ln -s创建)和硬符号链接。源文件删除后,软符号链接将不再有效,而硬符号链接依然有效。
Linux文件类型中还有FIFOs和Sockets,前者是用于进程间按照先进先出原则的单向队列通讯,后者是双向的通信。这两种文件类型只在编程时才会用到。
插入一段八卦旧闻:Reiser文件系统的作者Hans Reiser 2008年于美国加州被控谋杀离异妻子罪名成立,入狱25年。
3. LPI考纲描述
2.3 Using Directories and Listing Files
Weight: 2
Description: Navigation of home and system directories and listing files in various locations.
Key Knowledge Areas:
- Files, directories
- Hidden files and directories
- Home
- Absolute and relative paths
Terms and Utilities:
- Common options for ls
- Recursive listings
- cd
- . and ..
- home and ~
评论