我的编程空间,编程开发者的网络收藏夹
学习永远不晚

你会使用 unlink 删除文件吗?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

你会使用 unlink 删除文件吗?

在 Linux 中删除文件,我们通常使用 rm 命令。除此以外,还有另外一个命令,可以用于删除文件和链接,这就是 unlink 命令。虽然它听起来像是只能删除 Linux 系统中的链接,但实际上,也可以删除文件。

Linux 系统中删除文件的过程是非常迅速的,只是一瞬间。当你删除文件时,Linux 内核发现它对应于索引节点编号 X,系统会将其从目录列表中删除文件条目,并将索引节点 X 的链接计数减少1,这时候,索引节点 X 的链接计数为0,内核会认为没有人链接到此索引节点,所以就可以安全的删除索引节点,并删除与其关联的数据块。

现在我们来看一下如何使用 unlink 命令。

unlink 命令

如前文所述,unlink 命令用于删除文件和链接,其中链接包括软链接和硬链接。它是最简单的命令之一,除了 --help 以及 --version 以外,没有任何其他选项。

使用 unlink 删除文件,可以这样:

unlink filename

删除链接,可以这样使用:

unlink link_name

删除成功后,不会有任何输出:

这就是 unlink 命令的功能,除此以外不做任何其他事情。

unlink 不能同时删除多个文件和链接

rm 命令可以一次删除多个文件。但是 unlink 却不能,它一次只能删除一个文件或者链接,而且,也不能使用全局模式(globbing patterns)。

如果我们尝试给定多个文件的话,它会抛出一个错误,执行失败:

[gliu@fedora ~]$ unlink *.txt
unlink: extra operand ‘file2.txt’
Try 'unlink --help' for more information.

同时删除多个链接也会如此。

使用 unlink 不能删除目录

GNU 实现下的 unlink 命令是无法删除目录的,如果给定的文件名称是一个目录,就会报错:

[gliu@fedora ~]$ unlink new_dir
unlink: cannot unlink 'new_dir': Is a directory

rm 和 unlink 的区别

unlink 命令使用 unlink 系统命令,而 rm 命令使用 unlinkat 系统调用,两个系统调用几乎相同。但是这两个命令之间还是有一些明显的差异。

如前文所述,unlink 命令在同一时间只能删除一个文件或链接,而 rm 命令可以删除多个;unlink 命令不能删除目录,而 rm 命令能删除目录。

rm 命令在执行的时候,首先会安全检查,如果你没有文件的写权限,那么系统会要求你给出写权限(sudo或者切换至管理员用户),或者使用强制删除选项 -f;而 unlink 则不会进行安全检查,直接删除文件。

另外,与 rm 不同,unlink 没有其他选项。

在某些情况下,相比于 rm,你可能更喜欢使用 unlink。比如你希望强制删除一个文件,而不考虑安全或者权限问题;或者如果删除失败(比如文件不存在)的话你希望能看到报错信息,这种情况下就可以使用 unlink。因为使用 rm -f 强制删除文件,如果文件不存在的话,不会显示任何错误信息。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

你会使用 unlink 删除文件吗?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

你会使用 unlink 删除文件吗?

在 Linux 中删除文件,我们通常使用 rm 命令。除此以外,还有另外一个命令,可以用于删除文件和链接,这就是 unlink 命令。虽然它听起来像是只能删除 Linux 系统中的链接,但实际上,也可以删除文件。

php中如何使用unlink删除文件夹

