导航:首页 > 文件教程 > linux查找重复文件

linux查找重复文件

发布时间:2023-01-24 22:56:34

linux查找目录下是否有相同文件

如果是同一个目录下,linux不允许同名文件存在,所以没办法查的

② Linux文件相关命令

grep命令:
grep命令是非常重要的命令,可以对文本进行查找和搜索

常用参数如下:

常用实例:
1、在多个文件中查找:
grep "file" file_1 file_2 file_3

2、输出除之外的所有行 -v 选项:
grep -v "file" file_name

3、标记匹配颜色 --color=auto 选项:
grep "file" file_name --color=auto

4、使用正则表达式 -E 选项:
grep -E "[1-9]+"
egrep "[1-9]+"

5、只输出文件中匹配到的部分 -o 选项:
echo this is a test line. | grep -o -E "[a-z]+."
line.

echo this is a test line. | egrep -o "[a-z]+."
line.

6、统计文件或者文本中包含匹配字符串的行数-c 选项:
grep -c "text" file_name
2

7、输出包含匹配字符串的行数 -n 选项:
grep "text" -n file_name

cat file_name | grep "text" -n

8、多个文件
grep "text" -n file_1 file_2

9、搜索多个文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...

10、grep递归搜索文件
在多级目录中对文本进行递归搜索:
grep "text" . -r -n

11、忽略匹配样式中的字符大小写:
echo "hello world" | grep -i "HELLO"
hello

12、选项 -e 指定多个匹配样式:
echo this is a text line | grep -e "is" -e "line" -o
is
line

13、也可以使用 -f 选项来匹配多个样式,在样式文件中逐行写出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o

14、在grep搜索结果中包括或者排除指定文件:
只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep "main()" . -r --include *.{php,html}

15、在搜索结果中排除所有README文件
grep "main()" . -r --exclude "README"

16、在搜索结果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist

touch abc.txt 创建一个名为abc.txt的文件
touch -r 指定文件时间与参考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件为指定的时间
touch temp 创建一个名为temp的文件

vi编辑器有三种模式,命令行模式、编辑模式、底行模式。
vi 文件名进入命令行模式,Insert进入编辑模式,编辑完成Esc退出编辑模式,:wq进入底行模式并保存修改,:q直接退出保存。

tar命令用于打包压缩文件,常用的压缩命令还有bzip2,gzip
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

which命令用于用户查找命令所有路径
命令格式

file命令用于获取文件属性
命令格式
file 文件名或目录名
命令示例:

使用说明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 从第一个字节开始正向查看文件的内容
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;

使用示例
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容
cat /dev/null > /etc/test.txt

tac [filename]
从最后一行开始反向查看一个文件的内容,ac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。

nl [-bnw] 文件
选项与参数:
-b: 指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。

more file1 查看一个长文件的内容,支持一页一页翻动
运行的时候,支持以下几个按键:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序

head [-n number]
head -2 file1 查看一个文件的前两行

tail [-n number]
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

文件权限列中三位为一组,分别代表相关的用户、组、其它用户的权限
权限列中三位为一组,分别代表相关的用户、组、其它用户的权限

所以修改权限可以分别修改或一同修改,系统中权限分为数字权限与字符权限
数字权限:r=4,w=2,x=1
字符权限:+ 增加 -去除 a取消所有加上给定的

修改权限的命令chmod,命令格式:
chmod 权限 文件名或目录名 修改权限格式
chmod -R 权限 目录名 递归将目录及其下面所有内容权限全部修改
chown 改变文件或目录的属主(所有者)

chown 用户名 文件名或目录名

chown 用户名.组名 文件名或目录名
修改所属组也可用chgrp 命令来完成
当你用ls -l 查看到文件的属主、属组为数字时,就表明该文件的创建用户已被删除。

文件的特殊权限

chattr +i(-i) 文件名 锁定文件(取消锁定)不可删除与清空
chattr +a(-a) 文件名 添加内容(只可添加内容)
使用lsattr 文件名 查看文件的特殊权限

由此可以看出
root用户默认创建的目录权限是755,文件权限是644
普通用户默认创建的目录权限是775,文件权限是664
这也是系统默认的比较安全的权限分配,其实这些默认权限全部都是由umask值来决定的
系统规定了
文件的权限值是从666开始计算(默认权限=权限值-umask值)
目录的权限值是从777开始计算(默认权限=权限值-umask值)
文件1的权限=444 (666-232=434——43(3+1)4)

