系统链接文件

文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata)

用户数据:文件数据块(data block),数据块是记录文件真实内容的地方,我们将其称为Block

元数据:文件的附加属性,例如:文件大小,创建时间,属组,属主...等,我们称其为Inode 元数据所占的磁盘空间叫inode,真实数据所占的磁盘空间叫block

block 是有单位的,一个block 是4 k,他的大小是可以修改的

小文件过多,可能导致inode空间被占满,这样block 就不能使用了

小文件过多也会导致很多block没有被占满

小文件过多,inode先被占满,文件很大,block先被占满

磁盘清理是释放没有占满的block,并不会删除用户的真实数据

区别

1. 创建命令不同

硬链接: ln 源 目标 (目标指向源)

软链接: ln -s

2. ⽬录⽆法创建硬链接,可以创建软链接,硬链接不能跨系统的分区,软链接可以

3. 硬链接⽂件与源⽂件的inode号相同,软链接不同

4. 软链接如果删除源⽂件,所有软链接⽂件失效,硬链接如果删除源⽂件,其他硬链接⽂件均可以

硬链接和源文件是无法区分的,两个文件具有相同的大小、创建时间等信息

df -h 使用了 -h 选项,因此文件系统的各种容量数据,会以人们习惯的单位(通常使用 GB 或 MB kb)显示出来

df -i 不用硬盘容量显示,而是以含有 inode 的数量来显示

在Linux中,inode是文件元数据的一部分,但其并不包含文件名(文件名在本地的数据库里面),inode号即索引节点号

文件名仅是为了方便人们的记忆和使用,系统或者程序通过inode号寻找正确的文件数据块。

软链接(符号链接) 软链接相当于windows的快捷⽅式(一个inode号指向另一个不同的inode号),软链接⽂件会将 inode 指向源⽂件的 block 1.那么当我们对⼀个⽂件创建多个软链接时,其实就是多个 inode 指向同⼀个 block 。 2.那么当我们 删除软链接⽂件时,其实只是删除了⼀个 inode 的指向,并不会对源⽂件造成影响。 3.如果我们删除的 是源⽂件,那么该⽂件的所有软链接⽂件都会失效。

硬链接

若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名

cp和硬链接的区别

cp拷贝的源文件和目标文件inode号不同,硬链接文件与源文件inode号相同,cp拷贝的源文件和目标文件的硬链接数是1,硬链接文件的硬链接数是2

软链接的作用

1.软件升级

目录--升级 一次处理多个指向问题

[root@oldboy ~]# mkdir /app

[root@oldboy ~]# mkdir /app/nginx-1.16.1

[root@oldboy ~]# ln -s /app/nginx-1.16.1/ /app/nginx 链接文件不存在才能创建软连接

[root@oldboy ~]# cd /app/

[root@oldboy app]# ll

total 0

lrwxrwxrwx 1 root root 18 May 1 09:20 nginx -> /app/nginx-1.16.1/

drwxr-xr-x 2 root root 26 May 1 09:22 nginx-1.16.1

[root@oldboy app]# mkdir nginx-1.17.2 wget下载新版本nginx

[root@oldboy app]# ll

total 0

lrwxrwxrwx 1 root root 18 May 1 09:20 nginx -> /app/nginx-1.16.1/

drwxr-xr-x 2 root root 26 May 1 09:22 nginx-1.16.1

drwxr-xr-x 2 root root 6 May 1 09:28 nginx-1.17.2

[root@oldboy app]# rm nginx

[root@oldboy app]# ln -s nginx-1.17.2/ nginx 删除旧的软连接,创建新的软连接,如果删除源文件,链接高亮闪烁,失效

[root@oldboy app]# ll

total 0

lrwxrwxrwx 1 root root 13 May 1 09:29 nginx -> nginx-1.17.2/

drwxr-xr-x 2 root root 26 May 1 09:22 nginx-1.16.1

drwxr-xr-x 2 root root 6 May 1 09:28 nginx-1.17.2

[root@oldboy app]# rm -rf nginx-1.16.1/ 一次处理多个指向问题

[root@oldboy app]# ll

total 0

lrwxrwxrwx 1 root root 13 May 1 09:29 nginx -> nginx-1.17.2/

drwxr-xr-x 2 root root 6 May 1 09:28 nginx-1.17.2

2.设置开机自启动

ln -s /usr/lib/systemd/system/xx.services /etc/systemd/system/multi-user.target.wants/xx.services

通过硬链接数判断一个文件的类型

[root@lb01 ~]# ll

total 8

drwxr-xr-x 2 root root 6 Feb 2 12:52

-rw-------. 1 root root 1444 May 1 2020 anaconda-ks.cfg

drwxr-xr-x 3 root root 16 Feb 2 12:53 kk

-rw-r--r-- 1 root root 469 May 1 2020 xiugaizhuji.sh

