百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

Linux系统:那些常见的硬链接和软链接

qiyuwang 2024-10-03 06:50 9 浏览 0 评论

在Linux系统中,有些常见的硬连接和软连接,你知道吗?今天就带大家来认识一下!先从Linux系统中的文件系统说起。

1. 在Linux中一切皆为文件

在Linux中有且只有一个根目录,它就是 / (斜杠),它的子目录有如下这些:

bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

下面我们来解释一些比较重要目录的各自意义:

bin:表示二进制文件,包含了会被所有用户使用的可执行程序

因bin目录下的子目录过多,这里只截取一部分展示)

[hduser@localhost bin]$ ls [


boot:表示启动文件的意思,包含了与Linux系统启动相关的文件

dev:表示设备目录(包含外设),它的每一个子目录都对应一个外设


etc:表示配置文件,包含系统的配置文件


home:表示用户的私人目录

[hduser@localhost home]$ ls hduser yzp

lib: 表示库文件目录 ,包含了所有对系统有用的库文件

media:表示移动外设(如:USB、光盘等)目录,我们可以通过media的子目录来访问这些设备

mnt:此目录用于临时加载一些设备

opt:用于安装第三方软件和插件的目录

root:表示超级用户的家目录

proc:存放的是虚拟文件系统的目录

sbin:包含系统级的可执行程序目录


srv:此目录包含一些网络服务启动后所需的数据


tmp:普通用户和程序存放临时文件的地方

usr:是存储Unix操作系统软件资源的目录

[hduser@localhost usr]$ ls bin etc games include lib lib64 libexec local sbin share src tmp

我们用一张图来总结一下根目录下各文件的含义

二、硬链接和软链接:

1. 链接类型

类别:硬链接和软链接

2. 首先我们先来了解一下什么是inode?

在linux系统中,文件的文件内容会被分配到一个标志号码,这个标志号码就是inode,它是文件的索引节点

linux文件系统中有一块区域叫做inode table,它就是保存inode的地方

inode保存着文件的元信息,其内容包括:文件类型、文件权限、文件物理地址、文件长度、文件连接计数、文件存取时间、索引节点编号 、文件状态、访问计数、链接指针

Linux系统中,每个文件名都绑定到它的文件内容并用文件内容的inode标识,文件名并不是文件的唯一标识,Inode才是文件的唯一标识

3. 硬链接原理

硬链接:使有链接关系的两个文件共享同样的文件内容,拥有同样的inode, 缺陷是只能创建指向文件的硬链接,不能指向目录


4. 软链接原理

软链接:有软链接关系的两个文件,它们的inode是不同的,它可以指向目录,软链接才真正像我们在windows下的快捷方式


三、ln命令

1. 作用:用于在文件之间创建链接,ln是link("链接")的缩写

2. 创建硬链接

ln a.txt b.txt


注:数字2代表有相同inode号的文件数

查看文件的inode

ls -i (i参数可以显示文件的inode)


我们可以看到 a.txt和b.txt 文件的inode是一样的,说明它们指向的是同一个文件内容

我们删除a.txt文件,对b.txt文件来说,看会发生什么情况

ls rm a.txt ls cat b.txt ls -i


我们用rm删除了a.txt文件, 可以看到对于b.txt文件没有任何影响,它的inode也没有改变

说明了对于硬链接来说,删除任意一方的文件,它们共同指向的文件内容并不会从硬盘上删除,只有同时把他们都删除掉,它们共同指向的文件内容才会消失,也就是那个inode才会被删除

3. 创建软链接

ln -s file1.txt file2.txt


file2.txt -> file1.txt 表示文件file2指向file1, lrwxrwxrwx中的 l 表示file2.txt文件是一个软链接文件

查看文件的inode

ls -i


我们可以看出文件file1和文件file2的inode是不同的

这是因为文件file2是指向文件file1的,它们并没有指向同一块文件内容,所以它们的inode号不相同

file2其实只是file1的一个快捷方式,它指向的是file1,所以显示的是file1的内容

我们删除file1.txt对于file2.txt会有什么影响?

如果我们删除了file2,那么对于file1来说不会有任何影响,如果删除file1,那么file2就会变成"死链接",

这是因为file2指向的文件没有了

rm file1.txt ls -lh

相关推荐

windows开启telnet服务,检测远程服务端口是否可以连通

本文介绍windwos开启telnet服务,telnet服务一般可以用于检测远程主机的某个端口服务是否可以连通,在日常的工作中,我们经常会遇到在本地的windows检测远程服务端口是否可以连通。win...

仅在Web登录新华三交换机条件下启用设备Telnet登录方式

概述Web登录新华三交换机可以在“网络-服务”页面中启用设备Telnet服务或SSH服务,也可以在“设备-管理员”设置管理员用户的可用服务,然而,在设备Web页面中,无法设置lineVTY用户线【l...

思科交换机,路由器如何关闭telnet 开启ssh服务

SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。今天我们就来说说思科交换机,路...

智能化弱电行业常用的DOS命令,掌握了你也能成为...

前言在做智能化弱电项目时,前端摄像头设备安装结束后,我们会对网络摄像头进行调试,调试过程中会遇到前端摄像头没有图像或者图像出来了画面卡顿的现象。我们会采用ping命令来测试网络的连通性和网络承载能力。...

「干货」eNSP模拟器之配置Telnet登录

配置说明:配置Telnet,使R2(模拟PC)通过SW1登录到R1进行管理和配置。操作步骤:system-view##进入系统视图[Huawei]sysnameR1##改名为R1[R1]int...

win11开启telnet服务怎么操作 win11打开telent指令是什么

telnet服务是我们在进行远程连接的时候,必须要打开的一项功能。但是有不少用户们不清楚在windows11系统中怎么开启telnet服务。今天小编就使用详细的图文教程,来给大家说明一下打开telen...

华三(H3C)交换机Telnet的远程登陆

一,配置交换机管理IP[SW1]vlan20//创建管理vlan[SW1]interfacevlan20//进入vlan接口[SW1-Vlanif20]ipaddress192.168....

win10 telnet命令怎么查看端口是否打开

可能大家也会遇到这个问题,win10telnet命令查看端口是否打开的步骤是什么?具体方法如下:1、键盘输入快捷键WIN+R,打开运行窗口。2、输入cmd,点击确定按钮。3、弹出cmd命令行窗...

Windows 7如何打开Telnet功能(win7系统打开telnet)

Windows7默认安装后是没有开启telnet客户端功能的,例如,我们在开始菜单中输入cmd,然后使用telnet命令,会弹出下图提示:‘telnet’不是内部或外部命令,也不是可运行程序或批处理文...

为锐捷路由器交换机开启web和telnet,实现轻松管理

笔者上一篇文章写了关于锐捷二层交换机配置教程,那么接下来讲一下锐捷的路由交换设备配置web、telnet技巧。同样,今天的教程也是基于命令行,比较简单,适合新手小白进行学习。准备工作配置前准备:con...

一文学会telnet命令的用途和使用方法

Telnet是一个古老的远程登录协议,可以让本地计算机获得远程计算机的工作能力。它采用了TCP的可靠连接方式,可以连接任何网络互通的远程计算机。不过由于它采用了明文传输方式,存在安全风险,目前已经很少...

Telnet命令是什么?如何使用?(telnet命令在哪里开启)

telnet命令是一个常用的远程登陆工具,使用它,我们可以快捷地登陆远程服务器进行操作。那么如何使用telnet命令呢?首先,我们需要打开telnet功能,任何电脑默认是关闭此功能的,开启方式如下:打...

win11系统如何开启telnet服务(拷贝版本)

  我们要知道,Telnet协议是Internet远程登陆服务的标准协议,可以使用户在本地计算机上完成远程主机的工作,不过对于一些刚接触win11中文版系统的用户来说,可能还不知道telnet服务在哪...

如何开启telnet客户端(如何开启telnet服务)

Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式,Telnet是常用的远程控制Web服务器的方法。工作中经常用到telnet客户端,但在windows...

Telnet 是什么,如何启用它?(telnet有什么用)

对于Internet等TCP/IP网络,Telnet是一个终端仿真程序。Telnet软件在您的系统上运行并将您的个人计算机链接到网络服务器。它将所有数据转换为纯文本这一事实被认为是易受...

取消回复欢迎 发表评论: