मेरे पास दो फ़ोल्डर्स हैं जिनमें विभिन्न फाइलें हैं। पहले फोल्डर की कुछ फाइलें दूसरे फोल्डर में हूबहू कॉपी होती हैं। मैं उन लोगों को एक हार्ड लिंक से बदलना चाहूंगा। मैं उसे कैसे कर सकता हूँ?
मेरे पास दो फ़ोल्डर्स हैं जिनमें विभिन्न फाइलें हैं। पहले फोल्डर की कुछ फाइलें दूसरे फोल्डर में हूबहू कॉपी होती हैं। मैं उन लोगों को एक हार्ड लिंक से बदलना चाहूंगा। मैं उसे कैसे कर सकता हूँ?
जवाबों:
मुझे लिनक्स के लिए 4 कमांड-लाइन समाधानों का पता है। rdfind
सभी विकल्पों में से उपलब्ध होने के कारण , मेरा पसंदीदा यहां अंतिम सूचीबद्ध है ।
fdupes
नमूना उत्पादन (विकल्प "शो आकार", "पुनरावर्ती") के साथ:
$ fdupes -Sr .
17 bytes each:
./Dir1/Some File
./Dir2/SomeFile
hardlink
--dry-run
विकल्प है। नमूना आउटपुट (ध्यान दें कि मेरी दो फ़ाइलों का संशोधित समय कितना अलग है, इसलिए दूसरे रन में मैं इसे अनदेखा करने के लिए कहता हूं):
$ stat Dir*/* | grep Modify
Modify: 2015-09-06 23:51:38.784637949 -0500
Modify: 2015-09-06 23:51:47.488638188 -0500
$ hardlink --dry-run -v .
Mode: dry-run
Files: 5
Linked: 0 files
Compared: 0 files
Saved: 0 bytes
Duration: 0.00 seconds
$ hardlink --dry-run -v -t .
[DryRun] Linking ./Dir2/SomeFile to ./Dir1/Some File (-17 bytes)
Mode: dry-run
Files: 5
Linked: 1 files
Compared: 1 files
Saved: 17 bytes
Duration: 0.00 seconds
गूंथा हुआ आटा
नमूना आउटपुट (विकल्प "पुनरावर्ती" के साथ):
$ duff -r .
2 files in cluster 1 (17 bytes, digest 34e744e5268c613316756c679143890df3675cbb)
./Dir2/SomeFile
./Dir1/Some File
rdfind
find
?)।नमूना उत्पादन:
$ rdfind -dryrun true -makehardlinks true .
(DRYRUN MODE) Now scanning ".", found 5 files.
(DRYRUN MODE) Now have 5 files in total.
(DRYRUN MODE) Removed 0 files due to nonunique device and inode.
(DRYRUN MODE) Now removing files with zero size from list...removed 0 files
(DRYRUN MODE) Total size is 13341 bytes or 13 kib
(DRYRUN MODE) Now sorting on size:removed 3 files due to unique sizes from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on md5 checksum:removed 0 files from list.2 files left.
(DRYRUN MODE) It seems like you have 2 files that are not unique
(DRYRUN MODE) Totally, 17 b can be reduced.
(DRYRUN MODE) Now making results file results.txt
(DRYRUN MODE) Now making hard links.
hardlink ./Dir1/Some File to ./Dir2/SomeFile
Making 1 links.
$ cat results.txt
# Automatically generated
# duptype id depth size device inode priority name
DUPTYPE_FIRST_OCCURRENCE 1 1 17 2055 24916405 1 ./Dir2/SomeFile
DUPTYPE_WITHIN_SAME_TREE -1 1 17 2055 24916406 1 ./Dir1/Some File
# end of file
डुप्लिकेट कमांडर विंडोज पर एक संभावित समाधान है:
डुप्लिकेट कमांडर एक फ्रीवेयर एप्लिकेशन है जो आपको अपने पीसी पर डुप्लिकेट फ़ाइलों को खोजने और प्रबंधित करने की अनुमति देता है। डुप्लिकेट कमांडर कई सुविधाओं और उपकरणों के साथ आता है जो आपको उन डुप्लिकेट से अपने डिस्क स्थान को पुनर्प्राप्त करने की अनुमति देते हैं।
विशेषताएं:
Replacing files with hard links Replacing files with soft links ... (and many more) ...
लिनक्स के लिए आप यहां बैश स्क्रिप्ट पा सकते हैं ।
डुप्लिकेट और समान फ़ाइल खोजक अभी तक विंडोज पर एक और समाधान है:
डुप्लिकेट और समान फ़ाइलें खोजक (डुप्लिकेट खोजकर्ता) डुप्लिकेट फ़ाइलों (क्लोन) और NTFS हार्ड लिंक को एक ही फ़ाइल में खोजने के लिए एक आवेदन पत्र है। यह फ़ाइल नाम की परवाह किए बिना डुप्लिकेट फ़ाइल सामग्री की खोज करता है (सच बाइट-टू-बाइट तुलना का उपयोग किया जाता है)। यह एप्लिकेशन न केवल डुप्लिकेट फ़ाइलों को हटाने या उन्हें किसी अन्य स्थान पर ले जाने की अनुमति देता है, लेकिन डुप्लिकेट को NTFS हार्ड लिंक के साथ-साथ (अद्वितीय)!
मेरे कंप्यूटर पर निफ्टी फ्री टूल था जिसे लिंक शैल एक्सटेंशन कहा जाता था; यह न केवल हार्ड लिंक और प्रतीकात्मक लिंक बनाने के लिए बहुत अच्छा था, बल्कि जंक्शन भी! इसके अलावा, इसने कस्टम आइकन जोड़े जो आपको आसानी से विभिन्न प्रकार के लिंक की पहचान करने की अनुमति देते हैं, यहां तक कि जो पहले से ही इंस्टॉलेशन से पहले मौजूद थे; लाल तीर उदाहरण के लिए हार्ड लिंक का प्रतिनिधित्व करते हैं, जबकि ग्रीन प्रतीकात्मक लिंक का प्रतिनिधित्व करते हैं ... और चेन जंक्शनों का प्रतिनिधित्व करते हैं।
मैंने दुर्भाग्यवश कुछ समय पहले सॉफ़्टवेयर की स्थापना रद्द की (विभिन्न कार्यक्रमों के एक मास-अनइंस्टॉल में), इसलिए मैं मैन्युअल रूप से अब और लिंक नहीं बना सकता, लेकिन जब भी विंडोज हार्ड, सिम्बोलिक या जंक्शन लिंक का पता लगाता है, तो आइकन स्वचालित रूप से दिखाई देते हैं।
मैं jdupes की अत्यधिक अनुशंसा करता हूं । यह fdupes का बढ़ा हुआ कांटा है , लेकिन इसमें ये भी शामिल हैं:
--linkhard
, या -L
संक्षेप मेंअपने प्रश्न के लिए, आप बस निष्पादित कर सकते हैं $ jdupes -L /path/to/your/files
।
आप अपने GitHub रेपो से नवीनतम स्रोत का क्लोन और निर्माण करना चाह सकते हैं क्योंकि परियोजना अभी भी सक्रिय विकास के अधीन है।
यहां विंडोज बायनेरिज़ भी दिए गए हैं। पैकेज्ड बायनेरिज़ कुछ लिनक्स / बीएसडी डिस्ट्रोस में उपलब्ध हैं - वास्तव में मैंने पहली बार इसके माध्यम से पाया $ apt search
।