③ linux shell脚本攻略中,通过md5sum来查找出文件夹中的重复文件问题

getline函数调用时,awk将会把下一条记录读入赋值给$0,因此相当于已经跳到下专一行了。
你的程序上面那个属,由于在awk中有多次getline,因此一开始把记录定位到第二行,即第一个文件,然后每调用一次"md5sum "name1 | getline; 记录就跳到了下一行,输出是不会重复的。

而下面的那个程序,没有多次getline调用,awk按行扫描,每次会把当前行的文件名赋值给name2,同时name1又记录了上一次的文件名,因此出现了test01两次,test02两次
事实上,输出和扫描行的对应关系是:
先在BEGIN段跳过两行,当前行为test,name赋值得到test
然后逐行扫描,当前扫描行是test01时, 输出了test test01
当前扫描行是test02时, 输出了 test01 test02
当前扫描行是test02时, 输出了 test02 test03
所以一共出现6行,中间有重复

④ 如何快速找出Linux中的重复文件

用uniq,如下,将 1.txt 中 所有 "相邻" 重复行合并成一行,结果存入 2.txt
uniq 1.txt > 2.txt如果是想将相邻重复行彻底删掉(而不是合并成一行),可以用
uniq -u 1.txt > 2.txt

⑤ 如何快速找出Linux中的重复文件

df-h比如是/很满cd/-sh*就可以看出哪个文件夹大,重复上面一步即可笨了点的方法

⑥ 如何在linux下匹配两个文件的相同字符串

可以使用vim打开文件,然后通过 vim编辑 中的 /(向后查找)或者 ?(向前查找)来查找相应的字符串。

示例:用vim打开/etc/passwd查找admin用户名
vim /etc/passwd
打开文件后,直接输入 /admin 回车即可查找如下图所示:

回车执行,vim查找到后,会标识出来,如下图所示:

另外:使用vim也可以打开可执行程序来查找字符串(在程序没有加壳或者使用其它字符串保护的前提下)。
示例:在test程序中查找hello字符串。
虽然使用vim打开二进制程序文件,显然的是乱码,但是明文字符串依然能查找到,如下图所示:

扩展:在Linux中如果要查找二进程文件即应用程序中的字符串,可以使用反汇编器、调试器等等,比如IDA,就提供强大的字符串查找功能。

⑦ linux下怎么提取几个文件相同内容的项大神,求教。

1.gawk'ARGIND==1{a[$1]=$1}ARGIND==2{if(a[$1]!="")print$1}'a.txtb.txt|gawk'ARGIND==1{a[$1]=$1}ARGIND==2{if(a[$1]!="")print$1}'-c.txt

2.grep-Ffa.txtb.txt|grep-Ff-c.txt

⑧ linux中的find命令怎么查找介于两个大小之间的文件

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。x0dx0a命令格式:find 路径 命令参数 [输出形式]x0dx0ax0dx0a需要使用的参数:x0dx0a-size [+|-]n[cwbkMG] 查找文件打下为n文件。大小之后的字母表示单位,b-块(512字节)、 c表示字节、w-字(2字节)、k-千字节、M-兆字节、G-吉字节,单位的默认值为b。加号表示大于指定大小,减号表示小于指定大小。x0dx0a如果需要查找介于两个大小之间的文件,可以重复设置-size参数两次,一次使用加号+指定大于某一大小,一次使用减号-指定小于某一大小。x0dx0ax0dx0a用法示例:查找HOME目录下大于1M小于10M的文件x0dx0a$ find ~ -size +1M -size -10M

阅读全文

与linux查找重复文件相关的资料

热点内容
苹果手机有photoshop吗 浏览:120
压缩文件下载后怎么找位置 浏览:664
一汽大众app修改密码在哪里 浏览:153
如何开展数据化分析 浏览:846
宝宝故事动画app 浏览:820
iphone无法访问文档 浏览:772
哪里可以查询上市公司财报数据 浏览:751
加工中心圆周铣孔如何手动编程 浏览:308
诛仙飞升135后怎么升级 浏览:419
2016cad输入要附着的图像文件名 浏览:688
c调用linux 浏览:194
荣耀运动数据如何导入行者 浏览:995
iphone6介绍 浏览:578
aspnet输出json 浏览:431
ward文件怎么用图片覆盖文字 浏览:427
qq头像女生古风伤感图片 浏览:781
买床单去哪个网站 浏览:348
沈阳哪里有网络编程学校 浏览:196
证婚文件夹 浏览:37
一般正常文件格式字体是多少号 浏览:320

友情链接