❶ linux如何比較兩個文件夾的差異,然後復制差異文件到另一個文件夾
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
# 定義目錄變數,便於引用
A=/tmp/A
B=/tmp/B
C=/tmp/C
# 顯示B目錄文件,按列顯示,便於for循環時按行讀取
ls "$B"|awk '{print $n}' >line
# 主程序
for filename in `cat line`
do
# ! -f 判斷文件名 -d 判斷目錄/ 是否在路徑下存在,如果精確匹配需要用到md5sum!
if [ ! -f "$A"/"$filename" ]; then
# 提示信息,可刪除
echo $filename 在"$A"不存在,正復制到"$C"目錄!
# cp -rf 在C目錄不存在時直接創建
cp -rf "$B"/$filename "$C"
fi
done
# 清除生成的文件列表文件
rm -rf line
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
A=/tmp/A
B=/tmp/B
C=/tmp/C
ls "$B"|awk '{print $n}' >line
for filename in `cat line`
do
if [ ! -f "$A"/"$filename" ]; then
echo $filename 在"$A"不存在,正復制到"$C"目錄!
cp -rf "$B"/$filename "$C"
fi
done
rm -rf line
❷ 怎麼快速對比兩個Linux文件夾
一】可以通過ls -l|wc -l對比文件數量是否一樣
二】可以通過ls -l >filename.txt然後再diff filename1.txt filename2.txt,將文件名列出來並重定向到一個文件,然後通過diff命令對比這兩個文件即可找到有哪些文件不一致。
三】升級版,通過md5sum命令生成md5碼,然後用for循環進行遍歷對比