目录

Linux文件系统的层次结构

Linux文件体系

Linux绝对路径和相对路径详解


Linux文件系统的层次结构

在Linux操作系统中,所有的文件和目录都被组织成以一个根节点"/"开始的倒置的树状结构

其中,目录就相当于Windows中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录,而文件中存储的是真正的信息。

文件系统的最顶层是由根目录开始的,系统使用"/"来表示根目录,在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含(子)目录或文件。如此反复就可以构成一个庞大的文件系统。

其实,使用者正树状、具有层次的文件结构主要目的是方便文件系统的管理和维护,想象一下,如果所有的文件都放在一个目录下,其文件系统的管理和维护将变成一场噩梦。

注意,目录名或文件名都是区分大小写的,如dog、DOG和Dog为3个不同的目录或文件。完整的目录或文件路径是由一连串的目录名所组成的,其中每一个目录由"/"来分隔。例如/home/cat

在文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点"."表示;另一个是当前目录的上一层目录,也叫父目录,用两个点".."表示。

如果一个目录或文件名是以一个点开始,就表示这个目录或文件是一个隐藏目录或文件。即以默认方式查找时,不显示该目录或文件。

Linux文件体系

Linux以文件的形式对计算机的数据和硬件资源进行管理,也就是彻底吃的一切皆文件,反映在Linux的文件类型上就是:普通文件、目录文件、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。而这些种类繁多的文件被Linux使用目录树进行管理,所谓的目录树就是以根目录(/)为主,向下呈现分枝状的一种文件结构。不同于纯粹的EXT2之类的文件系统,我把它称为文件体系,一切皆文件和文件目录树的资源管理方式一起构成了Linux的文件体系,让Linux操作系统可以方便使用体系资源。

所有文件系统比文件体系涵盖的内容少很多,Linux文件体系主要在于把操作系统相关的东西用文件这个载体实现: 文件系统挂载在操作系统上,操作系统整个系统又放在文件系统里。

Linux中的文件类型

1.普通文件(-)

从Linux的角度来说,类型MP4、pdf、html这样应用层面上的文件类型都属于普通文件

Linux用户可以根据访问权限对普通文件进行查看、更改和删除

2.目录文件(d)

目录文件对于用惯Windows的用户来说不太容易理解,目录也是文件的一种

目录文件包含了各自目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件,只要有访问权限,你就可以随意访问这些目录下的文件,但是只有内核的进程能够修改它们

虽然不能修改,但是我们能够通过vim去查看目录文件的内容

3.符号链接(l)

这种类型的文件类似Windows中的快捷方式,是指向另一个文件的间接指针,也就是我们常说的软链接

4.块设备文件(b)和字符设备文件(c)

这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到

比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件

系统中的所有设备要么是块设备要么是字符设备,无一例外

5.FIFO(p)

管道文件主要用于进程间通讯。比如使用mkfifo命令可以创建一个FIFO文件,启用一个进程A从FIFO文件里读数据,启动B进程往FIFO里写数据,先进先出,随写随读

6.套接字(s)

用于进程间的网络通讯,也可以用于本机之间的非网络通信

这些文件一般隐藏在/var/run目录下,证明着相关进程的存在

Linux的文件是没有所谓的扩展名的,一个Linux文件能不能被执行与它是否可执行的属性有关,只要你的权限中有x,比如[ -rwx-r-xr-x ]就代表这个文件可以被执行,与文件名没有关系。

不过,可以被执行跟可以执行成功不一样。比如在root主目录下的install.log是一个文本文件,修改权限成为 -rwx-r-xr-r 后这个文件能够真的被执行成功吗?

当然不行,因为它的内容根本就没有可以执行的数据。所以说,这个x代表这个文件具有可执行的能力,但是能不能执行成功,当然就得要看该文件的内容了。

虽然如此,不过我们仍然希望能从扩展名来了解该文件是什么东西,所以一般我们还是会以适当的扩展名来表示该文件时什么种类的。

所以Linux系统上的文件名真的只是让你了解该文件可能的用途而已,真正的执行与否仍然需要权限的规范才行。比如常见的/bin/ls 这个显示文件属性的指令要是权限被修改为无法执行,那么ls就变成不能执行了。这种问题最常发生在文件传送的过程中。例如你在网络上下载一个可执行文件,但是偏偏在你的 Linux 系统中就是无法执行,那就可能是档案的属性被改变了。而且从网络上传送到你 的 Linux 系统中,文件的属性权限确实是会被改变的。

Linux绝对路径和相对路径详解

绝对路径一定是由根目录/开始写起。例如,使用绝对路径的表示方式指明bin文件所在的位置,该路径应写为/usr/bin

bin
bash: bin: command not found
/usr/bin
bash:/usr/bin:is a directory 

如果仅传递给Linux系统一个文件名,它无法找到指定文件;而当将bin文件的绝对路径传递Linux系统时,它就可以成功找到

和绝对路径不同,相对路径不是从根目录/开始写起,而是从当前所在的工作目录开始写起,使用相对路径表明某文件的存储位置时,经常会用到当前目录(用.表示)和父目录(用..表示)

当我们使用root身份登录Linux系统时,当前工作目录默认为/root,如果此时需要将当前工作目录调整到root的子目录Desktop中,当然可以使用绝对路径

