大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > C/C++语言 > 大宇:C编程 > [001.11]Linux基础操作之文件系统

[001.11]Linux基础操作之文件系统

发布时间:2018/07/25 大宇:C编程 标签C编程阅读:74

目录:

–目录是一组相关文件的集合,

–一个目录下面除了可以存放文件之外还可以存放其他目录,即可包含子目录。

–在确定文件、目录位置时,DOS和Unix/Linux都采用“路径名+文件名”的方式。路径反映的是目录与目录之间的关系。

路径:

–Unix/Linux路径由到达定位文件的目录组成。

–在Unix/Linux系统中组成路径的目录分割符为斜杠“/”,而DOS则用反斜杠“\”来分割各个目录。

绝对路径:

–绝对路径是从目录树的树根“/”目录开始往下直至到达文件所经过的所有节点目录。

–下级目录接在上级目录后面用“/”隔开。

–注意:绝对路径都是从“/”开始的,所以第一个字符一定是“/”。

相对路径:

–相对路径是指目标目录相对于当前目录的位置。

–如果不在当前目录下,则需要使用两个特殊目录“.”和“..”了。目录“.”指向当前目录,而目录“..”。

通配符:

–与DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

–Unix/Linux系统中的通配符除了“*”和“?”以外,还可以是使用“[”、“]”和“-”组成字符组,以便确定需要匹配的范围。

–通配符*:可以代表文件名中的任意字符或字符串,但不能与句点打头的文件名匹配。

-在Unix/Linux系统中以句点打头的文件是隐藏文件。

通配符?

–可以代表文件名中的任意一个字符。

通配符“[”、“]”、和“-”

–用于构成字符组。“[”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

-例如,[abc]表示匹配a、b、c中的任意一个,[a-f]表示从a到f范围内的的任意一个字符。

转义字符\

–如果要使通配符作为普通字符使用,可以在其前面加上转义字符。

注意:当“-”处于方括号之外,或“?”和“*”处于方括号内时不用使用转义字符就已失去通配符的作用。

Windows的文件系统结构

–在Windows操作系统中,主分区与逻辑分区被称为驱动器,会被分配一个驱动器盘符(如C盘、D盘、E盘)

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示。

Unix/Linux文件系统

–和Windows操作系统类似,所有Unix/Linux的数据都是由文件系统按照树型目录结构管理的。

-而且Unix/Linux操作系统同样要区分文件的类型,判断文件的存取属性和可执行属性。

Unix/Linux也采用了树状结构的文件系统,它由目录和目录下的文件一起构成。

-但Unix/Linux文件系统不使用驱动器这个概念,而是使用单一的根目录结构,所有的分区都挂载到单一的“/”目录上,其结构示意图如图所示。

常见的Unix/Linux系统目录如下:

–/:Unix/Linux系统的根目录,包含Unix/Linux系统的所有目录和文件。

–/etc:有关系统设备与管理的配置文件。

–/sbin:存放系统启动时所需的运行程序。

–/bin:该目录中含有常用的命令文件。

–/usr/local:存放用户后期安装的应用程序文件。

–/root:超级用户主目录。

–/dev:接口设备文件目录,保存外围设备代号。

–/home:用户的宿主目录,通常将其设置在独立的分区。

Unix/Linux存储设备的命名

–PC机上最多有4个IDE设备,可能是磁盘,也可能是CD/DVD设备。

–在Unix/Linux中,对于IDE磁盘,使用“hd”表示,并且在“hd”之后使用小写字母表示磁盘编号。

–磁盘编号之后是分区编号,使用阿拉伯数字表示。主分区的编号依次是1~4,扩展分区上的逻辑分区编号从5开始。

–SATA和SCSI磁盘共同使用“sd”表示。常用存储设备的名称表示如表所示。

Unix/Linux文件的命名规则:

–(1) 文件名最长可以达到256个字符,可由A~Z、a~z、0~9、.、-、_、等符号组成。

–(2) 文件名区分大小写。

–(3) 文件没有扩展名的概念。

–(4) 使用“/”作为根目录和目录层之间的分隔符。

–(5) 支持相对路径和绝对路径。

在Unix/Linux操作系统中也必须区分文件类型,通过文件类型可以判断文件属于可执行文件、文本文件还是数据文件。

在Unix/Linux系统中文件可以没有扩展名。

通常,Unix/Linux系统中常用的文件类型有5种:

普通文件、目录文件、设备文件、管道文件和链接文件。

普通文件:

–普通文件是计算机操作系统用于存放数据、程序等信息的文件,一般都长期存放于外存储器(磁盘、磁带等)中。

–普通文件一般包括文本文件、数据文件、可执行的二进制程序文件等。

–在Unix/Linux中可以通过file命令来查看文件的类型。如果file文件后面携带文件名,则查看指定文件的类型,如果携带通配符“*”,则可以查看当前目录下的所有文件的类型。

目录文件:

–Unix/Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。

–目录文件只允许系统管理员对其进行修改,用户进程可以读取目录文件,但不能对它们进行修改。

–每个目录文件至少包括两个条目,“..”表示上一级目录,“.”表示该目录本身。

设备文件

–Unix/Linux系统把每个设备都映射成一个文件,这就是设备文件。

–它是用于向I/O设备提供连接的一种文件,分为字符设备和块设备文件。

–字符设备的存取以一个字符为单位,块设备的存取以字符块为单位。

-每一种I/O设备对应一个设备文件,存放在/dev目录中,如行式打印机对应/dev/lp,第一个软盘驱动器对应/dev/fd0。

管道文件

–管道文件也是Unix/Linux中较特殊的文件类型,这类文件多用于进程间的通信方面。

文件权限

–文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。

–Unix/Linux文件安全模型

–Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。

–为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

–Unix/Linux系统中,用户对文件的文件读写权限包括3种,分别是读权限、写权限和可执行权限。

读权限(r):

–允许用户读取文件内容或者列目录。

写权限(w):

–允许用户修改文件内容或者创建、删除文件。

可执行权限(x):

–允许用户执行文件或者运行使用cd命令进入目录。

注意:通常,Unix/Linux系统只允许文件的属主或超级用户改变文件的读写权限。

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu

您好!请登录

合作网站快捷登录:
点击取消回复

已有0评论

    大宇博客

    点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息