首页 > 系统相关 >Linux-ln创建链接

Linux-ln创建链接

时间:2023-05-24 16:14:08浏览次数:36  
标签:文件 ln 创建 源文件 Linux inode 链接

1.ln命令介绍

ln命令可以看作是 link 的缩写,其功能是创建文件间的链接,链接类型包括硬链接(hard link)和软链接(符号链接,symbolic link)

 

2.ln命令格式

ln 命令的基本格式如下:

ln [选项] 源文件 目标文件

选项:

-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;

-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;

 

3.软连接

ln -s [源文件] [目标文件]   ## 创建软连接

说明:软链接生成的是符号链接文件(l 类型)

          源文件没了或者路径改变,ls -l 查看时会看到源文件有红色背景不断闪烁。

示例:

ln -s /linux/file.txt softlink.txt

 

软链接小结:

1)、软链接类似于 Windows 的快捷方式,里面存放着源文件的路径,指向源文件实体;

2)、删除了源文件,软链接文件依然存在,但是无法访问指向源文件路径的内容;

3)、源文件和软链接文件是不同类型的文件,inode 索引节点也不相同;

4)、对于目录,不可以创建硬链接,但是可以创建软链接;

 

4.硬链接

ln [源文件] [目标文件]   ##创建硬链接

说明:硬链接生成的是普通文件(- 字符 f类型)

         硬链接除了名称和位置,其它信息都相同, 包括日期, 没法区分。

         权限信息后面一列,可以看到文件被link的次数

示例:

ln /linux/file.txt hardlink.txt
ls -i   ##查看文件的inode号

 

硬链接小结:

1)、源文件和硬链接文件具有相同的 inode 索引节点号;两者可以看成同一个文件或一个文件的多个入口;

2)、删除硬链接文件或删除源文件任意之一,文件实体并未被删除;

3)、只有删除了源文件和对应的硬链接文件,文件实体才会被删除;

4)、通过给文件设置硬链接文件,来防止重要文件被误删;

5)、许多硬件设备中的快照功能,就是利用硬链接的原理;

 

5.软连接和硬链接区别

1)硬链接原文件&链接文件共用一个inode号,说明他们是同一个文件;而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件;

2)链接数目(inode)是不一样的,软链接的链接数目不会增加,硬链接会相应的加1;

3)在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系,就像文件被复制了一份一样;  

4)文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的,而这里软链接显示的大小与原文件就不同了。

5)使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软连接。

 

6.打包链接文件

-h参数:打包软链接文件指向的真实源文件

示例:

tar  zcfh  test.tar.gz  softlink.txt

 

标签:文件,ln,创建,源文件,Linux,inode,链接
From: https://www.cnblogs.com/yeyuzhuanjia/p/17428613.html

相关文章

  • linux 查看日志常用命令
    查看日志:查看上下10行:grep-C10'NullPointerException'logback.log当然也可以只看上面10行:grep-B10'NullPointerException'logback.log或者下面10行:grep-A10'NullPointerException'logback.loglinux通过grep根据关键字查找日志文件上下文 1、在标......
  • minikub linux安装
    亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好使的安装方式亲测好......
  • Linux_提高效率的快捷操作
    history&fclinux历史机制对命令行中输入的命令进行编号并依此保存,以维护命令历史。登录会话期间输入的命令保存在shell内存中,若终止命令则添加至历史文件历史命令缓冲区-a:将缓存在内存的历史命令写入历史命令文件中【~/.bash_history】-c:清空当前内存里的历史命......
  • LinuxMint 安装 .NET 7 发生No SDKs were found.
    一、环境LinuxMint21.1二、安装方式1.通过系统软件管理器,搜索DotNetSDK安装.net7SDK2.dotnet--info查看.net信息,提示.NETSDKsInstalled:NoSDKswerefound.  3.查看安装程序(1)/usr/lib/dotnet检查/usr/lib/dotnet中,是否存在sdk,sdk-manifests,templates目录?(2)/us......
  • Linux buffer/cache
    在Linux系统中,经常用free命令来查看系统内存的使用状态。在一个centos7的系统上,free命令的显示内容大概是这样一个状态:这里的默认显示单位是kb,可以通过添加-h参数,来让free命令显示的更为友好一些。[root@k8s-master-192~]#free-htotalused......
  • macos 链接windows 共享打印机
    WINDOWNS上操作:1.在windowns上安装打印机,共享打印机2.安装lpd,打开控制面板>启用或者关闭Windows功能>打印和文件服务>勾选LPD打印服务 MACOS上操作:1.打开系统偏好和设置>打印机与扫描仪  2.添加打印机1)加号添加打印机2......
  • CentOS 7.6 64 位系统Linux 下升级Nginx1.24.0版本
    以下是在CentOS7.664位系统上升级Nginx1.19.9到1.24.0的步骤。1.1、先安装gcc-c++编译器yuminstallgcc-c++yuminstall-yopensslopenssl-devel1.2、再安装pcre包。yuminstall-ypcrepcre-devel1.3、再安装zlib包yuminstall-yzlibzlib-devel......
  • linux命令之-mount
    [root@localhost~]#manmountMOUNT(8)                  LinuxProgrammer’sManual                 MOUNT(8)NAME      mount-mountafilesystemSYNOPSIS      mount[-lhV]......
  • Linux(centos7.9)搭建TACACS+服务器
    一、TACACS+是什么TACACS+(TerminalAccessControllerAccessControlSystem),终端访问控制器控制系统协议,与Radius协议相近,为网络设备和访问服务器提供身份验证,授权和计费服务。 TACACS+和RADIUS的比较更多细节,自行查看 https://www.h3c.com/cn/d_201309/922099_300......
  • Linux系统常用命令速查手册
    系统信息arch      #显示机器的处理器架构(1)uname -m  #显示机器的处理器架构(2)uname -r  #显示正在使用的内核版本dmidecode -q        #显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda  #罗列一个磁盘的架构特性hdparm -tT /dev/s......