linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)...

在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数。那么这个连接数是干什么的?这就要理解inode。

先说一下文件是怎么存储的。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。"块"的大小,最常见的是4KB,即8个“扇区”组成一个“块"。文件数据都储存在“块”中,那么就得有个地方来储存文件的信息(比如创建者,创建时间等),这个区域就叫“inode”,即索引节点。

当创建一个文件时,系统分配一个inode及能够装载文件大小的blocks给它,inode记录文件的属性,包括block的位置,block记录文件内容。

当创建一个目录时,系统分配一个inode和一个block,若此目录下的文件过多的话,会开辟一个新的block给它。inode记录目录的属性,block记录这个目录下的所有文件和子目录对应的inode,通过block可以找到某个文件的inode位置,从而找到文件内容。

这里可以通过“stat +文件名” 的命令来查看文件inode的信息,如下图:

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第1张图片

然而,在硬盘的同一个文件可以通过不同的路径来访问它。接下来要讲的软、硬连接就是建立在inode和block的关系之上。

硬连接:一般情况下,一个文件名对就一个inode,但Linux允许多个文件名对应同一个inode,也就是说通过不同的文件名可以访问同一个内容。删除一个文件名不影响其它文件名的访问。语法如下:

ln 源文件 目标文件(要创建的文件)

#这里只能是文件,不可以是目录

例如:

先查看一下当前一个叫yum.sh文档的连接数,如图所示为2

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第2张图片

执行添加硬连接的指令:

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第3张图片

执行指令之后,在打开目录可以发现,出现新的文件yum_hLink.sh

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第4张图片

再查看yum.sh的连接数,如下图所示,连接数增加了一个:

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第5张图片

软连接(或符号链接):若文件(目录)A是文件(目录)B的软连接,A的内容是B的路径,想当于A是B的快捷方式。当删除A时,不影响B的访问;当删除B时,就会报错。

语法:

ln -s 源文文件或目录 目标文件或目录

#软连接可以是目录

例如,test 是一个目录:

499f7a8efd24152de3be38986c69d456.png

执行指令后,当前目录下多了一个test_sLink目录

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第6张图片

查看连接数,发现test 目录的连接数并没有增加,而test_sLink 以 "->"形式来表示是test的软连接:

linux shell目录管理,【Linux】Shell学习笔记之四——文件和目录管理(硬连接和软连接)..._第7张图片

CentOS学习笔记--基本命令--文件与目录管理

Linux基本命令--文件与目录管理 本节节选自鸟哥的 Linux 私房菜 -- 基础学习篇目录  第七章.Linux 文件与目录管理  ls(文件与目录的检视) ls命令就是list的缩写,ls可以 ...

linux系统学习笔记:文件、目录、用户

本篇主要从stat函数开始,逐个说明stat结构的每一个成员,以此来了解文件的所有属性.同时将说明修改这个属性的各个函数. 一.文件 使用stat函数族得到和文件有关的信息结构. #include & ...

Linux System Programming 学习笔记(八) 文件和目录管理

1. 文件和元数据 每个文件都是通过inode引用,每个inode索引节点都具有文件系统中唯一的inode number 一个inode索引节点是存储在Linux文件系统的磁盘介质上的物理对象,也是L ...

Linux系统学习笔记:文件I/O

Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

Linux命令工具基础02 文件及目录管理

文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理 ...

Linux Shell 学习笔记 一 目录结构

以Red Hat Enterprise Linux 各版本为例,RHEL中目录具体作用如下, /bin       存放普通用户使用的命令 /sbin     存放管理员可以执行的命令 /home   ...

Linux学习笔记05—文件与目录权限

1. 绝对路径与相对路径绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径相对路径:路径的写法不是由根目录 ‘/’写起,例如:首先用户进入到/, 然后 ...

linux shell 学习笔记--文件测试符

. 文件测试操作 ---------------- 返回true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个re ...

FAT文件系统规范v1.03学习笔记---4.文件和目录数据区之长目录项

1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ...

随机推荐

svn patch

生成patch文件: svn diff > patchFile // 整个工程的变动生成patch 或svn diff file > patchFile // 某个文件单独变动的patch ...

剑指Offer 合并两个排序的链表

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.   思路: 用2个新节点,一个用来存放新链表的头节点,另一个用来移动.当p1,p2有一个到尾部的 ...

debain 解决无法显示中文

首先先配置编码:vim /etc/locale.gen  去掉前面的# en_US.UTF-8 UTF-8 zh_CN GB2312 zh_CN.GBK GBK zh_CN.UTF-8 UTF-8 然 ...

BZOJ 4086: [Sdoi2015]travel(SDOI2015 round2 day1)(分类讨论+容斥原理)

描述:给定一张图(n<1000,m<5000)求有多少点对u,v有不重复经过其他点,共经过k个点的路径.(k<=7) 这个做法应该不是正解吧..顺便说下SDOI的几道题在BZ上都要卡 ...

Vuethink正确安装过程

1.      下载项目vuethink,本例将项目放置website文件下. 2.      后台搭建 本地建站–>以phpstudy为例 1)      新建站点域名

ios7内购、Game Center 实现 in-App Purchases &; Game Center

你可能感兴趣的:(linux,shell目录管理)