Linux文件类型及颜色标识

文件类型(共7种):

– :普通文件

d:目录文件 (directory)

c:字符设备文件 (char)

b:块设备文件 (block)

s:本地域套接口 (socket)

p:有名管道 (pipeline)

l:符号连接 (link)

关于硬链接、软连接、复制之间的区别说明:

Linux文件类型及颜色标识

上图中,我为photo.png这个图片文件建立了一个拷贝(photo-copy.png),一个硬链接(photo-hlink),一个软连接(photo-slink),用ls -il命令显示出他们的文件信息,下面我就进行下对比说明:

先对比复制版和硬链接(图中第一行和第二行)

可以看出两者的区别只在我画黄框的地方,这个黄框中的内容是iNode,通过和原文件photo.png对比,可以看出,硬链接photo-link和原文件的iNode相同,而复制版photo-copy.png与原文件iNode不同。这里的区别导致的现象是当你修改原文件时,photo-copy.png的内容不会发生改变,而photo-hlink会与原文件同时变化,反过来也是一样,修改photo-hlink原文件也会发生变化,而photo-copy.png不会改变。也就是说,原文件和photo-hlink还是同一个文件,而photo-copy.png已经是另一个文件了。还有一点区别在于,拷贝可以跨文件系统,而硬链接只能在一个文件系统内。

再对比下硬链接和软连接(图中第二行和第四行)

软连接更像windows里的快捷方式,可以看到黄框中,软连接和原文件的iNode的也不同,再看绿框中的内容,这列代表文件类型,软连接的文件类型是一个link类型,而硬链接的类型还是普通文件类型,再看红框中的内容,这列表示文件大小,可以看到软连接的文件大小只有9字节,说明它并不是一个文件的拷贝版本,而只是一个引用而已。软连接和硬链接都能启动并编辑程序,区别在于删除部分,删除原文件后,硬链接仍然可用,但软连接已经失效了。

总结:

拷贝:和我们正常理解的拷贝没有区别,与原文件大小相同,iNode是一份独立的文件,可以跨文件系统,原文件修改或删除对其都没有影响。

硬链接:也是一种拷贝,与原文件大小相同,但iNode与原文件相同,不可以跨文件系统,原文件内容修改,硬链接跟随会有相同的修改,原文件删除,硬链接仍然可用。

软连接:是一种应用,类似与windows的快捷方式,文件类型为l,大小很小,iNode与原文件不相同,可以跨文件系统,当原文件删除时,软连接将失效。

终端中文件的颜色:

蓝色:目录绿色:可执行文件;红色:压缩文件;浅蓝色:链接文件;灰色:其他文件;红色闪烁:链接的文件有问题了黄色:设备文件。紫色:图片文件。

原创文章,作者:yangtian,如若转载,请注明出处:http://www.178linux.com/52278

(0)
yangtianyangtian
上一篇 2016-10-16
下一篇 2016-10-16

相关推荐

  • 马哥教育网络班21期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ~]# fdisk &n…

    Linux干货 2016-08-30
  • linux高级文件管理系统

    磁盘配额:    linux是一个多用户的系统,磁盘配额是分配给每个用户的磁盘可用空间的限制。每一用户只能使用最大配额范围内的磁盘空间。root是不受配额限制的,只有普通用户才受限制。   Quota是在RedHatlinux下实现linux磁盘配额的工具,它支持单独的挂载文件系统,而不是一个目录。quota默认是安装的,如果没…

    Linux干货 2016-09-02
  • Puppet学习之puppet的安装和配置

    一、Puppet简介 Puppet基于ruby语言开发的自动化系统配置工具,可以C/S模式或独立运行,支持对所有UNIX及类UNIX系统的配置管理,最新版本也开始支持对Windows操作系统有限的一些管理。Puppet适用于服务器管的整个过程 ,比如初始安装、配置更新以及系统下线。 二、Puppet的安装 Puppet的安装方式支持源码安装、yum安装以及r…

    2017-09-25
  • shell编程中的三种流程控制

    流程控制 v 一 、过程式编程语言: 1.顺序执行 2.选择执行 3.循环执行  条件选择if 语句   选择执行:   注意: :if 语句可 嵌套    单分支 if 判断条件;then 条件为真的分支代码 fi    双分支 if 判断条件; then …

    Linux干货 2016-08-21
  • linux的内建命令和外部命令

    摘要:    Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但是其工作机制相差很大。本文就内建命令和外部命令做一下介绍。 一、内部命令(内建命令)    内部命令,实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shel…

    Linux干货 2016-10-18
  • Java线程

    线程是一个单独程序流程。多线程是指一个程序可以同时运行多个任务,每个任务由一个单独的线程来完成。也就是说,多个线程可以同时在一个程序中运行,并且每一个线程完成不同的任务。程序可以通过控制线程来控制程序的运行,例如线程的等待、休眠、唤起线程等。本章将向读者介绍线程的机制、如何操作和使用线程以及多线程编程。  1. 线程的基本知识   &nb…

    2015-06-08