1.硬链接数是1,那么这就是一个普通的文件

2.硬链接数是2,那么这就是一个硬链接文件或者空目录

3.硬链接数是N(N>2),那么这就是一个目录

Linux 软链接和硬链接的更多相关文章

  1. Linux软链接和硬链接

    Linux中的链接有两种方式,软链接和硬链接.本文试图清晰彻底的解释Linux中软链接和硬链接文件的区别. 1.Linux链接文件 1)软链接文件  软链接又叫符号链接,这个文件包含了另一个文件的路径 ...

  2. Linux 软链接和硬链接的理解与学习

    理解前提: 首先要知道 Linux任意一个文件包含2个信息:第一个信息就是文件本身存的内容,第二个信息是文件的控制信息(读写,路径,大小等等),这2个信息是分开存储的,明白这点非常重要 理解总结: L ...

  3. LINUX “软链接”和“硬链接”的区别

    今天在知乎上看到一篇十分有趣的问题: 如何评价微软高级工程师痴迷于soft link这一linux常见概念? 虽然又是知名撕逼王曾某的撕逼帖,但是我还是想就题目中链接的问题简单地讲讲. 什么是链接? ...

  4. Linux软链接与硬链接

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

  5. Linux 软链接和硬链接简介

    在Linux系统中,将文件分为两个部分:用户数据和元数据. 元数据(inode) 元数据即文件的索引节点(inode),用来记录文件的权限(r.w.x).文件的所有者和属组.文件的大小.文件的状态改变 ...

  6. linux软链接和硬链接的区别

    硬链接:ln 3.txt 4         相当于把源文件复制了一份 软连接:ln -s 3.txt 5 相当于快捷方式 改动源文件4.5同时更新,删除3.txt ,5不存在,4存在的.

  7. linux软链接与硬链接详解

    软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 ...

  8. linux 软链接和硬链接的区别 和 inode 的理解

    软连接和硬连接的区别:1.创建的方式不同软:ln -s 源文件 连接名硬:ln 源文件 连接名 2.原理不同,和删除源文件对其的影响.硬连接的inode节点和源文件的inode节点一样.也就是同一个i ...

  9. linux命令大全之ln命令详解(创建软链接和硬链接)

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例   ln是linux中又一 ...

随机推荐

  1. Jenkins中管道案例脚本(生命式语法)

    pipeline { agent any parameters { choice( choices: 'feature\nmaster\npercent10', description: '选择要发布 ...

  2. 16个实例讲述如何写好App描述

    App描述很重要,很多人都知道,但你有没有亲自比较.研究过别人的app是如何描述的呢?   毫无疑问,app描述页面不仅仅是描述,它更多是一个销售页面,开发者不能面对面向用户营销自己的产品,因此app ...

  3. CSS躬行记(4)——浮动形状

    CSS规范新增了一个模块:CSS Shapes,shape-outside属性属于该模块,它能影响浮动元素周边内容流的形状(即浮动形状),可接收三类值:形状盒子.函数和图像. 一.形状盒子 形状盒子( ...

  4. 在写微信小程序如何 首次编译的是当前写的页面

    首先点击顶部的编译如下图 染后点击添加模式哈 选择页面加载是启动的是哪一个页面

  5. java文件中出现最多的前n个单词

    将文件打开,之后每读入一次,最后按空格进行分割.存入到map里面之后进行相应的比较输出操作.并将相应的内容输出到文件里面. package com.keshangone; //将想要输出的数据写入新的 ...

  6. 计算机网络协议,PPP协议分析

    一.基本特点 1.PPP协议是计算机网络体系中第二层(数据链路层)的协议 2.PPP帧格式是以HDLC帧格式为基础,做了很少的改动(区别:PPP是面向字符的,而HDLC是面向位的) 3.PPP协议使用 ...

  7. Git应用详解第七讲:Git refspec与远程分支的重要操作

    前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一 ...

  8. 广告行业中那些趣事系列9:一网打尽Youtube深度学习推荐系统

    最新最全的文章请关注我的微信公众号:数据拾光者. 摘要:本篇主要分析Youtube深度学习推荐系统,借鉴模型框架以及工程中优秀的解决方案从而应用于实际项目.首先讲了下用户.广告主和抖音这一类视频平台三 ...

  9. Centos7_Root密码重置

    原因: 最近出去见女朋友,竟然忘了Root用户的密码,此时考验linux基础扎不扎实的时候到了... 操作步骤: 解释补充: mount -o remountr,w / #修改根目录文件系统的权限,实 ...

  10. Ant安装与配置

    1. 到apache 官网去下载最新版本的ant,http://ant.apache.org/:下载后直接解压缩到电脑上,不需要安装: 2.环境变量配置: 2.1 ->计算机右键->属性- ...