php中使用unlink删除文件夹的方法:【if ($handle = opendir( “$dirName” ) ) {while (false !== ($item = readdir( $handle))){if($item...】。
2020-12-22

使用PHP中的unlink()函数删除文件

标题:PHP中使用unlink()函数删除文件的详细代码示例文章正文:PHP是一种广泛应用于Web开发的服务器端脚本语言,拥有丰富的文件处理函数。其中,unlink()函数是常用的用于删除文件的函数。本文将为大家详细介绍如何在PHP中使用u
使用PHP中的unlink()函数删除文件
2023-11-18

Win10升级win11会删除文件吗

这篇文章主要介绍“Win10升级win11会删除文件吗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Win10升级win11会删除文件吗”文章能帮助大家解决问题。Win10升级win11会删除文件吗
2023-07-01

教你学会win10如何删除temp文件夹

许多Win10系统用户会在系统盘中发现一个内存占用较大的temp文件夹,使C盘的空间大量被占用。有一位网友想要删除temp文件夹,但不确定是否能够删除,想请教如何在win10中删除temp文件夹。下面小编就教下大家win10删除temp文件
2023-07-10

Win10系统重装会删除全部文件吗?

有时大家电脑上必须重新装系统,可是有一些网民忧虑处理错误很有可能会造成重要文件遗失,不清楚win10系统重装会删除全部文件吗。下边就给各位解释下win10系统重装是不是会删除全部文件。Win10系统重装会删除全部文件吗?1、一般来说重做系统
2023-07-12

升级到win11会删除d盘的文件吗

这篇文章主要介绍“升级到win11会删除d盘的文件吗”,在日常操作中,相信很多人在升级到win11会删除d盘的文件吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”升级到win11会删除d盘的文件吗”的疑惑有所
2023-07-01

C# 使用 Npoi 操作Excel文件,你会了吗?

NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。
C#NpoiExcel2024-12-02

如何使用SHFileOperation删除文件

要使用SHFileOperation函数删除文件,需要按照以下步骤进行操作:1. 引入Windows.h头文件,该头文件包含了SHFileOperation函数的声明以及其他相关的定义。2. 创建一个SHFILEOPSTRUCT结构体变量,
2023-08-08

怎么使用Golang删除文件

本文小编为大家详细介绍“怎么使用Golang删除文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Golang删除文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,我们需要导入os包。在Golan
2023-07-05

linux如何若文件被删除,系统会允许你在以后恢复这个被删除的文件

Linux中的文件删除并非永久,即使文件从文件系统中移除,其副本仍可能存在于存储介质上。Linux提供了以下恢复机制:暂存文件系统:记录文件系统更改,即使文件被删除,元数据仍可用于恢复。快照:文件系统的只读副本,可用于恢复在创建快照后删除的文件。回收站:临时存储已删除文件的容器,允许恢复文件。数据恢复工具:可扫描存储介质搜索已删除文件的元数据。恢复步骤:停止写入操作。检查回收站或快照。使用数据恢复工具。将恢复的文件保存到安全位置。
linux如何若文件被删除,系统会允许你在以后恢复这个被删除的文件
2024-04-02

如何使用cmd命令删除文件

这篇文章主要介绍了如何使用cmd命令删除文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、首先找到要删除的文件的指定目录。2、点击“开始菜单”中的“运行”,输入cmd回车
2023-06-28

如何使用Tmpwatch/Tmpreaper删除旧文件

你可能忘记了删除计算机上某个目录中不再需要的文件的操作。这可能是“下载”或任何其他目录。它可能已经增长了一段时间。我们将向你展示如何在 Linux 上使用 Tmpwatch 程序来实现这一目标。

Linux下如何使用inode删除文件

这篇文章主要为大家展示了“Linux下如何使用inode删除文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何使用inode删除文件”这篇文章吧。inode包含很多的文件元信息,
2023-06-28

手机文件夹全是英文,占用内存又不敢删除,教你怎么删除垃圾文件

我们在使用智能手机的时候,经常会发现手机上有很多英文文件夹,有些文件占用了大量内存,但是由于是英文的我们又不敢删除,万一删错了导致手机无法启动这样就非常麻烦了!

怎么使用bat删除文件夹及子文件夹

您可以使用以下命令来删除文件夹及其子文件夹:```bat@echo offSET /P folder="请输入要删除的文件夹路径: "if exist %folder% (echo 正在删除文件夹 %folder% 及其子文件夹...rmd
2023-10-08

如何使用Git在本地删除文件

这篇文章主要介绍了如何使用Git在本地删除文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Git在本地删除文件文章都会有所收获,下面我们一起来看看吧。Git 的删除操作在 Git 中,要删除本地文件,
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录