文档章节

Linux 文件系统的目录结构

乌合之众
 乌合之众
发布于 2015/06/04 12:43
字数 3795
阅读 35
收藏 1
 [object Object] 树形结构下的文件目录: 无论哪个版本的 文件系统的入口,  包含  这是一个非常有趣的目录,是         在 即插即用型    表示的是可选择的意思, 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如  大多是涉及  目录是相似的; 我们记住就行了,凡是目录 临时文件目录,有时用户运行程序的时候,会产生临时文件。  这个是

存储设备进行格式化(即建立文件系统)

1。关于文件系统

对存储设备分区还是不够的,我们还要对新增分区进行格式化;一个分区只有建立了某种 文件系统后,这个分区才能使用;建立文件系统过程,就是用相应格式化工具格式化分区的过程,这个过程和我们在Windows中格式化某个分区为NTFS分 区类似;没有什么高深的内容,只是所用的工具不一样罢了;

Linux操作系统中,几乎支持目前主流的文件系统,比如NTFS(只读)、FAT(可读可写)、ext2ext3reiserfshfs (MAC 操作系统的文件系统)、swap 交换分区... ... 还有一些咱们不熟悉的操作系统的文件系统等;

Linux中,我们常用的文件系统无非是上面例出的这些;如果您新增了一个硬盘,可能想格 式化成Linux的文件系统,最佳选择是 reiserfs ext3;目前ext2已被 ext3取代;我们不推荐用ext2文件系统,ext2的使用风险比较大;速度最快的文件系统,当属reiserfsreiserfs 还有很多优点,比如更安全;ext3Redhat认为最好的文件系统。

相对来说reiserfs还是比ext3要优秀。



文件系统概念

1*nix系统中:一切皆文件

2。文件

a.)文件的成分: 无论文件是一个程序、一个文档、一个数据库,或者是一个目录,操作系统都会赋予它如下所示的同样的结构:
◆
索引节点 又称I节点,在文件系统结构中,包含有关相应文件的信息的一个记录,这些信息包括文件权限、文件主、文件大小、存放位置、建立日期等。
◆
数据 文件的实际内容,它可以是空的,也可以非常大,并且有自己的结构。

b.) Linux系统区分文件名的大小写

以圆点“.”开头的文件名是隐含文件(dot files),默认方式下使用ls命令并不能把它们在屏幕上显示出来。同样,在默认情况下,Shell通配符并不匹配这类文件名。

c.) 文件名通配符

星号(*: 0个或多个任意的字符相匹配

问号(?: 问号只与一个任意的字符匹配,可以使用多个问号

方括号([ ]) : 与问号相似,只与一个字符匹配。它们的区别在于,问号与任意一个字符匹配,而方括号只与括号中列出的字符之一匹配。例如letter [123]只与文件letter1letter2letter3匹配,但不与文件 letter12匹配。可以用短横线代表一个范围内的字符,而不用将它们一一列出。例如,letter[1-3]letter[123]的简写形式。但 是,要注意范围内的字符都按升序排列,即[A-Z]是有效的,而[Z-A]是无效的。方括号中可以列出多个范围,如[A-Za-z]可以和任意大写或小写 的字符相匹配。方括号中如果以惊叹号“!”开始,表示不与惊叹号后的字符匹配。


文件类型

Linux操作系统支持普通文件、目录文件、特别文件及符号链接文件等文件类型。


1. 普通文件

 普通文件也称作常规文件,包含各种长度的字节串。核心对这些数据没有进行结构化,只是作为有序的字节序列把它提交给应用程序。应用程序自己组织和解释这些数据,通常把它们归并为下述类型之一:
    ◆
文本文件,由ASCII字符构成。例如,信件、报告和称作脚本(Script)的命令文本文件,后者由shell解释执行。
    ◆
数据文件,由来自应用程序的数字型和文本型数据构成。例如,电子表格、数据库,以及字处理文档。
    ◆
可执行的二进制程序,由机器指令和数据构成。例如,上面所说的系统提供的命令。

    使用file命令可以确定指定文件的类型。该命令可以将任意多个文件名当做参数,其一般使用格式是:file 文件名 [文件名...]

2. 目录

目录是一类特殊的文件,利用它可以构成文件系统的分层树型结构。如同普通文件那样,目录文件也包含数据;但目录文件与普通文件的差别是,核心对这些数据加以结构化,它是由成对的“I节点号/文件名”构成的列表。
    ◆I
节点号是检索I节点表的下标,I节点中存放有文件的状态信息。
    ◆
文件名是给一个文件分配的文本形式的字符串,用来标识该文件。在一个指定的目录中,任何两项都不能有同样的名字。

    每个目录的第一项都表示目录本身,并以“.”作为它的文件名。每个目录的第二项的名字是“..”,表示该目录的父目录。

    应注意:以“.”开头的文件名表示隐含文件,使用带-a选项的ls命令可以列出它们。

    当把文件添加到一个目录中的时候,该目录的大小会增长,以便容纳新文件名。当删除文件时,目录的尺寸并不减少,而是核心对该目录项做上特殊标记,以便下次添加一个文件时重新使用它。ls命令不会列出这些未被使用的项。

Linux系统的目录结构

Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用“/”表示),其中含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。这样一层一层地延伸下去,构成一棵倒置的树,如图1所示。


1 Linux树型目录结构

在目录树中,根节点和中间节点(用圆圈表示)都必须是目录,而普通文件和特别文件只能作为“叶子”出现。当然,目录也可以作为叶子。

1)用户主目录
    
