首页 > 其他分享 >ln软硬链接

ln软硬链接

时间:2023-11-13 16:58:13浏览次数:22  
标签:文件 软硬 oldboy ln 创建 源文件 链接

ln命令来自英文单词“link”的缩写,中文译为“链接”,其功能是用于为某个文件在另外一个位置建立同步的链接。Linux系统中的链接文件有两种形式,一种是硬链接(hard link),另一种是软链接(symbolic link)。软链接相当于Windows系统中的快捷方式文件,原始文件被移动或删除后,软链接文件也将无法使用,而硬链接则是通过将文件的inode属性块进行了复制 ,因此把原始文件移动或删除后,硬链接文件依然可以使用。

常用参数

-b:为已存在的目标文件创建备份

-d:允许管理员创建目录的硬链接

-f:强制创建链接而不询问

-i:若目标文件已存在,则需要用户二次确认

-L:若目标文件为软链接时,找到其对应文件

-n:将指向目录的软链接视为普通文件

-P:若目标文件为软链接时,直接链接它自身

-r:创建相对于文件位置的软链接

-s:对源文件创建软链接

-S:设置备份文件的后缀

-t:设置链接文件存放于哪个目录

-v:显示执行过程详细信息

--backup:备份已存在的文件

--help:显示帮助信息

--version:显示版本信息

软连接

symbolic link,源文件删除,链接文件失效,普通文件和目录都可以创建软链接,支持跨分区

语法格式

ln  -s   /路径/源数据     /路径/快捷方式的名称

参考示例

01. 创建文件信息
]# touch /data/oldboy
02. 创建软链接
]# ln -s /data/oldboy /data/oldboy.txt_soft
03. 检查创建信息
]# ls -l oldboy*
]# ln  -s   /etc/sysconfig/network-scripts/   /ns
]# ls  -l   /ns    #查看快捷方式的信息
]# readlink /dev/cdrom
sr0

硬链接

hard link,在一个分区中,inode号码相同互为硬链接文件,源文件删除,链接文件依旧有效,目录无法创建硬链接 。

语法格式

ln  [参数]   /路径/源数据     /路径/快捷方式的名称   

优缺点

优点:源数据消失,快捷方式仍然有效

缺点:只能针对文件制作快捷方式,不支持支持跨分区,可以对文件创建硬链接(硬链接文件和源文件必须在同一分区中) 

参考示例

01. 创建文件信息
# touch /data/oldboy
02. 创建硬链接
# ln /data/oldboy /data/oldboy.txt_hard
03. 检查创建信息
# ls -lhi oldboy*
readlink命令:查看软链接文件本身的内容,存放的是源文件的路径

软硬链接区别

链接后的文件大小不一致、文件类型和权限不一致(颜色不一致)

链接后的文件和源文件inode信息有出入,硬链接inode号码一致,软链接inode号码不一样

源文件被删除之后,硬链接文件依然有效,软链接文件失效,软硬链接创建过程不一致

实用排查

1.如何真正删除一个文件

  文件硬链接数为0时,表示数据真正删除了

  文件信息没有被进程调用的时候,进程调用数为0

  查看文件是否被进程调用:lsof |grep "secure"

2.避免文件丢失方法

  利用硬链接的方式

  利用cp备份命令

企业案例

磁盘空间报警了,需要删除清空没用数据

第一个历程: 确认磁盘空间是否真的满了

# df -h   查看block空间是否不够了
# df -i   查看inode空间是否不够了

第二个历程: 确认哪个数据占用磁盘空间比较多

# du -sh /
# du -sh /etc

第三个历程: 利用rm -rf命令进行删除

第四个历程: 需要重启服务释放空间  

标签:文件,软硬,oldboy,ln,创建,源文件,链接
From: https://www.cnblogs.com/huihengbo/p/17829508.html

相关文章

  • Telnet测试端口的命令
    Telnet测试端口的命令你可以使用`telnet`命令来测试远程主机的端口是否可访问。以下是使用`telnet`命令测试端口的基本语法:```telnet<hostnameorIPaddress><port>```-`<hostnameorIPaddress>`:要测试的目标主机的主机名或IP地址。-`<port>`:要测试的端口号......
  • LordOfTheRoot_1.0.1(VulnHub)
    LordOfTheRoot_1.0.1_Writeup目录LordOfTheRoot_1.0.1_Writeup1、主机存活探测2、尝试仅仅开放了22端口3、由提升进行端口碰撞4、敲震三次后进行全端口扫描5、信息枚举不摸所F12调试界面跑目录跑不出来,只能手测base双重解码后发现新东西6、发现目录7、SQLmap注入8、通过数据库账......
  • Powershell 实现telnet 服务端
    Write-Host"这是一个简单的TCP服务器,用于监听指定的端口,并接收来自客户端的数据。"Write-Host"客户端请使用telnetIP+端口的方式连接至服务器"Write-Host"目前同时只支持单个客户端,请勿连接多个客户端,会导致程序运行异常"Write-Host"作者:ID404"Write-Host"版本:1.0"......
  • 在移动电话上点击网页链接时如何触发电话呼叫。
    内容来自DOChttps://q.houxu6.top/?s=在移动电话上点击网页链接时如何触发电话呼叫。我需要为移动设备构建一个网页。只有一件事我还没有弄清楚:如何通过点击文本来触发电话呼叫?是否有一个特殊的URL可以像mailto:标签用于电子邮件那样使用?不希望使用特定于设备的解决方......
  • PHP实现页面间的链接和背景图片设置
    在PHP中实现页面间的链接非常简单,你可以使用HTML的<a>标签来创建链接。下面是一个示例代码,当用户点击按钮后,将跳转到下一个页面:<!--第一个页面--><!DOCTYPEhtml><html><head><title>第一个页面</title></head><body><buttononclick="window.locati......
  • 可以使用preventDefault()阻止默认行为,例如a链接的跳转,在a链接跳转中,需要先对a链接绑
    可以使用preventDefault()阻止默认行为,例如a链接的跳转,在a链接跳转中,需要先对a链接绑定点击事件,然后在a链接的事件对象中调用该方法即可下面三个事件都是事件对象的方法:stopPropagation()阻止事件冒泡。这个事件不会阻止定义在元素上的其他事件。stopImmediatePropagation()......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<signal.h>#include<setjmp.h> //foralongjumpjmp_bufenv;//forsavinglonjmpenviromentintcount=0;voidhandler(intsig,......
  • A solution to land sailnization
    Biologicallyimprovedsaline-alkalilandisbarrenandsoilfertilityispoor.Therefore,intheprocessoftransformation,itisanimportantmeasuretoimprovesalinitybyplantingpaddyfields,plantingsaline-alkalitolerantcrops,andincreasingthe......
  • Django 三板斧的使用 链接数据库
    Django三板斧的使用全局配置文件静态文件的配置request对象的几个方法pycharm链接数据库MySQLDjango链接数据库MySQLORM的使用今日内容详细三板斧的使用三个方法:HttpResponserenderredirectdefindex(request):print('request')#returnHttpResponse......
  • 搭建博客系统(LNMP)
    搭建博客系统(LNMP)博客系统用到的三种配置:php+nginx+mysql1.改主机名[root@localhost~]#hostnamectlset-hostnamelnmp[root@localhost~]#bash2.关闭Firewalld[root@lnmp~]#systemctlstopfirewalld[root@lnmp~]#systemctlenabledfirewalld3.关闭Selinux[......