SSH का उपयोग करके दूरस्थ होस्ट से फ़ाइलें निकालें


5

मुझे SSH का उपयोग करके दूरस्थ निर्देशिका के अंदर सभी फ़ाइलों को हटाने की आवश्यकता है,

निर्देशिका को स्वयं हटाया नहीं जाना चाहिए, इसलिए @Wes का उत्तर वह नहीं है जिसकी मुझे आवश्यकता है। यदि यह एक स्थानीय निर्देशिका होती, तो मैं चलाता rm -rf dir/*


1
@ वेस का उत्तर आसानी से आपकी आवश्यकताओं के अनुकूल हो सकता है - बस /*अंत में जोड़ें । यह समझने के लिए शायद ही एक जटिल आदेश है।
सइयोजोज

जवाबों:


15

यह उतना ही सरल है:

ssh HOSTNAME rm -rf "/path/to/the/directory/*"

किसी भी अन्य कमांड के साथ, व्यावहारिक रूप से। बस ssh होस्टनाम कहें, और फिर कमांड जिसे आप निष्पादित करना चाहते हैं। उदाहरण के लिए बहुत काम। रिमोट बैकअप / डंप आदि करना

7

sshमेरी मशीन के आदमी के अनुसार :

If command is specified, it is executed on the remote host instead 
of a login shell.

इसका मतलब यह है कि ssh द्वारा पारित कमांड का शेल विस्तार दूरस्थ पक्ष पर नहीं किया जाएगा। इसलिए हमें "आत्म निहित" कमांड की आवश्यकता है, जो शेल विस्तार पर रिले नहीं करता है।

ssh user@remote-machine "find /path/to/directory -type f -exec rm {} \;"

यहां फ़ाइलों को हटाने के लिए सभी कार्य केवल findशेल से मदद के बिना, विशेष रूप से हटाए गए हैं ।

कुछ ऐसे ही सवाल


1

यह काम कर जाना चाहिए:

ssh HOSTNAME "sh -c 'rm -rf /path/to/the/directory/*'"

ध्यान दें कि आपको दोहरे उद्धरण चिह्नों के साथ रिमोट कमांड और सिंगल कोट्स के साथ pathname संलग्न करना होगा।


-1

निर्देशिका पदानुक्रम से सभी फ़ाइलें निकालें:

ssh user@HOSTNAME 'rm $(find /path/to/directory -type f)' 

क्या फाइलों की सूची में पास होने का कोई तरीका है? मेरे पास एक फ़ोल्डर है जिसे स्थानीय रूप से कहा जाता है ।/deleteme और मैं दूरस्थ सर्वर से / .letlet में सभी फ़ाइलों को हटाना चाहता हूं।
chovy

यह बहुत खतरनाक है क्योंकि यह उनके नाम पर रिक्त स्थान वाली फाइलों पर टूट जाता है।
21'14

@ एसएलएचके राइट, किसी को फ़ाइलनाम में रिक्त स्थान का उपयोग नहीं करना चाहिए या डिंबा के समाधान का उपयोग करना चाहिए जो बेहतर है।
टेकशेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.