当注册进入系统时,主目录就是当前工作目录。主目录往往位于/home目录之下,并且与注册名相同,例如,/home/mengqc。通常主目录包含子目录、数据文件,以及用于注册环境的配置文件。

  1. 绝对路径和相对路径

什么情况下使用绝对路径名,什 么情况下使用相对路径名,取决于哪种方式涉及到的目录更少。路径短,不仅键盘输入少,而且节省系统搜索路径的时间,提高执行效率。例如,当前的工作目录是/etc/conf/cf.d,如果需要访问系统口令文件/etc/passwd,那么使用绝对路径名是/etc/passwd,使用相对路径名是.. /../passwd。绝对路径名/etc/passwd涉及的目录有2个,而相对路径名../../passwd涉及的目录却是3个。此时,使用绝对路 径名更有效。

    但是,如果当前工作目录是/home/mengqc/lib,要访问在func目录之下的file1文件,那么使用绝对路径名是/home/mengqc/lib/func/file1,使用相对路径名是 func/file1。绝对路径名/home/mengqc/lib/func/file1涉及的目录有5个,而相对路径名涉及的目录只有2个。此时,使 用相对路径名更有效。

    如果不清楚当前工作目录与其它目录之间的关系,那么最好使用绝对路径名。


3. 设备文件
    
Linux系统中,所有设备都作为一类特别文件对待,用户像使用普通文件那样对设备进行操作,从而实现设备无关性。但是,设备文件除了存放在文件I节点中的信息外,它们不包含任何数据。系统利用它们来标识各个设备驱动器,核心使用它们与硬件设备通信

    有两类特别设备文件,它们对应不同类型的设备驱动器
    ◆
字符设备最常用的设备类型,允许I/O传送任意大小的数据,取决于设备本身的容量。使用这种接口的设备包括终端、打印机及鼠标。
    ◆
块设备这类设备利用核心缓冲区的自动缓存机制,缓冲区进行I/O传送总是以1KB为单位。使用这种接口的设备包括硬盘、软盘和RAM盘。



Linux系统的文件系统路径

1。路径分为绝对路径和相对路径。

绝对路径是从/(也被称为根目录)开始的,比如/usr/etc/X11。如果一个路径是从/开始的,它一定是绝对路径。

相对路径是以. ..开始的,.表示用户当前操作所处的位置,而.. 表示上级目录;在路径中,.表示用户当前所处的目录,而..上级目录,要把...当做目录来看。

2[root@localhost ~]# pwd 注:判断用户当前所处的位置,也就是说他到底位于哪?

use when you are lost.

3

[root@localhost ~]# cd . 注:我们进入。

[root@localhost ~]# cd .. 注:我们切入/root的上级目录。

注意,cd之后有个空格。


4~ 表示当前用户自己的家目录;

~USER表示用户名为USER的家目录

:

cd ~ 回到当前用户的家目录;

cd ~USERNAME回到USERNAME用户的家目录;




  文件系统及其安装

    一个硬盘上可以同时存在多个文件系统,每个文件系统占据硬盘的一个独立分 区。Linux文件系统可以根据需要随时装卸,从而实现文件存储空间的动态扩充和信息安全。在系统初启时,往往只有一个文件系统被安装上,即根文件系统, 其上的文件主要是保证系统正常运行的操作系统的代码文件,以及若干语言编译程序、命令解释程序和相应的命令处理程序等构成的文件,此外,还有大量的用户文 件空间。根文件系统一旦安装上,则在整个系统运行过程中是不能卸下的,它是系统的基本部分。

    其它的文件系统(例如,由软盘构成的文件系统)可以根据需要(如从硬盘向软盘复制文件),作为子系统动态地安装到主系统中,如图5所示。其中,mnt是为安装子文件系统而特设的安装节点。


5 文件系统安装

    经过安装之后,主文件系统与子文件系统就构成一个有完整目录层次结构的、容量更大的文件系统。这种安装可以高达几级。就是说,若干子文件系统可以并列安装到主文件系统上,也可以一个接一个地串连安装到主文件系统上。

    已安装的子文件系统也可从整个文件系统上卸下来,恢复安装前的独立状态。

    1.建立文件系统
    
