मैं एक निर्देशिका ट्री की प्रतिलिपि कैसे बनाऊं लेकिन लिनक्स में फाइलें नहीं?


17

मैं लगभग 200 निर्देशिकाओं और उपनिर्देशिकाओं को एक स्थान से दूसरे स्थान पर कॉपी करना चाहता हूं, लेकिन मैं उन निर्देशिकाओं में हजारों फ़ाइलों की प्रतिलिपि नहीं बनाना चाहता। मैं लिनक्स पर हूं।

नोट: मेरे पास सब कुछ कॉपी करने के लिए पर्याप्त जगह नहीं है तो सभी फाइलों को हटा दें।

जवाबों:




5

एक और दृष्टिकोण के साथ है खोजने और mkdir :

find SOURCE -type d -exec mkdir TARGET/{} \;

बस सुनिश्चित करें कि TARGET पहले से मौजूद है या mkdir के -p विकल्प का उपयोग करें।


3

आप भी कर सकते हैं:

find inputdir -type d | cpio -pdumv destdir

सादगी की शक्ति)


1

इसी तरह, (GNU) टार का उपयोग कर:

find some/dir -type d -print |
tar --no-recursion -T- -c -p -f- |
(cd another/dir && tar -x -p -f-)

आपको वास्तव -print0में खोज कमांड लाइन पर या -0rsync कमांड लाइन पर तब तक ज़रूरत नहीं है जब तक कि आपके पास ऐसे फ़ाइल नाम नहीं हैं जिनमें न्यूलाइन वर्ण हैं (जो संभव है लेकिन अत्यधिक संभावना नहीं है)। टार (और rsync, और cpio) फ़ाइल नाम लाइन-बाय-लाइन पढ़ें; NULL टर्मिनेटर का उपयोग करना ज्यादातर उपयोगी होता है xargs, जो आमतौर पर व्हाट्सएप से अलग किए गए फ़ाइल नाम को पढ़ता है (और इसलिए उनके नाम के बिना रिक्त स्थान वाली फ़ाइलों / निर्देशिकाओं को संभालता नहीं है -0)।



-1
cp -al 

हार्ड लिंक के साथ सभी फाइलों को कॉपी करेगा। एक ही संरचना, एक ही अनुमति। (ध्यान दें: हार्ड लिंक, इसलिए कोई स्टोरेज नहीं खोया।)


फाइलसिस्टम सीमाओं के पार कड़ी बनाना संभव नहीं है
माउंटेनएक्स-फॉर-मोनिका

सच है, लेकिन यह नहीं कहा गया था कि यह फाइलसिस्टम के पार था ...
स्वेनड

-1

ls -d * / @ स्रोत: ढूंढें। -टाइप d -print0> dirs.txt @destination: xargs -0 mkdir -p

यह दोनों आदेशों को व्हाट्सएप के बजाय विभाजक के रूप में नल का उपयोग करने का कारण होगा। ध्यान दें कि -type d और -print0 का क्रम महत्वपूर्ण है!


यह स्पष्ट नहीं है और गलत लगता है। ऐसा लगता है कि पाठक के लिए संकेत @sourceऔर @destinationसंकेत हैं, लेकिन फिर भी यह काम नहीं कर सकता है।
Law29
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.