电脑随着使用,系统中会产生大量的垃圾。最典型的就是同一个文件保存在不同的位置。慢点。因此,如果您的计算机空间不足,您可以尝试删除此类文件以释放一些空间。在Linux下,我们可以通过识别文件的inode值来找出系统中的同一个文件。inode是一种数据结构,记录了文件的所有信息,除了文件名和文件内容。如果两个或多个文件具有相同的inode值,即使它们的文件名和位置不同,但它们的内容、所有者和权限实际上是相同的,我们可以将它们视为同一个文件。这种类型的文件实际上就是所谓的“硬链接”。硬链接具有相同的inode值但不同的文件名。软链接其实就是一个快捷方式,指向目标文件,但是有自己的inode值。$ls-lmy*-rw-r--r--4liangxuliangxu228Apr1219:37myfilelrwxrwxrwx1liangxuliangxu6Apr1511:18myref->myfile-rw-r--r--4liangxuliangxu228Apr1219:37mytwin我们无法直接知道同一目录下哪些文件具有相同的inode值,但不难识别。其实我们只要使用ls-i命令,按照inode值排序,就可以直接找到这些文件。$ls-i|排序-n|more...788000myfile<==788000mytwin<==801865Name_Labels.pdf786692neverleavehomeangry920242NFCU_Docs800247nmap-notes这个结果的第一列是对应的inode值。所以从这个结果中,我们可以一眼看出哪些文件的inode值是一样的。如果只是想找到一个文件对应的硬链接文件,我们可以使用find命令,加上-samefile选项可以快速找到。$找到。-samefilemyfile./myfile./save/mycopy./mytwin这些文件都具有相同的inode值。如果你不相信我,你可以使用ls命令查看更多信息:$find。-samefilemyfile-ls7880004-rw-r--r--4liangxuliangxu228Apr1219:37./myfile7880004-rw-r--r--4liangxuliangxu228Apr1219:37./save/mycopy7880004-rw-r--r--4liangxuliangxu228Apr1219:37./mytwin我们可以看到这几个文件名的信息除了文件名不同之外完全一样。细心的朋友可能会注意到第二列(硬链接数)是4,但实际上我们只找到了3个文件,也就是说还有另外一个文件和他们共享inode值,但是我们通过这个命令Didn'找不到它。作为一个懒人,每次都要敲命令好麻烦,直接去脚本里找目录下一样的文件就好了!#!/bin/bash#搜索文件共享inodesprev=""#listfilesbyinodeles-i|sort-n>/tmp/$0#在文件中搜索重复的inode#swhilereadlinedoinode=`echo$line|awk'{print$1}'`if["$inode"=="$prev"];然后grep$inode/tmp/$0fiprev=$inodedone/dev/null7880004-rw-r--r--4liangxuliangxu228Apr1219:37/tmp/mycopy7880004-rw-r--r--4liangxuliangxu228Apr1219:37/home/liangxu/myfile7880004-rw-r--r--4liangxuliangxu228Apr1219:37/home/liangxu/save/mycopy7880004-rw-r--r--4liangxuliangxu228Apr1219:37/home/liangxu/mytwin在这个命令中,我们将错误信息重定向到特殊文件/dev/null,以便搜索一些我们没有权限的路径access,不会有全屏权限被拒绝。以上是良旭教程网为各位小伙伴分享的Linux下搜索同一个文件。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。
