Linux下如何使用inode删除指定文件的方法示例

文件的inode定义了文件的大小、所有人等文件的特征。每个文件和目录都有自己唯一的inode数字。所以下面这篇文章主要给大家介绍了关于linux下使用inode删除指定文件的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

众所周知在Linux中,有时候会遇到文件名是乱码或者是某些特殊中文的文件,这时候通过文件名就很难删除。

同时,对于linux中的任何一个文件都必然有其唯一的inode值,这时候就可以通过inode来删除异常文件名的文件。

操作的对象一般为类似下面的文件:

[root@server tmp]# ll  总用量 61404-rw-r--r-- 1 root root 0 6月 16 14:58 ?  -rw-r--r-- 1 root root 0 6月 19 12:29 ??  -rw-r--r-- 1 root root 0 6月 21 14:53 ???3kqU-rw-r--r-- 1 root root 0 6月 21 14:53 ?6;?Xf??mA???9???T֙  -rw-r--r-- 1 root root 0 6月 19 12:29 9y??????sy?z?D?l???I?MO???8z????@]9??U@?XlAI]?k

登录后复制

产生这类文件的原因:

      1.上传文件时网络异常导致

      2.Windows创建的某些文件名在Linux下无法正常识别

      3.中文特殊字符无法识别

解决方法如下:

1.查询这些文件的inode值

ll -i

[root@server tmp]# ll -i  总用量 6140415206100 -rw-r--r-- 1 root root 0 6月 16 14:58 ?15206090 -rw-r--r-- 1 root root 0 6月 19 12:29 ??15206092 -rw-r--r-- 1 root root 0 6月 21 14:53 ???3kqU15206233 -rw-r--r-- 1 root root 0 6月 21 14:53 ?6;?Xf??mA???9???T֙  15206235 -rw-r--r-- 1 root root 0 6月 21 14:53 A??K?

登录后复制

以上,最左边的数字即为对应文件的inode值,不过无法直接使用rm命令删除文件,需要其他命令配合使用

2.删除异常文件

正常情况下这些文件也是可遇不可求的,不过涉及到rm的命令要小心谨慎,事前做一下测试,熟练下操作怎么也是不为过的,没有这些乱码的文件,可以使用正常的文件做测试,

有以下这几种方法:

先创建需要的文件

[root@zstest1 tmp]# cd /tmp  [root@zstest1 tmp]# touch aaa bbb ccc ddd eee  [root@zstest1 tmp]# ll -i  总用量 01442581 -rw-r--r-- 1 root root 0 9月 22 15:00 aaa1442582 -rw-r--r-- 1 root root 0 9月 22 15:00 bbb1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee

登录后复制

(1)使用find自带的delete参数进行删除aaa文件

[root@zstest1 tmp]# find ./* -inum 1442581 -delete  [root@zstest1 tmp]# ll -i  总用量 0  1442582 -rw-r--r-- 1 root root 0 9月 22 15:00 bbb  1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc  1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd  1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee

登录后复制

(2)使用find自带的-exec参数结合rm命令删除bbb文件(进行删除确认)

[root@zstest1 tmp]# find ./* -inum 1442582 -exec rm -i {} \;  rm:是否删除普通空文件 "./bbb"?y  [root@zstest1 tmp]# ll -i  总用量 0  1442583 -rw-r--r-- 1 root root 0 9月 22 15:00 ccc  1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd  1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee

登录后复制

(3)使用find自带的-exec参数结合rm命令删除ccc文件(不进行删除确认)

[root@zstest1 tmp]# find ./* -inum 1442583 -exec rm -f {} \;  [root@zstest1 tmp]# ll -i  总用量 0  1442584 -rw-r--r-- 1 root root 0 9月 22 15:00 ddd  1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee

登录后复制

(4)使用find和xargs结合删除ddd文件(无法使用-i参数进行删除确认)

[root@zstest1 tmp]# find ./* -inum 1442584 |xargs rm -f  [root@zstest1 tmp]# ll -i  总用量 0  1442585 -rw-r--r-- 1 root root 0 9月 22 15:12 eee

登录后复制