当硬盘完成分区后,应该在该分区上建立文件系统。这一步工作是通过mkfs工具来完成的。例如,如果需要在分区/dev/hda1上建立ext2文件系统,并检查坏块,应该使用以下命令:
    # mkfs -c /dev/hda1

    注意,只有root用户才能建立或安装/卸下文件系统。

    2.安装文件系统
    
创建文件系统后,需要使用命令mount将该文件系统安装到主文件系统中。命令mount有三个主要参数:
    ◆
需要安装的文件系统类型,用“-t fstype”选项来指定,这与mkfs中的-t选项是一样的。
    ◆
所需访问的文件系统所在分区名,通常是位于目录/dev中的特别设备文件;如果需要安装网络文件系统时,就使用该服务器上输出的目录名。
    ◆
安装新文件系统的路径名,也就是放置新文件系统的安装点(Mount Point)。通常这是一个空目录名,并且是专门为安装新文件系统而准备的。在Linux系统下,目录/mnt是常用的文件系统安装目录,缺省情况下,CDROM和软盘驱动器都分别安装在其子目录下。当然,文件系统也可以被安装到其它空目录中。例如,需要将MSDOS文件系统分区/dev/hda1安装 到系统的空目录/dos中,应该使用以下命令:
    # mount -t msdos /dev/hda1 /dos

    3.卸载文件系统
    
在关闭系统之前,为了保证文件系统的完整 性,所有安装的文件系统都必须被卸载。通常在/etc/fstab文件中定义的文件系统都能够自动卸载。但是,对于手工mount的文件系统,在关闭系统 之前必须手工卸载。有时候也需要在系统工作过程中手工卸载某个文件系统。手工卸载文件系统必须使用umount命令,umount命令将分区名或分区的安 装点作为参数,格式如下:

umount  <</font>分区名或分区的安装点>

    例如,需要将已经安装到/mnt/floppy目录下的软盘卸载,可以使用以下命令:
    # umount /mnt/floppy

    要注意,对于正在使用的文件系统,不能使用umount命令卸载。

本讲我们介绍了有关Linux系统中常用命令格式、文件和目录的概念、文件类型、目录结构、文件的存取权限、文件系统的概念及其安装命令等。有关文件操作的命令很多,读者可以通过上机学习各种命令的使用方法,掌握其基本功能。(T111)



本文转载自:http://blog.sina.com.cn/s/blog_662234020101ebfd.html

共有 人打赏支持
乌合之众
粉丝 13
博文 90
码字总数 79369
作品 2
海淀
程序员
私信 提问
Linux操作系统内核分析方法

Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为...

Dicky
2012/08/22
0
0
迅为4412开发板Linux驱动教程之内核开发基础

视频教程:http://v.youku.com/v_show/id_XMTMwNjAwMDc0OA==.html 主要内容 • Linux体系结构 • Linux内核结构 • Linux内核源码目录结构 Linux体系结构 从上图可知,Linux体系结构由用户空...

topeet
2015/08/10
242
0
专业地攻击:优秀黑客的Linux基础,part 1(起步)

很多人问我到底什么操作系统最适合于黑客使用。我会告诉你几乎每一个专业的黑客都使用Linux或者Unix。虽然有些入侵能够通过Windows和Mac OS来实现,但是几乎所有的黑客工具都是为Linux定制的...

djokary
2014/01/21
0
0
写给正在入坑linux系统的伙伴

写给正在入坑linux系统的伙伴 光阴似箭,时光如梭,转年出来工作已经3年了。从一个职场新人慢慢熟悉职场的工作方式,适应职场工作的环境,学习了很多知识,也总结了很多经验。现在的目标就是...

linuxCool
2018/11/08
0
0
Linux系统的目录结构--Linux入门到精通系列

Linux安装后,由系统产生的目录比较多,初学都对这众多的目录通常会感到很迷或,不知这些目录有何作用,彼此间有何区别,用户自己的目录创建在哪个目录下比较合适。 1、目录结构简介 与DOS和...

长平狐
2012/09/20
147
0

没有更多内容

加载失败,请刷新页面

加载更多

Mysql(Mariadb)数据库主从复制

Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据库中所有操作都...

linux-tao
51分钟前
2
0
Mysql(Mariadb)数据库主从复制

Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据库中所有操作都...

Linux就该这么学
今天
2
0
Mysql(Mariadb)数据库主从复制

Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据库中所有操作都...

xiangyunyan
今天
2
0
Android 自定义Path贝塞尔曲线View实践——旋转的花朵

一、关于贝塞尔曲线 在工业设计方面贝塞尔曲线有很多用途,同样,在Android中,贝塞尔曲线结合Path类可以实现更复杂的图形,这里我们给一个案例,来实现一种旋转的花朵。对于贝赛尔曲线的理解...

IamOkay
今天
3
0
7、redis主从复制和sentinel配置高可用

一:redis主从配置 1、环境准备 master : 192.168.50.10 6179 slave1: 192.168.50.10 6279 slave2: 192.168.50.10 6379 2、redis.conf配置文件配置 master port 6179......

刘付kin
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部