iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >在Linux下怎么寻找相同的文件
  • 719
分享到

在Linux下怎么寻找相同的文件

2023-06-05 10:06:28 719人浏览 安东尼
摘要

小编给大家分享一下在linux下怎么寻找相同的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内

小编给大家分享一下在linux下怎么寻找相同的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内容。如果两个或多个文件具有相同的 inode 值,即使它们的文件名不一样,位置不一样,它们的内容、所有者、权限其实都是一样的,我们可以将其视有相同文件。

这类型的文件其实就是所谓的「硬链接」。硬链接具有相同的 inode 值,但文件名不一样。而软链接其实就是快捷方式,它指向目标文件,但有着自己的 inode 值。

$ ls -l my* -rw-r--r-- 4 liangxu liangxu   228 Apr 12 19:37 myfile lrwxrwxrwx 1 liangxu liangxu     6 Apr 15 11:18 myref -> myfile -rw-r--r-- 4 liangxu liangxu   228 Apr 12 19:37 mytwin

我们无法直接知道同一目录下有哪些文件是有相同的 inode 值,但要识别起来也不难。其实我们只要使用 ls -i 命令,再以 inode 值进行排序,就可以直接找到这些文件。

$ ls -i | sort -n | more  ...  788000 myfile    <==  788000 mytwin    <==  801865 Name_Labels.pdf  786692 never leave home angry  920242 NFCU_Docs  800247 nmap-notes

在这个结果的第一列里,就是对应的 inode 值。所以从这个结果里我们一眼就可以看出来,哪些文件具有相同 inode 值。

如果你只是想找到一个文件的对应硬链接文件,我们可以使用 find 命令,再加个 -samefile 选项即可快速找到。

$ find . -samefile myfile ./myfile ./save/mycopy ./mytwin

这些文件都是有相同的 inode 值,不信的话可以再使用 ls 命令来查看更多信息:

$ find . -samefile myfile -ls  788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./myfile  788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./save/mycopy  788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./mytwin

我们可以看到,除了文件名之外,这几个文件名的信息完全一样。细心的朋友可能会注意到,在第2列(硬连接数)是4,而实际上我们找出来的文件只有3个,这说明还有一个文件与他们共享 inode 值,只是我们通过这条命令没有找出来而已。

作为一个懒人,每次敲命令多麻烦,直接上脚本找出目录下的相同文件!

#!/bin/bash  # seaches for files sharing inodes  prev=""  # list files by inode ls -i | sort -n > /tmp/$0  # search through file for duplicate inode #s while read line do     inode=`echo $line | awk '{print $1}'`     if [ "$inode" == "$prev" ]; then         grep $inode /tmp/$0     fi     prev=$inode done < /tmp/$0  # clean up rm /tmp/$0

运行结果:

$ ./findHardLinks  788000 myfile  788000 mytwin

当然了,你还可以使用 find 命令,根据 inode 值,找到系统里所有相同文件。

$ find / -inum 788000 -ls 2> /dev/null  788000   4 -rw-r--r--   4 liangxu   liangxu    228 Apr 12 19:37 /tmp/mycopy  788000   4 -rw-r--r--   4 liangxu   liangxu    228 Apr 12 19:37 /home/liangxu/myfile  788000   4 -rw-r--r--   4 liangxu   liangxu    228 Apr 12 19:37 /home/liangxu/save/mycopy  788000   4 -rw-r--r--   4 liangxu   liangxu    228 Apr 12 19:37 /home/liangxu/mytwin

在这条命令里,我们将错误提示重定向到 /dev/null 这个特殊文件里,这样在搜索一些我们没有权限访问的路径时,不会满屏的 permission denied 。

以上是“在Linux下怎么寻找相同的文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: 在Linux下怎么寻找相同的文件

