रास्पबेरी पाई 3 बी + (मैं एक ओवरले फ़ाइल सिस्टम का उपयोग कर रहा हूं, और समय-समय पर सिंक करने की आवश्यकता है) के साथ कुछ परीक्षण कर रहा हूं, मैंने डिफेक-सी और सीएमपी-एस के लिए अपनी खुद की तुलना की; ध्यान दें कि यह अंदर / देव / shm से एक लॉग है, इसलिए डिस्क एक्सेस स्पीड एक गैर-मुद्दा है:
[root@mypi shm]# dd if=/dev/urandom of=test.file bs=1M count=100 ; time diff -q test.file test.copy && echo diff true || echo diff false ; time cmp -s test.file test.copy && echo cmp true || echo cmp false ; cp -a test.file test.copy ; time diff -q test.file test.copy && echo diff true || echo diff false; time cmp -s test.file test.copy && echo cmp true || echo cmp false
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 6.2564 s, 16.8 MB/s
Files test.file and test.copy differ
real 0m0.008s
user 0m0.008s
sys 0m0.000s
diff false
real 0m0.009s
user 0m0.007s
sys 0m0.001s
cmp false
cp: overwrite âtest.copyâ? y
real 0m0.966s
user 0m0.447s
sys 0m0.518s
diff true
real 0m0.785s
user 0m0.211s
sys 0m0.573s
cmp true
[root@mypi shm]# pico /root/rwbscripts/utils/squish.sh
मैंने इसे एक-दो बार चलाया। cmp -s लगातार परीक्षण बॉक्स मैं उपयोग कर रहा था पर थोड़ा कम समय था। तो अगर आप दो फाइलों के बीच चीजों को करने के लिए cmp -s का उपयोग करना चाहते हैं ...।
identical (){
echo "$1" and "$2" are the same.
echo This is a function, you can put whatever you want in here.
}
different () {
echo "$1" and "$2" are different.
echo This is a function, you can put whatever you want in here, too.
}
cmp -s "$FILEA" "$FILEB" && identical "$FILEA" "$FILEB" || different "$FILEA" "$FILEB"