返回顶部
首页 > 资讯 > 操作系统 >Linux下怎么寻找相同文件
  • 946
分享到

Linux下怎么寻找相同文件

2023-06-15 23:06:42 946人浏览 独家记忆
摘要

这篇文章主要介绍了linux下怎么寻找相同文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。随着电脑的使用,系统里将产生很多垃圾,比较典型的就是同一份文件被保存到了不同的位置

这篇文章主要介绍了linux下怎么寻找相同文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

随着电脑的使用,系统里将产生很多垃圾,比较典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。

所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 Linux 下,我们可以通过识别文件的 inode  值来找出系统中的相同文件。

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://lsjlt.com/news/281863.html(转载时请注明来源链接)

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

猜你喜欢
  • Linux下怎么寻找相同文件
    这篇文章主要介绍了Linux下怎么寻找相同文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。随着电脑的使用,系统里将产生很多垃圾,比较典型的就是同一份文件被保存到了不同的位置...
    99+
    2023-06-15
  • Linux下怎么寻找相同的文件
    今天小编给大家分享一下Linux下怎么寻找相同的文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。所以如果你的电脑空间告急的...
    99+
    2023-06-28
  • 在Linux下怎么寻找相同的文件
    小编给大家分享一下在Linux下怎么寻找相同的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!inode 是一个数据结构,记录了文件所有信息,除了文件名和文件内...
    99+
    2023-06-05
  • Linux下如何寻找相同文件的方法
    随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。 所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 L...
    99+
    2022-06-03
    Linux 寻找相同文件 Linux 相同文件查找
  • Python中怎么删除目录下的相同文件
    本篇文章给大家分享的是有关Python中怎么删除目录下的相同文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。# -*- coding: cp93...
    99+
    2023-06-17
  • Linux下mysql找不到mysql.sock文件怎么办
    本篇内容介绍了“Linux下mysql找不到mysql.sock文件怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2024-04-02
  • java怎么找出两个文本文件中有相同字段的行
    这篇文章主要介绍“java怎么找出两个文本文件中有相同字段的行”,在日常操作中,相信很多人在java怎么找出两个文本文件中有相同字段的行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么找出两个文本文...
    99+
    2023-06-03
  • linux下怎么查找某个文件的位置
    本篇内容主要讲解“linux下怎么查找某个文件的位置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下怎么查找某个文件的位置”吧!<h2 class="postTitle...
    99+
    2023-06-06
  • 使用PHP怎么在两个文件中找出相同的记录
    使用PHP怎么在两个文件中找出相同的记录?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。引言给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿...
    99+
    2023-06-15
  • Linux如何使用diff命令比较文件找出文件之间相同的部分
    本篇内容主要讲解“Linux如何使用diff命令比较文件找出文件之间相同的部分”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux如何使用diff命令比较文件找出文件之间相同的部分”吧!  ...
    99+
    2023-06-13
  • Linux 系统的下文件查找
    Linux 系统下文件查找1、which(1)作用:用于查找并显示给定命令的绝对路径(2)语法:which(选项)(参数)(3)案例:[root@localhost ~]# which cd &n...
    99+
    2024-04-02
  • Linux中通过Socket文件描述符寻找连接状态
    本篇内容介绍了“Linux中通过Socket文件描述符寻找连接状态”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Proc虚拟文件系统下面有许...
    99+
    2023-06-13
  • Linux下数据库文件被误删后怎么找回
    这篇文章主要讲解了“Linux下数据库文件被误删后怎么找回”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下数据库文件被误删后怎么找回”吧!Linu...
    99+
    2024-04-02
  • 怎么在Linux下快速找到被删除的文件
    小编给大家分享一下怎么在Linux下快速找到被删除的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,...
    99+
    2023-06-07
  • Linux怎么查找特定文件
    今天小编给大家分享一下Linux怎么查找特定文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。whereis 查找...
    99+
    2023-06-28
  • linux怎么查找文件位置
    在Linux中,可以使用以下命令来查找文件位置:1. find命令:用于递归地查找文件和目录。语法如下:```shellfind [...
    99+
    2023-08-25
    linux
  • 怎么使用python删除同一文件夹下相似的图片
    小编给大家分享一下怎么使用python删除同一文件夹下相似的图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python有哪些常用库python常用的库:1.r...
    99+
    2023-06-14
  • 在Linux下怎么使用rsync对比和同步文件
    本篇内容主要讲解“在Linux下怎么使用rsync对比和同步文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux下怎么使用rsync对比和同步文件”吧!排除文件和目录列表有时候,当我们...
    99+
    2023-06-13
  • linux如何寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
    ...
    99+
    2024-04-02
  • 详解Linux下find查找文件命令和grep查找文件命令
    目录一、find命令1.按文件名2.按文件类型查询3.按照文件大小查找4.按照文件日期查找4.1按照创建日期查找4.2按照修改日期查找4.3按照访问日期查找5.按深度查找5.1查找起始点以下n层的目录,不超过n层5.2搜...
    99+
    2022-06-05
    linux查找文件命令 linuxfind文件命令 linuxgrep命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作