本文链接: https://www.lsjlt.com/news/242406.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 在Linux下怎么寻找相同的文件
    小编给大家分享一下在Linux下怎么寻找相同的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内...
    99+
    2023-06-05
  • Linux下怎么寻找相同的文件
    今天小编给大家分享一下Linux下怎么寻找相同的文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。所以如果你的电脑空间告急的...
    99+
    2023-06-28
  • Linux下怎么寻找相同文件
    这篇文章主要介绍了Linux下怎么寻找相同文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。随着电脑的使用,系统里将产生很多垃圾,比较典型的就是同一份文件被保存到了不同的位置...
    99+
    2023-06-15
  • 使用PHP怎么在两个文件中找出相同的记录
    使用PHP怎么在两个文件中找出相同的记录?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。引言给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿...
    99+
    2023-06-15
  • 怎么在Linux下快速找到被删除的文件
    小编给大家分享一下怎么在Linux下快速找到被删除的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,...
    99+
    2023-06-07
  • Python中怎么删除目录下的相同文件
    本篇文章给大家分享的是有关Python中怎么删除目录下的相同文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。# -*- coding: cp93...
    99+
    2023-06-17
  • 在Linux下怎么使用rsync对比和同步文件
    本篇内容主要讲解“在Linux下怎么使用rsync对比和同步文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux下怎么使用rsync对比和同步文件”吧!排除文件和目录列表有时候,当我们...
    99+
    2023-06-13
  • java怎么找出两个文本文件中有相同字段的行
    这篇文章主要介绍“java怎么找出两个文本文件中有相同字段的行”,在日常操作中,相信很多人在java怎么找出两个文本文件中有相同字段的行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么找出两个文本文...
    99+
    2023-06-03
  • linux下怎么查找某个文件的位置
    本篇内容主要讲解“linux下怎么查找某个文件的位置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下怎么查找某个文件的位置”吧!<h2 class="postTitle...
    99+
    2023-06-06
  • Linux下mysql找不到mysql.sock文件怎么办
    本篇内容介绍了“Linux下mysql找不到mysql.sock文件怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2024-04-02
  • linux如何在多个文件中替换掉相同的文本
    这篇文章主要介绍了linux如何在多个文件中替换掉相同的文本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在多个文件中替换掉相同的文本应用程序:find(译注:Linux下的...
    99+
    2023-06-27
  • Linux如何使用diff命令比较文件找出文件之间相同的部分
    本篇内容主要讲解“Linux如何使用diff命令比较文件找出文件之间相同的部分”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux如何使用diff命令比较文件找出文件之间相同的部分”吧!  ...
    99+
    2023-06-13
  • 如何在Linux下找到被误删除的文件
    这篇文章主要介绍“如何在Linux下找到被误删除的文件”,在日常操作中,相信很多人在如何在Linux下找到被误删除的文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux下找到被误删除的文件”的疑...
    99+
    2023-06-15
  • 在linux中怎么查找文件内容
    这篇文章主要介绍“在linux中怎么查找文件内容”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在linux中怎么查找文件内容”文章能帮助大家解决问题。在linux中,可以利用grep命令来查找文件内...
    99+
    2023-06-29
  • 怎么在Linux系统中查找文件
    本篇文章为大家展示了怎么在Linux系统中查找文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。linux查找文件1.1 find命令Linux find 命令是所有 Linux 命令中最有用的一个...
    99+
    2023-06-16
  • 在Linux系统下怎么查找可移植可执行文件
    这篇文章主要介绍“在Linux系统下怎么查找可移植可执行文件”,在日常操作中,相信很多人在在Linux系统下怎么查找可移植可执行文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Linux系统下怎么查找可移...
    99+
    2023-06-13
  • 2019实用的Python运用技法总结:在两个字典中寻找相同点
    2019实用的Python运用技法总结:在两个字典中寻找相同点前言:现在有两个字典,我们想找出它们中间可能相同的地方(相同的键、相同的值)...
    99+
    2023-06-02
  • 怎么在Linux下解压Zip文件
    这篇文章主要介绍怎么在Linux下解压Zip文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Zip 是一种创建压缩存档文件的最普通、最流行的方法。它也是一种古老的文件归档文件格式,这种格式创建于 1989 年。由于...
    99+
    2023-06-16
  • 详解PHP如何在两个大文件中找出相同记录
    目录1、引言2、思路3、实操4、生成测试文件5、分割文件6、查找重复记录7、完整代码1、引言 给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿), 机器内存限制...
    99+
    2024-04-02
  • 怎么使用python删除同一文件夹下相似的图片
    小编给大家分享一下怎么使用python删除同一文件夹下相似的图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python有哪些常用库python常用的库:1.r...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作