我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux下怎么寻找相同的文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux下怎么寻找相同的文件

今天小编给大家分享一下Linux下怎么寻找相同的文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

Linux下怎么寻找相同的文件

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

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

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

$ ls -l my*-rw-r--r-- 4 liangxu liangxu   228 Apr 12 19:37 myfilelrwxrwxrwx 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

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

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

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

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

$ find . -samefile myfile -ls788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./myfile788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./save/mycopy788000    4 -rw-r--r--   4 liangxu    liangxu      228 Apr 12 19:37 ./mytwin

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

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

#!/bin/bash# seaches for files sharing inodesprev=""# list files by inodels -i | sort -n > /tmp/$0# search through file for duplicate inode #swhile read linedo   inode=`echo $line | awk '{print $1}'`   if [ "$inode" == "$prev" ]; then       grep $inode /tmp/$0   fi   prev=$inodedone $0# clean uprm /tmp/$0

运行结果:

$ ./findHardLinks788000 myfile788000 mytwin

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

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

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

以上就是“Linux下怎么寻找相同的文件”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux下怎么寻找相同的文件

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

下载Word文档

猜你喜欢

Linux下怎么寻找相同文件

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

Linux下怎么寻找相同的文件

今天小编给大家分享一下Linux下怎么寻找相同的文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。所以如果你的电脑空间告急的
2023-06-28

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

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

Linux下如何寻找相同文件的方法

随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。 所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放一些空间。在 Linux 下,我们可以通
2022-06-03

Python中怎么删除目录下的相同文件

本篇文章给大家分享的是有关Python中怎么删除目录下的相同文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。# -*- coding: cp936 -*- import m
2023-06-17

java怎么找出两个文本文件中有相同字段的行

这篇文章主要介绍“java怎么找出两个文本文件中有相同字段的行”,在日常操作中,相信很多人在java怎么找出两个文本文件中有相同字段的行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么找出两个文本文
2023-06-03

linux下怎么查找某个文件的位置

本篇内容主要讲解“linux下怎么查找某个文件的位置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下怎么查找某个文件的位置”吧!

2023-06-06

使用PHP怎么在两个文件中找出相同的记录

使用PHP怎么在两个文件中找出相同的记录?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。引言给定a,b两个文件, 分别有x,y行数据, 其中(x, y均大于10亿
2023-06-15

Linux如何使用diff命令比较文件找出文件之间相同的部分

本篇内容主要讲解“Linux如何使用diff命令比较文件找出文件之间相同的部分”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux如何使用diff命令比较文件找出文件之间相同的部分”吧!  
2023-06-13

怎么在Linux下快速找到被删除的文件

小编给大家分享一下怎么在Linux下快速找到被删除的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,
2023-06-07

linux如何寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令

Linux中查找以".ps"结尾的文件运行updatedb更新文件数据库。使用locate*ps查找文件(基于数据库)。使用find/-name"*.ps"递归搜索文件系统。使用-mtime、-size和-path选项进行高级搜索。
linux如何寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
2024-04-13

linux覆盖的文件怎么找回

如果你在Linux上覆盖了文件,有几种方法可以尝试找回文件:1. 检查垃圾箱:首先,查看你的垃圾箱或回收站,看看是否有被覆盖的文件。如果有,你可以将其恢复到原始位置。2. 使用文件恢复工具:Linux上有一些文件恢复工具,如TestDisk
2023-09-08

怎么使用python删除同一文件夹下相似的图片

小编给大家分享一下怎么使用python删除同一文件夹下相似的图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python有哪些常用库python常用的库:1.r
2023-06-14

Linux怎么查找特定文件

今天小编给大家分享一下Linux怎么查找特定文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。whereis 查找软件的安装
2023-06-28

linux怎么查找文件位置

在Linux中,可以使用以下命令来查找文件位置:1. find命令:用于递归地查找文件和目录。语法如下:```shellfind [路径] [表达式]```例如,要在整个系统中查找名为"file.txt"的文件,可以运行以下命令:```sh
2023-08-25

linux怎么找回被覆盖的文件

如果文件在Linux系统上被覆盖,有几种方法可以尝试找回文件:1. 使用"undelete"命令:有些Linux发行版提供了"undelete"命令,它可以帮助找回误删除或被覆盖的文件。在终端中输入"undelete"命令加上文件名,然后按
2023-08-29

编程热搜

目录