热门标签 | 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编号,区别在这设置软连接

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


推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 浙江大学2005–2006学年秋冬季学期《大学计算机基础》课程期末考试试卷开课学院:计算中心,考试形式:闭卷,允许带入场考试 ... [详细]
  • 前言:拿到一个案例,去分析:它该是做分类还是做回归,哪部分该做分类,哪部分该做回归,哪部分该做优化,它们的目标值分别是什么。再挑影响因素,哪些和分类有关的影响因素,哪些和回归有关的 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍在使用vmware中配置centos6.5时遇到的网络问题,包括host-only和natip的配置,以及无法上网的原因。同时提供了解决方法,包括去掉host-only配置文件中的gateway。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
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社区 版权所有