热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?:设置软连接

题主一共有三个问题:Linux文件类型有什么设置软连接?如何修改文件权限?软链接和硬链接的区别是什么?我想第一个问题想要问的是Lin

题主一共有三个问题:

Linux文件类型有什么设置软连接?如何修改文件权限?软链接和硬链接的区别是什么?

我想第一个问题想要问的是Linux的文件系统类型是什么?因为如果说单个文件本身的类型的话设置软连接,不是由Linux来决定的,而是由创建这个文件的应用程序决定的,跟windows一样,.txt

.pdf

.doc

.xls

等等.... 无法穷举设置软连接,如果是Linux文件系统的类型的话,这个问题就有意义了,因为文件系统是由操作系统本身决定的,下面我来一一回答这三个问题:

第一个问题设置软连接,Linux的文件系统类型有什么?

首先设置软连接,我们来说一下我们如何用最简单的查看一个Linux的文件系统类型,假设你现在已经登录到了一个台Linux系统(比如CentOS/Ubuntu等),并打开了一个命令行窗口,那么只要用一个简单命令即可:mout, 就这个命令

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

红线标注的地方就是Linux的文件系统类型设置软连接,叫做ext4, 啥意思啊?它的中文翻译是第四代拓展文件系统,英文原文是 Fourth extended filesystem, 缩写成ext4.

为什么突然出来一个ext4第四代呢?有1,2,3代吗? 有设置软连接

Linux发展到今天一共经历了4代文件系统的更替,当然是一代比一代好设置软连接

第一代ext, 1992年4月发布,居于Unix的文件系统做了一些优化,主要还是采用Unix文件系统的元数据结构,因为支持的文件系统大小不是太理想,现在已经基本上不用设置软连接

第二代ext2, 1993年发布,它在一代的基础上做了增强,文件系统支持大到2TB, 在Linux的内核发布到2.6的时候,它最大可以支持32TB的大小, 文件系统也比较高效稳定,所以使用了很长一段时间,弱点是非正常关机导致文件系统损坏(几率非常大)设置软连接

第三代ext3, 从ext2发展而来设置软连接,主要加入了日志功能,高可用性进一步提高:

高可用性:系统使用了ext3文件系统后,即使在非正常关机后,文件系统也不容易损坏设置软连接

数据的完整性:避免了意外宕机对文件系统的破坏设置软连接

文件系统的速度:ext3的日志功能对磁盘的驱动器读写头进行了算法优化设置软连接,性能有所提升

兼容性:由ext2文件系统转换成ext3文件系统非常容易

第四代ext4, 现行文件系统类型设置软连接,其实是ext3的改进版,在ext3的基础上提供更佳的性能和可靠性,也提供了更多的功能

改进一,单个文件可以达到16TB, 而ext3单个文件最多2TB设置软连接

改进二,无限多个子目录支持,而ext3最多只能支持约32000个子目录,有人说32000个够用了啊,是的,对你够但对工程应用远远不够设置软连接

改进三,采用现代文件系统的extents理念,每个extent为一组连续数据块使得读写更加流畅顺滑,提高性能设置软连接

改进四,多块分配(multiblock allocator), 一次程序调用可以分配多个数据块,简化了调用控制流程,效率更高设置软连接

改进五设置软连接, 在线数据整理.....

所以它是现行linux文件系统,大数据系统hadoop的最最底层也是使用ext4作为物理存储,当然它还加上了软件定义存储的理念,所以可以无限拓展设置软连接

关于Linux的文件系统类型大概是这些,还有其他的方向等待其他的答主补充设置软连接

第二个问题设置软连接,如何修改文件系统的权限?

很简单设置软连接,登陆到命令行窗口

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

这里我建了一个目录叫做demo, 和一个文件叫做

demofile.txt

