你的位置:首页 > 操作系统

[操作系统]Linux 文件系统分区基础


文件系统就是管理设备,组织文件的一些结构和算法。

/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件, 建这个分
区是有必要的,因为目前大多数的PC机要受到BIOS的限制,况且如果有了一个单独的/boot启
动分区,即使主要的根分区出现了问题,计算机依然能够启动。

/usr分区,是Red Hat linux系统存放软件的地方,如有可能应将最大空间分给它。
/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。 如果是多
用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通
用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。
其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登
陆系统,这样做是危险的,因为根用户对系统有绝对的使用权,可一旦你对系统进行了误操
作,麻烦也就来了。
/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日
志文件出现了问题,它们也不会影响到操作系统的主分区。
/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这
样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其
它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其
它的部分更快地发生问题。
/bin分区,存放标准系统实用程序。
/dev分区,存放设备文件。
/opt分区,存放可选的安装的软件。
/sbin分区,存放标准系统管理文件。

每次安装系统的时候我们都会进行分区,Linux下磁盘分区和目录的关系如下:

– 任何一个分区都必须挂载到某个目录上。

– 目录是逻辑上的区分。分区是物理上的区分。

– 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。

– 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。

所有的磁盘分区都必须被挂载上才能使用,那么我们机器上的硬盘分区是如何被挂载的?

A:这主要是它利用了/etc/fstab文件。每次内核加载它知道从这里开始mount文件系统。每次系统启动会根据该文件定义自动挂载。若没有被自动挂载,分区将不能使用。

移动硬盘有驱动模块会自动挂载,如果有个新硬盘,要先进行分区,并通过mount命令挂载到某个文件夹。如果要自动挂载则可以修改/etc/fstab文件.

 

查看文件内容

cat:
cat [file]
查看文件的内容。全程式concatenate的意思,将文件内容连续输出到屏幕上。第一行到最后一行显示。
tac:
tac [file]
和cat刚好相反 是从最后一行到第一行的方式查看。

cat有个比较不好的地方时当文件比较大时候没办法看清楚,这个时候可以用more或者Less命令。

more:
more [file]
如果使用grep或者find等命令时,可以配合使用more一页一页的查看。如果看到一半想退出,则敲入’q’即可退出。
less:
less [file]
less比more更有弹性,可以上下翻页。

如果只想读取文件的头几行或者文件的末尾几行,可以用head或tail.
head –n [file]:读取文件的前n行。
tail –n [file]:读取文件末尾n行。

文件查找

which:
which [filename]
该命令用于查询通过PATH路径到该路径内查找可执行文件。
如:Which passwd:查找可执行文件passwd
whereis:
whereis [-bmsu] [keyword]
该命令用于把相关字的文件和目录都列出来。(Linux 会将文件都记录在一个文件数据库里面,该命令式从数据库去查询,所以速度比较快,Linux每天会更新该数据库)

locate:
locate [filename]
该命令用于把相关字的文件和目录都列出来。查找数据特别快,也是通过数据库方式来查询。但是数据库一周更新一次,所以可能有些存在数据查不到。可以去修改配置文件。

find:
find [path] [参数] [keyword]
该命令用于在指定路径下查找文件。不是通过数据来查询,所以速度会比较慢。