位置: IT常识 - 正文

linux下普通文件和目录文件区别详解(.linux文件)

编辑:rootadmin
今天小编将要为大家带来的是linux下普通文件和目录文件区别详解!希望对大家会有帮助,有需要的朋友一起去看看吧... 17-03-20

推荐整理分享linux下普通文件和目录文件区别详解(.linux文件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux的文件,linux的文件格式有哪些,linux中的文件,linux的文件,.linux文件,linux的文件,linux常规文件,linux常规文件,内容如对您有帮助,希望把文章链接给更多的朋友!

文件权限一般可认为是0 123 456 789,一共十位:

0:表示该文件的文件类型。Windows里面是使用了一种文件关联的技术,通过扩展名来关联相应的应用程序,使得双击某个文件,就能达到调用相应的应用程序来打开它的目的,这样简单快捷。然而对于用户来说,好处是方便,坏处是隐藏了一个实质性的东西:文件的真正的类型,与其扩展名实际上是毫无关联的。

举例来说:一个纯粹的文本文件,我可以给它命名“我的歌声里.mp3”,然后在win下双击,会调用相应的音乐播放器来打开,结果显而易见,肯定是错误的。那反过来,一个真正的MP3文件我也可以给它命名“花名册.txt”,在win下双击,一般会调用相应的文本编辑器来打开,不过我说你也知道,显示的一定是乱码。

上面两个例子是为了说明一个观点,某个文件真正的类型与其扩展名没一毛钱关系。

那么在不知道文件扩展名的情况下,如何知道文件的类型呢?在Linux是这样的。

Linux中文件类型只有以下这几种:

1.-,普通文件。

2.d,目录文件,d是directory的简写。

3.l,软连接文件,亦称符号链接文件,s是soft或者symbolic的简写。

4.b,块文件,是设备文件的一种(还有另一种),b是block的简写。

5.c,字符文件,也是设备文件的一种(这就是第二种),c是character的文件。

Linux系统最原始的也只有这五种,所以第0位,只能是以上五者之一。

那么你会有疑问,

1.MP3文件是是哪种?答案:普通文件。

2.二进制文件是哪种?答案:普通文件。

3.文本文件是哪种?答案:普通文件。

4.为什么硬连接没有类型表示?答案:硬连接和软连接,名字上虽然只差一个字,本质完全不同,硬连接也是文件。其类型是普通文件。

为什么上面要说这么多呢?目的是为下文做知识铺垫。

那么 123-456-789 都好说,了解这块儿的人都知道,他们只是 用户-属组-其他 这三组之间的区别,我们拿其中任意一组作为例子来讲解rwx皆可。

r:read,w:write,x:execute。

我们应该如何去记忆这两者之间的区别呢??难道死记硬背?NO。

我们应该知其然还得知其所以然,下面我试图从这查询文件以及内容的本质出发,来阐述rwx权限在这两者身上为何有不同的意义!

理解下面的所说的,需要关于Linux的文件系统的知识做铺垫。如果不知道inode这个概念,基本上就会很吃亏了。

再次强调,文件的内容和该文件当时所用的文件名毫无关联;该文件的类型,也与该文件当时的文件名,毫无关系。

查看一个文件的内容,实际上是这样的一个过程:

举例来说,你用了这个命令:cat /tmp/abc.txt

1.你只传递了一个绝对路径,/tmp/abc.txt,系统首先要知道/tmp/abc.txt文件的inode是多少才行,如何得知呢?

2.记住一个规律,某文件的父目录会(记录)知道该文件的inode号!(此刻我想你是不是悟出一点什么了,不用急,接着往下看)

3.那么我得到“/tmp/abc.txt”这个文件名,我得先知道/tmp目录的情况,要知道/tmp目录的情况,我得先知道/目录的情况,所以我就可以从/目录开始(假设/目录的inode号是0,并且这是写死的),然后再去一张叫做inode-table的表中查找inode号0所指向的数据域,然后从数据域里面可以找到一些类似于下面的内容:(看起来像一张表,不是么?其实可以想象到,目录文件就是一张表,存储了它内部有哪些文件名,以及该文件名对应的inode号)

文件名 inode号

bin 18

var 19

tmp 20

... ...

好了,我们从“/”,这个目录文件中找到了“/tmp”文件名对应的inode号,就是20。(假设啊)

4.然后我们通过inode号20,去inode-table里面找寻20对应的数据域,然后从数据域中,我们又会找到一张表:(为什么又是表呢?因为“/”是一个目录,“/tmp”也是一个目录,那当然数据域里面存的还是表啦)

linux下普通文件和目录文件区别详解(.linux文件)

文件名 inode号

abc.txt 8899

bbb.mp3 10088

kkk.jpg 20000

... ...

好了,我们找到了/tmp/abc.txt的inode号了,就是8899。根据上面的规律,我们是不是又得去inode-table里面找8899号对应的数据域了?对,就是这样。

5.我们找到inode号8899对应的数据域,于是我们会发现如下一些内容:

“abcdefg”(假设文件内容就是这样)

...

又有疑问了,为毛这次不是表了?

答案:/tmp/abc.txt文件不是目录文件了,它是一个普通文件,他存储的一般都是一些字符串。

体现在本质上:

普通文件:存储普通数据,一般就是字符串。

目录文件:存储了一张表,该表就是该目录文件下,所有文件名和inode的映射关系。

从父目录中获得本文件的inode号---->找到inode-table表中找到这个inode号对应的数据域中的起点以及其他信息---->去这个数据域中读取该文件的内容(普通文件的内容一般是字符串,目录文件的内容是一张表)

如果你真心看懂上面我说的了,那么接下来就变得简单多了。

关键就是访问任何一个文件,要看是否能搞到inode号,搞不到就没辙了。搞到inode就好说了,拿着inode号去inode表中查找即可,最后找到数据域,那么就可以找到文件的内容了

然后整个过程这不仅仅跟本文件权限有关,还跟它的父目录(还有父目录的父目录...)权限有关(是否能搞到本文件的inode)

体现在命令上:(话说这才是最实际的表象)

======

对于普通文件来说,rwx的意义是:

r:可以获得这个普通文件的名字和内容。

w:可以修改这个文件的内容和文件名。可以删除该文件,但是用户会得到是否删除写保护文件的prompt。

x:该文件是否具有被执行的权限。

======

对于目录文件来说,rwx的意义是:

r-x:可以进入cd该目录,可以获得该目录下存储情况,但是不能修改这个目录内部存储的文件(目录)的名字,也不能在该目录下新建文件和目录

-wx:可以进入cd该目录,但是看不到该目录下的存储情况(ls不可用),可以往该目录下添加、修改、删除文件。可以通过cat来读取该目录下的文件or目录的内容,由于得不到该目录下存储了那些文件,在不知情的情况下只能通过猜,cat + 文件名获得文件内容,所以这样依然不保密。

--x:可以进入cd该目录,看不到存储情况,也不能往该目录下添加、修改、删除文件。但是依然可以通过cat + xx(猜)来获得该目录下的文件的内容。

rw-:不能进入cd该目录,用ls仅仅可以获得文件名和目录名,因为获取不到这些文件的inode号,当然也不能获得该目录下的文件的内容。不能往该目录下添加、修改、删除文件。

======

最后总结一下吧:

1.目录文件虽然是文件(唉,谁叫Linux的核心理念就是Everything is file),但是存储内容的只是一张表而已,关于文件名和inode号的映射关系。

2.文件的扩展名和文件类型之间,没一毛钱关系。

3.文件的文件名和文件实际存储内容之间,没一毛钱关系。

4.要知道如何查找到一个文件内容的过程。

5.为什么同一个文件系统移动文件要比跨文件系统快?

答:因为只需要修改某个目录中路径和inode对应关系即可,不需要重新写一遍数据域。

6.什么是买来的500G的硬盘,格式化完后总是少了达不到500G?

答:从本文可知,inode-table也是需要占用存储空间的,所以缺少的一部分中inode-table占用了不少。

本文链接地址:https://www.jiuchutong.com/zhishi/277004.html 转载请保留说明!

上一篇:如何解决Win10插了耳机电脑还是外放?(win10插usb没有反应)

下一篇:利用linux命令行工具进行文本行过滤的方法(linux命令行怎么用)

  • 开始菜单快捷方式是什么(开始菜单在左边)(开始菜单快捷方式和桌面快捷方式)

    开始菜单快捷方式是什么(开始菜单在左边)(开始菜单快捷方式和桌面快捷方式)

  • 苹果13怎么下载软件(苹果13怎么下载软件为什么获取不了)

    苹果13怎么下载软件(苹果13怎么下载软件为什么获取不了)

  • 小红书怎么隐藏关注列表(小红书怎么隐藏访客记录)

    小红书怎么隐藏关注列表(小红书怎么隐藏访客记录)

  • 怎样设置朋友圈的公开权限(怎样设置朋友圈权限)

    怎样设置朋友圈的公开权限(怎样设置朋友圈权限)

  • 漫步者耳机怎么恢复双耳模式(漫步者耳机怎么恢复出厂设置)

    漫步者耳机怎么恢复双耳模式(漫步者耳机怎么恢复出厂设置)

  • 华为手机怎么退出超级终端(华为手机怎么退出盲人模式)

    华为手机怎么退出超级终端(华为手机怎么退出盲人模式)

  • 微信无法使用当前wlan(微信无法使用当前wlan网络连接)

    微信无法使用当前wlan(微信无法使用当前wlan网络连接)

  • 抖音怎么设置不在线状态(抖音怎么设置不让别人评论)

    抖音怎么设置不在线状态(抖音怎么设置不让别人评论)

  • 金百达kp330和kp320区别(金百达kp330和kp320)

    金百达kp330和kp320区别(金百达kp330和kp320)

  • 三星note8黑屏但屏幕可触动(三星note8屏幕黑屏能触)

    三星note8黑屏但屏幕可触动(三星note8屏幕黑屏能触)

  • 手机相机不能聚焦了怎么办(手机相机不能聚焦了很模糊晃动)

    手机相机不能聚焦了怎么办(手机相机不能聚焦了很模糊晃动)

  • 屏蔽此人消息还能收到对方信息吗(屏蔽此人消息还能看见吗)

    屏蔽此人消息还能收到对方信息吗(屏蔽此人消息还能看见吗)

  • 苹果耳机反磁是什么意思(苹果蓝牙耳机反磁坏了怎么修理)

    苹果耳机反磁是什么意思(苹果蓝牙耳机反磁坏了怎么修理)

  • 微信号注销了还能搜索到吗(微信号注销了还能查到个人信息吗)

    微信号注销了还能搜索到吗(微信号注销了还能查到个人信息吗)

  • 电池老化怎么办(华为手机电池老化怎么办)

    电池老化怎么办(华为手机电池老化怎么办)

  • 为什么手机换完屏幕后就不灵敏了(为什么手机换完屏之后特别热)

    为什么手机换完屏幕后就不灵敏了(为什么手机换完屏之后特别热)

  • 小米手环4检测不到午睡(小米手环4检测不到心率)

    小米手环4检测不到午睡(小米手环4检测不到心率)

  • 数组名是一个不可变的什么量(数组名不可以自加怎么理解)

    数组名是一个不可变的什么量(数组名不可以自加怎么理解)

  • ps发散光线怎么做(ps如何做散发的光线)

    ps发散光线怎么做(ps如何做散发的光线)

  • 手机后台运行在哪里找(vivo手机怎么关闭正在运行的程序)

    手机后台运行在哪里找(vivo手机怎么关闭正在运行的程序)

  • 探探如何加微信不封号(探探怎么加好友聊天啊)

    探探如何加微信不封号(探探怎么加好友聊天啊)

  • 华为手机拼图在哪里(华为手机拼图在哪里找到)

    华为手机拼图在哪里(华为手机拼图在哪里找到)

  • 微信一天能加多少人有限制吗(微信一天能加多少人不会被限制)

    微信一天能加多少人有限制吗(微信一天能加多少人不会被限制)

  • 苹果xr手机主副卡设置(苹果XR手机主副好打电话怎么切换)

    苹果xr手机主副卡设置(苹果XR手机主副好打电话怎么切换)

  • 南佛罗里达的一只穴小鸮雏鸟和一只成年穴小鸮,美国 (© Carlos Carreno/Getty Images)(佛罗里达naples)

    南佛罗里达的一只穴小鸮雏鸟和一只成年穴小鸮,美国 (© Carlos Carreno/Getty Images)(佛罗里达naples)

  • 基于随机森林的特征选择-降维-回归预测——附代码(基于随机森林的气温预测)

    基于随机森林的特征选择-降维-回归预测——附代码(基于随机森林的气温预测)

  • 可以出口的商品
  • 个税放在哪个科目核算
  • 对公账户转到个人账号能提供发票吗?
  • 增值税纳税申报表附列资料(三)
  • 制作费开票属于什么科目
  • 购货方收到红字发票
  • 油卡预付款可以报销吗
  • 小规模纳税人未开票收入如何填申报表
  • 促销费可以开专票吗
  • 外购动力的分录
  • 资本溢价能不能退还股东呢
  • 财政部颁布的具体准则
  • 股东收取了公司的货款
  • 转出未交增值税借方余额怎么处理
  • 房地产开发成本费用明细表
  • 全额拨款事业单位工会经费来源
  • 营改增后哪些费用可以抵扣
  • 城建税税收减免政策
  • 一般纳税人企业所得税政策最新2023税率
  • 所得税调增调减项目
  • 用友填制凭证外币科目没弹出
  • 建筑工程甲方提供给乙方的材料
  • 企业购买自行车记账什么科目
  • 企业报税表
  • 受托加工金银首饰是否代征消费税
  • 金融机构在境外
  • 每个月的股利怎么计提?
  • 售后服务对客户满意度的影响论文
  • 电脑中了勒索病毒要报警吗
  • win10右键个性化打不开 没有与之关联程序
  • 在Linux系统中安装Samba服务器
  • php字符串函数大全
  • 买房 印花税
  • 美丽的大中华
  • 购物车html模板
  • 损失函数解读例题
  • 汽油增值税专用发票几个点
  • 经营租赁出租方的会计处理
  • 小规模纳税人征收方式
  • 出租设备折旧费用计入什么科目
  • 损益类科目增加记借方吗
  • 织梦cms怎么样
  • php swoole 协程
  • mysqli
  • 影响公司股利分成的因素
  • 含税与不含税的区别是什么
  • mysql命令行实用程序
  • 汇算清缴是怎么弄的
  • 销售货物增值税税率变化
  • 贷款利息进项税为什么不能抵扣
  • 企业将资金用于购买原材料属于什么过程
  • 发票遗失复印件可以入账吗
  • 防伪公司应该选用什么目标市场策略
  • 企业职工薪酬如何确定
  • 个人报销费用怎么做分录
  • 最新职工福利费列支范围
  • win10系统怎么设置不锁屏和休眠
  • win7z
  • mac safari浏览器翻译功能
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • 怎样设置ie8
  • windows8.
  • unity as
  • css隐藏显示元素的方法
  • js秒数转时间
  • jquery绑定keyup
  • 浅析学校德育的个体智能发展功能
  • python编码大全
  • python井字游戏
  • python socket用法
  • 使用SQLite数据库保存和处理数据
  • 北京电子税务
  • 发票系统怎么设置打印
  • 小规模纳税人怎么申报纳税
  • 税款所属期起怎么填写
  • 增值税差额征税什么意思
  • 国家管网集团下属企业
  • 预缴的税额可以用留底抵扣吗
  • 北京车船税新标准
  • 南宁市税务局稽查局领导
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设