, 用ls -l 命令查看他的权限设置软连接,我们可以看到有-rw- r-- r-- 的标记,意思是目前这个文件的权限是:文件拥有者(Owner)拥有读写的权限rw- ,跟Owner同一个工作组的成员只有只读的权限 r-- ,其他用户也只有只读的权限r--,那么下面我们来改变它的权限分配,给同工作组的成员也加上可写的权限,因为他们有可能要跟我一起共同编辑这个文件,做法如下:

chmod g=rw demofile.txt

设置软连接,就是这么简单

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

g代表group就是组的意思设置软连接,chmod是专门用来改变文件和目录权限的命令,g=rw就是让组成员拥有rw即读写的权限,另外还可以把执行权限赋给组成员,这样做:chmod g=rwx demofile.txt

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

这样做之后我们查看文件发现组的权限变成了rwx 同时文件变绿了,x代表这个文件是可以被执行的,当然执行什么内容要自己往文件里面添加设置软连接

比如我们想要让其他用户也拥有读取和执行的权限,这样做:chmod o=rx demofile.txt, o代表others的意思设置软连接

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

用同样的方法可以改变其他权限设置软连接,比如改变自己的权限,给自己添加该文件的可运行权限:

chmod u=rwx

demofile.txt

,这样自己也有运行权限了设置软连接

改变文件的权限基本上就是这么简单设置软连接,就一个命令 chmod.

第三个问题设置软连接,软链接和硬链接的区别是什么?

为了说清楚这个事情我们最好还是动手建立一个软连接和一个硬链接吧设置软连接,凭空说很抽象,创建软连接和硬链接的方法如下:

Linux文件类型有什么?如何修改文件权限?软链接和硬链接的区别是什么?

图中我们看到设置软连接,当我们用ls -li 查看目录下的文件时,我们发现很有意思的事情,我们发现文件file1的编号和硬链接名称f1的编号是一样的是吧?而软连接f2跟file1的编号是不一样的,差别就在这里:

这个编号就是linux文件系统里面大名鼎鼎的inode,中文可以翻译成索引节点设置软连接

那差别在什么地方呢?是这样的,现在f1是file1的硬链接,从文件系统的角度看,f1和file1是完全对等的,相当于同一个数据块有两个不同的文件名称,他们都指向系统中的同一个存储块,你这个时候如果删掉file1的话,f1同样可以访问,你删掉f1的话file1也同样可以访问,东西都还在,不影响设置软连接。但软连接就不一样了,如果你这个时候删除file1那么软连接f2就不可访问了,也就是它找不着数据块了,变空了。

Linux里面对于每个文件都给了一个唯一编号inode index, 但允许一个文件存在两个或多个不同的名字,指向同一个存储空间,他们是完全平等的,互不干扰设置软连接。而Linux系统在真正删除一个文件的磁盘内容的时候它会判断是否还有使用同样inode的文件名指向这个数据块,如果还有,数据块就不会被删除,如果没有了就真删除。

软连接简单的可以理解成只是原文件的一个快捷方式,在创建软连接的同时会创建一个与源文件不同的inode, 它是通过源文件的其中一个文件名间接找到数据块的,相当于 f2-->file1--> data block, 现在你删除了file1这个文件名,那么连接就从中间断开了,快捷方式就没有地方可以指向了,所以就空了,差别就在这里设置软连接

希望能帮到你更好的理解linux的文件系统设置软连接

补充一句人话:

硬链接是每个连接名(可以理解为文件名)直接指向数据块本身,所以他们拥有相同的inode编号设置软连接

软连接是通过数据块的其中一个文件名作为中介转连接到数据块的,它跟数据块本身没有直接关联,所以使用不同的inode编号,区别在这设置软连接

我发现工作中很多系统管理员和开发人员都没有真正的理解这二者之间的差别设置软连接


推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • QQ推出新功能:个性化QID身份卡
    您是否还记得曾经风靡一时的即时通讯工具QQ?近日,QQ悄然上线了一项新功能——QID身份卡。这项功能将如何改变用户的社交体验?本文为您详细解读。 ... [详细]
author-avatar
北京草舞945share
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有