pwd
/root
cd /root/Desktop
pwd
/root/Desktop

可以看到,通过使用绝对路径,我们成功地改变了当前工作路径。但除此之外,使用相对路径的方式会更简单。因为目前处于/root的位置,而Desktop就位于当前目录下

pwd
/root
cd./Desktop
pwd
/root/Desktop

此代码中,./Desktop表示的就是Desktop文件相对于/root所在的路径

再举一个例子,如果以root身份登录Linux系统,并实现将当前工作目录由/root转换为/usr目录

使用绝对路径
pwd
/root
cd/usr
pwd
/usr
使用相对路径
pwd
/root
cd../usr
pwd
/usr

总之,绝对路径是相对于根路径/的,只要文件不移动位置,那么它的绝对路径是恒定不变的;而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。

Linux文件和目录管理(1)相关推荐

  1. 第七章、Linux 文件与目录管理

    第七章.Linux 文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH 2. ...

  2. 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理

    第七章.Linux文件与目录管理 最近升级日期:2009/08/26 在第六章我们认识了Linux系统下的文件权限概念以及目录的配置说明.在这个章节当中,我们就直接来进一步的操作与管理文件与目录吧!包 ...

  3. linux目录 文件 pdf,linux文件与目录管理.pdf

    实 验 报 告 实验名称: 实验 3 Linux 文件与目录管理 实验台号: 251 实验日期: 2016-04-18 学生姓名: 田苗苗 指导教师: 边继龙 专业班级: 2014 软件工程 2 班 ...

  4. Linux 文件与目录管理+用户管理命令(详解+练习)

    1. 创建目录 mkdir NO1. 在当前路径创建一级目录 [root@rehat root]# mkdir test NO2. 在当前路径创建多级目录 [root@rehat root]# mkd ...

  5. linux-basic(7)linux文件与目录管理

    [7.1]目录与路径 [7.1.2]目录相关操作 1)特殊目录列表: (1) 2)目录操作命令,底下我们就来谈一谈几个常见的处理目录的命令吧: cd:变换目录 pwd:显示目前的目录 mkdir:创建 ...

  6. Linux 文件与目录管理 | 菜鸟笔记收录

    Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...

  7. Linux 文件与目录管理,玩转文件和目录管理的相关命令

    Linux 文件与目录管理 Linux的目录结构为树状结构,最顶级的目录为根目录 / 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们 更新学习资料: https://edu.csdn. ...

  8. linux轮训创建文件夹,Linux文件和目录管理相关命令(三)

    通过前两篇的文章分享大家是否对Linux文件和目录管理的相关命令有所了解了呢?今天小编将继续为大家带来Linux文件和目录管理相关命令的第三篇文章,想要做Linux运维工程师的小伙伴,来看一看,希望能 ...

  9. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)

    今天小编将继续为大家带来Linux文件和目录管理相关命令的文章,想要做Linux运维工程师的小伙伴,来看一看,希望能对你有帮助哦~ 一 查看文件内容 上面提到的一些命令例如ls只是用来显示文件的属性与 ...

  10. Linux 文件和目录管理

    一.实验目的 回顾Linux 基础,复习Linux 的基本命令.熟练掌握Linux 文件和目录管理.文件内容查阅.文件权限查阅与文件查找等基本命令. 二.实验环境 工具软件:VMware 实验准备:虚 ...

最新文章

  1. Navisworks Api Quantification
  2. 解决oninput在输入中文时,会获取拼音的问题
  3. linux cpu平均利用率st,理解 CPU 利用率
  4. 想做个手机app,大家帮忙提些建议~thx
  5. HDU - 4569 Special equations(同余模定理)
  6. 作者:胡卫生(1964-),男,博士,上海交通大学教授、博士生导师,主要研究方向为下一代光接入网、光交换、光网络等。...
  7. FirefoxOS 1.2 on ZTE Open
  8. 训练日志 2019.2.14
  9. Python之HTML的解析(网页抓取一)
  10. openwabmail问题解决方法
  11. MySQL数据库中的删除命令:delete、truncate、drop
  12. 难道我们就是那0.0000001%
  13. 计算机可移动磁盘无法显示图片,电脑显示可移动磁盘但打不开
  14. 免费的NBA比赛结果接口
  15. 弹出启动windows安全中心服务器,win10系统启用windows安全中心服务器提示关闭的操作方法...
  16. 负面营销 —— 是饮鸩止渴还是引爆流量
  17. 基于opencv的MTF算法开发
  18. 桃花院长:怎么找对象?相亲过来人告诉你...
  19. 红帽牵手阿里云,水到渠成的合作
  20. phpstorm全局搜索

热门文章

  1. vue-recaptcha 谷歌机器人验证
  2. 今日学习的关于笔记本电脑和origin绘图的一些
  3. 五一出游,“我”的隐私被扒干净了
  4. Android系统安全机制
  5. 计算机访学面试,国家公派访问学者面试经典问题总结
  6. 【蓝桥杯】历届试题 数字游戏(C++)
  7. 三星java遗忘的勇士_顺位不高的无名小辈,敢打敢拼的悍将,永不放弃的代表人物!...
  8. Day 01嵌入式学习之Linux基础知识和命令操作
  9. 浣溪沙·江畔芦花【明书词两首】
  10. 功能测试的类型之Alpha和Beta测试