Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1337869
  • 博文数量: 283
  • 博客积分: 11086
  • 博客等级: 上将
  • 技术积分: 3225
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 17:06
个人简介

闻鸡起舞

文章分类

全部博文(283)

文章存档

2022年(1)

2021年(2)

2020年(9)

2019年(9)

2018年(6)

2017年(10)

2016年(10)

2014年(3)

2013年(4)

2011年(12)

2010年(16)

2009年(14)

2008年(119)

2007年(48)

2006年(20)

我的朋友

分类: 其他UNIX

2019-10-24 10:02:05

Inode中存储一个文件除内容以外的信息。比如权限、大小等。有一个唯一的序号(inode serial number)来标识。可以存在好几个硬链接,同时对应这个文件(相同的文件内容)因此,一个文件叫什么名字,存在哪里,其实都不重要(在BSD系统里也称为vnodes).


可以用stat命令来查看inode信息:
$stat a.log
16777220 4303885280 -rw-r--r-- 2 mc staff 0 0 "Jun  8 07:39:34 2018" "Jun  8 07:39:34 2018" "Oct 24 09:20:37 2019"
 "Jun  8 07:39:34 2018" 4194304 0 0 a.log
第二个信息就是 inode ID: 4303885280
有两个硬链接


用ls的i参数,也可以显示inode的信息。
ls -i a.log
4303885280 a.log


如何通过inode ID 找到一个文件的信息?
find . -inum 4303885280
./a.log
./a_t.log
两个硬链接,全部显示出来。


软硬链接:

软链接
(symbolic links):

ln -s source_file target_file

软链接inode ID与原始的文件的inode ID 并不相同。如果把文件移动到其它位置,软链接会失效。

看来起好想不太好?可这恰恰是软链接的优势所在。软链接通过路径定位到文件。假如删除了一个文件,随后把另一个文件重命名为这个刚删除的文件名,那么之前的软链接会作用于这个新的文件。比如之前有个文件myfile, 回头把它备份为myfile_20191023,再重新建一个 myfile,软链接仍然有效。

硬链接(hard links):

ln source_file target_file

硬链接包含原始inode信息。但不包含原始文件内容的路径信息。使用硬链接,可以让一个文件出现在不同的位置。除非把所有硬链接都删除,否则不能删除最原始的硬链接(即彻底删除文件。)这一点与软链接不同。软链接可以删除文件,对应的软链接仍然保存,不过再不能通过它找到原来的文件而已。





阅读(477) | 评论(0) | 转发(0) |
0

上一篇:Mac OS 下的stat命令

下一篇:perl 的stat 函数

给主人留下些什么吧!~~