(5)使用rm命令删除指定文件(由find命令找到的文件名)

[root@zstest1 tmp]# rm `find ./* -inum 1442574`  rm:是否删除普通空文件 "./eee"?y  [root@zstest1 tmp]# ll  总用量 0  # 使用find命令的-inum选项确认文件名  [root@zstest1 tmp]# touch fff  [root@zstest1 tmp]# ll -i  总用量 01442574 -rw-r--r-- 1 root root 0 9月 22 15:38 fff  [root@zstest1 tmp]# find ./* -inum 1442574  ./fff

登录后复制

总结一下:

以上几种不同的删除方式,总体来说都是通过指定文件的inode值,使用find命令的-inum选项确认其文件名,然后传递给rm命令进行删除

完毕,呵呵呵

总结

以上就是Linux下如何使用inode删除指定文件的方法示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3165328.html

(0)
上一篇 2025年3月30日 21:16:49
下一篇 2025年3月10日 00:23:44

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • linux最大打开文件数限制修改的方法分享

    这篇文章主要给大家介绍了关于linux最大打开文件数限制修改的方法,文中将实现的方法一步步介绍的非常详细,对同样遇到这个需求的朋友们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 前言 本文主要给大家介绍了关于linux…

    编程技术 2025年3月30日
    100
  • 100个Linux常用的命令

    linux命令是对linux系统进行管理的命令。对于linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,linux系统管理的命令是它正常运行的核心,与之前的dos命令类似。linux命令在系统中有两种类型…

    编程技术 2025年3月30日
    100
  • 几个常用的linux系统之间传输文件的命令

    linux命令是对linux系统进行管理的命令。对于linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,linux系统管理的命令是它正常运行的核心,与之前的dos命令类似。linux命令在系统中有两种类型…

    编程技术 2025年3月30日
    100
  • 教你如何用linux设置服务器自动重启

    作为程序员的我们都用过linux,我们都知道linux主要是做服务器用的,本篇文章我们就来教大家一种linux下设置服务器自动重启的技巧,希望对大家工作有用。 步骤如下: 每个月1号凌晨3点自动重启 步骤如下: 1、用root帐号登陆; 2…

    编程技术 2025年3月30日
    100
  • 关于Linux 自动唤醒和关闭的实现方法

    不知道大家对linux 自动唤醒和关闭有多少理解,本文主要介绍了linux 自动唤醒和关闭的实现方法,需要的朋友可以参考下,希望能帮助到大家。 一. 系统休眠(crontab)  示例说明(创建一个 root 定时任务实现每天晚上 11 点…

    编程技术 2025年3月30日
    100
  • linux下vsftpd的安装及配置介绍

    本文主要介绍了linux下vsftpd的安装及配置使用详细步骤 ,需要的朋友可以参考下,希望能帮助到大家。 vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。 vsftpd 是一个 UNIX…

    编程技术 2025年3月30日
    100
  • linux中sed命令和awk命令的使用方法

    本文主要介绍了浅谈linux中sed命令和awk命令的使用,具有一定借鉴价值,需要的朋友可以参考,希望能帮助到大家。 1、sed命令:没有重定向不会真正修改源文件中的内容 查询语句 ①sed -n ‘/sbin/p’ passw…

    编程技术 2025年3月30日
    100
  • linux之shell实现图书管理系统实例详解

    本文主要介绍了shell实现图书管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家更好的学习shell。 本文实例为大家分享了shell实现图书管理系统的具体代码,供大家参考,具体内容如下 #!/bin/bash …

    编程技术 2025年3月30日
    100
  • Linux终极渗透测试命令总结

    本文主要和大家分享linux终极渗透测试命令总结,如下是一份 linux 机器的渗透测试备忘录,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用。 命令 描述 netstat -tulpn在 Lin…

    编程技术 2025年3月30日
    100
  • linux下swap分区作用详解

    本文主要介绍了详细解读linux下swap分区的作用,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下,希望能帮助到大家。 本文研究的主要是linux下swap分区的相关内容,具体介绍如下。 swap分区介绍 嵌入式Linux中…

    编程技术 2025年3月30日
    100

发表回复

登录后才能评论