如何在Linux中删除软链接和硬链接?
我们都知道在 Linux 中删除文件用的是 rm 命令。
还有另一个命令可用于在 Linux 中删除文件和链接:unlink,虽然它听起来像是仅用于在 Linux 中删除链接,但它也可以删除文件。
当你删除一个文件时,Linux内核发现它对应于inode number X,它会从它的目录列表中删除文件条目并将inode X的链接计数减少1。现在inode X的链接计数为0,内核知道没有人链接到这个inode,所以删除这个 inode 并删除与之关联的数据块是安全的。
让我们看看如何使用 unlink 命令。
unlink命令
unlink 命令用于删除文件和链接,您可以使用它来删除软链接和硬链接。
–help它是最简单的参数之一。
要删除带有取消链接的文件,可以这样使用它:
unlink filename
要删除链接:
unlink link_name
成功删除文件或链接后,您将看不到任何输出。
基本上,这就是 unlink 命令的内容,它不能做任何其他事情。
不能一次删除多个文件或链接
虽然 rm 命令可以一次删除多个文件,但 unlink 一次只能删除一个文件。您一次不能给它多个文件,您也不能使用通配模式。
如果您尝试类似的操作,它会引发错误并且不会删除任何文件。
root@bunian:~/test$ unlink *.txt
unlink: extra operand ‘file2.txt’
Try 'unlink --help' for more information.
一次删除多个链接也是如此。
无法使用unlink删除目录
unlink 命令的 GNU 实现不能删除目录,如果您尝试删除文件夹,则会引发错误。
root@bunian:~$ unlink new_dir
unlink: cannot unlink 'new_dir': Is a directory
rm 和 unlink 命令的区别
unlink 命令使用 unlink 系统命令,而 rm 命令使用 unlinkat 系统调用,两个系统调用几乎相同。
这两个命令之间有一些明显的区别,您已经可以看到了。
unlink 命令一次只处理一个文件或链接。rm 命令一次可以处理多个。
rm 命令可以使用递归选项删除目录。unlink 命令不能删除目录。
rm 命令执行安全检查,如果您没有文件的写入权限,它会要求您以交互方式确认它或使用 force 选项-f。
unlink,没有安全检查,它将删除写保护的文件。
与 rm 命令不同,Unlink 没有额外的功能或选项。
在某些用例中,您可能更喜欢使用 unlink 命令而不是 rm,想象一下,您想“强制删除”一个文件而不考虑写保护,但如果文件不存在,您希望脚本失败。如果文件不存在,则 rm -f 不会显示任何错误,但 unlink 会引发错误。
相关文章
- Linux下简易网络配置指南.(linux下的网络配置)
- Linux快速配置网络的简单方法(linux自动配置网络)
- 系统让Linux系统更加撸起来(撸linux)
- 使用Linux虚拟机如何快速实现网络连接(linux虚拟机如何上网)
- Linux拷贝链接:快速掌握技巧(linux拷贝链接)
- 掌握 Linux 路由表顺序的秘诀(linux路由表顺序)
- Linux实训精通:从入门到精通(linux实训教程)
- 看宋宝华如何利用Linux精彩升级自己(linux宋宝华)
- Linux实现反向代理的优势(linux反向代理)
- Linux之分支:从古老内核到新兴内核(linux的分支)
- 解决Linux命令无法使用的方法(linux命令无法使用)
- 深入Linux:查看系统默认编码(linux查看默认编码)
- Linux操作系统教程:如何修改文件夹名称?(linux修改文件夹名称)
- 如何解决Linux文件系统只读问题?(linux文件系统只读)
- Linux磁盘管理指南:如何优化磁盘空间、分区、挂载及备份?(linux下磁盘管理)
- 利用Linux系统实现快速日志搜索(linux日志搜索)
- Linux从U盘复制文件的简单步骤(linux从u盘复制文件)
- 同时安装Windows和Linux双系统(windows装linux双系统)
- 远程访问Linux系统:简单步骤来实现(如何远程linux系统)
- 如何在Linux下打开设备:简单指南(linux设备打开)
- Linux下妙用pwd命令:实时跟踪当前路径(linux当前路径命令)
- 如何在Linux系统中查询CPU型号(linux查询cpu型号)
- 基本Linux指令,掌握你的Linux系统!(常见的linux命令)