首页 > 编程语言 >根据inode删除文件

根据inode删除文件

时间:2023-05-17 14:00:54浏览次数:43  
标签:文件 删除 root 扇区 1% 115K inode

参考:https://blog.csdn.net/smilejiasmile/article/details/121162741

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

可以使用stat命令查看文件的inode信息

root@hong:~/test# stat 2.txt
  File: 2.txt
  Size: 6               Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 723814      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-05-17 13:34:36.348743731 +0800
Modify: 2023-05-17 13:34:36.348743731 +0800
Change: 2023-05-17 13:34:36.348743731 +0800
 Birth: -

 

一般操作系统分配的 inode 数量是完全够用的,但出于一些程序或人为的意外可能会导致操作系统的 inode 溢出,查看系统分区下 inode 的使用情况

root@hong:~/test# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
udev             109K   418  108K    1% /dev
tmpfs            115K   637  115K    1% /run
/dev/vda1        2.5M  521K  2.0M   21% /
tmpfs            115K     2  115K    1% /dev/shm
tmpfs            115K     2  115K    1% /run/lock
tmpfs            115K    18  115K    1% /sys/fs/cgroup
overlay          2.5M  521K  2.0M   21% /var/lib/docker/overlay2/e8a2c8d70f99b0ed6466c960a591d2e8e030f5a83d7d12893ba77697d0881830/merged
tmpfs            115K    21  115K    1% /run/user/0

 

有时候文件名太复杂不好删除,可以通过inode的方式删除

root@hong:~/test# ls -i
723814 2.txt

root@hong:~/test# find ./ -inum 723814 | xargs rm 
或者使用find ./ -inum 723814 -delete

 

标签:文件,删除,root,扇区,1%,115K,inode
From: https://www.cnblogs.com/regit/p/17408510.html

相关文章

  • git只监控一部分文件
    参考资料:https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository有的时候自己的git仓库写的太臃肿,自己都看的心烦,但是又改不动。此时如何操作,能实现只gitclone很大仓库的一部分,或者说git只监控一部分文件?mkdi......
  • 【js】文件下载
    constdonwLoadFn=(arr)=>{if(arr.length<=0)returnconstfullUrl=`http://192.168.2.50:9803${arr[0]?.filePath}`fetch(fullUrl).then(res=>res.blob()).then(blob=>{c......
  • 日志文件管理
    目录1.分类2.内核日志消息优先级别3.设施facility4.保存位置5.日志内容格式6.日志文件保留时间7.内核及系统日志统一管理工具8.自定义服务的日志文件位置9.集中管理日志记录系统、程序运行中发生的各种事件阅读日志,有助于诊断和解决系统故障1.分类内核及系统日志......
  • Linux - Centos操作系统iso文件下载
    CENTOS VERSIONDOWNLOADLINKCentOS8.5(2111)DownloadCentOS8.4(2105)DownloadCentOS8.3(2011)DownloadCentOS8.2(2004)DownloadCentOS8.1(1911)DownloadCentOS8.0(1905)DownloadCentOS7.9(2009)NewDownloadCentOS7.8(2003)Downlo......
  • Ubuntu下,已经编译了OSG,如何增加OsgFbx插件,支持读取.fbx格式文件[转]
    最近在搞OSG相关的东西,美术给了个.fbx格式的模型,但死活无法加载,在网上搜了一圈,发现需要增加个插件才能支持这种格式的模型读取。一、osg支持的文件格式列表可以参看下这篇博文[原][资料整理][osg]osgDB文件读取插件,工作机制,支持格式,自定义插件-南水之源-博客园二、在fbx官......
  • git提交大文件无法推送到远程库
      提交大文件失败错误 执行获取大文件路径 删除gitfilter-branch--tree-filter'rm-f"大文件路径"'HEAD  成功提示 成功后重新提交推送就可以了......
  • sqlite 删除数据后文件size并不会减小,解决办法:
    E:\sqlite3>sqlite3db_stu.sqlite3"VACUUM;"E:\sqlite3>dir驱动器E中的卷没有标签。卷的序列号是0672-3CDAE:\sqlite3的目录2023/05/1617:33<DIR>.2023/05/1617:33<DIR>..2023/05/1617:33169,776,128......
  • 文件上传进度条以及撤回请求实现
    文件上传进度条exportfunctioncloudrtkImport(data,idx,callback,signal){returnrequest({url:"/***********",method:"POST",headers:{Authorization:"Bearer"+sessionStorage.getItem("access_token&qu......
  • 第六章 文件及文件系统 6.3 文件的物理结构
    为文件分配外存空间时所要考虑的主要问题是:怎样才能有效地利用外存空间和如何提高对文件的访问速度。目前,常用的外存分配方法有:连续分配,链接分配,索引分配 一、连续分配 1.要求为每一个文件分配一组相邻接的盘块。 2.把逻辑文件中的数据顺序地存储到物理上邻接的各个......
  • Linux 文件系统inode号
    目录一、inodeinode只有一个,唯一的,一个文件必须占用一个inode号,但是至少占用一个数据块(数据不足一个数据块,也是占用一个数据块)inode记录:元信息,权限,字节数,所有组,所有组,时间 二、时间类型atime:使用都会修改时间mtime:修改数据内容,空文件修改内容并且保存内容......