कमांड लाइन एक फाइल को क्लिपबोर्ड पर कॉपी करने के बराबर क्या है?


89

फ़ाइल प्रबंधक में एक फ़ाइल पर CTRL + C दबाने के बराबर कमांड लाइन क्या है ताकि क्लिपबोर्ड पर फ़ाइल (फ़ाइल नाम नहीं) की प्रतिलिपि बनाई जाए?

एक ऐसी स्थिति जहां यह उपयोगी और तेज हो सकती है, उदाहरण के लिए, जब आप उस क्लिपबोर्ड पर एक फ़ाइल की प्रतिलिपि बनाना चाहते हैं जिस निर्देशिका से आप टर्मिनल में फ़ाइल को उस फ़ाइल में जल्दी से चिपकाने के लिए हैं जो आप फ़ाइल प्रबंधक में हैं। और भी हैं।


यह वास्तव में मेरे लिए एक नकल की तरह नहीं दिखता है। एक उत्तर आम तौर पर सामान्य कॉपी पेस्ट के बारे में होता है, और यह एक फाइल विशिष्ट विषय की नकल के बारे में है
उलिनेस बीएन

जवाबों:


104

जब आप फ़ाइल प्रबंधक में एक फ़ाइल पर Ctrl-C दबाते हैं, तो फ़ाइल की सामग्री क्लिपबोर्ड पर प्रतिलिपि नहीं होती है। एक सरल परीक्षण: फ़ाइल प्रबंधक में एक फ़ाइल का चयन करें, Ctrl-C दबाएं, एक पाठ संपादक खोलें, Ctrl-V दबाएं। परिणाम फ़ाइल की सामग्री नहीं है, लेकिन इसका पूर्ण पथ है।

वास्तव में स्थिति थोड़ी अधिक जटिल है क्योंकि आप इसके विपरीत नहीं कर सकते हैं - एक पाठ संपादक से फ़ाइलनाम की एक सूची की प्रतिलिपि बनाएँ और उन्हें फ़ाइल प्रबंधक में पेस्ट करें।

कमांड लाइन से एक्स 11 क्लिपबोर्ड तक कुछ डेटा की प्रतिलिपि बनाने के लिए आप xclipकमांड का उपयोग कर सकते हैं , जिसे साथ स्थापित किया जा सकता है

sudo apt-get install xclip

किसी फ़ाइल की सामग्री या क्लिपबोर्ड के उपयोग के लिए कुछ कमांड के आउटपुट की प्रतिलिपि बनाना

cat ./myfile.txt|xclip -i

पाठ को मध्य माउस बटन का उपयोग करके कहीं पर चिपकाया जा सकता है (इसे "प्राथमिक चयन बफर" कहा जाता है)।

यदि आप "क्लिपबोर्ड" चयन के लिए डेटा कॉपी करना चाहते हैं, तो इसे Ctrl-V के साथ एक एप्लिकेशन में चिपकाया जा सकता है, आप कर सकते हैं

cat ./myfile.txt|xclip -i -selection clipboard

कमांड लाइन से फ़ाइलों को कॉपी करने और उन्हें एक फ़ाइल प्रबंधक में पेस्ट करने में सक्षम होने के लिए , आपको एक सही "लक्ष्य परमाणु" निर्दिष्ट करने की आवश्यकता है, इसलिए फ़ाइल प्रबंधक क्लिपबोर्ड में डेटा को पहचानता है, और डेटा को सही प्रारूप में भी प्रदान करता है - सौभाग्य से, फ़ाइल प्रबंधक में फ़ाइलों की प्रतिलिपि बनाने के मामले में यह पूरी तरह से पूर्ण फ़ाइलनामों की एक सूची है, प्रत्येक एक नई लाइन पर, कुछ ऐसा जो findकमांड का उपयोग करके उत्पन्न करना आसान है :

find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list

(कम से कम केडीई में यह मेरे लिए काम करता है)। अब आप एक छोटी लिपि में लपेट सकते हैं, जिसे आप कह सकते हैं cb:

#!/bin/sh
xclip -i -selection clipboard -t text/uri-list

फिर आप इसे डालते हैं ~/bin, उस पर निष्पादन योग्य बिट सेट करते हैं और इसे इस तरह उपयोग करते हैं:

find ${PWD} -name "*.txt"| cb

अच्छा लगा, है न?


अच्छा है, लेकिन केवल पाठ के लिए काम करता है और यह वास्तव में फ़ाइल नहीं है, बस पाठ है। मान लीजिए आपके पास एक jpg फाइल है?
स्ट्रापकोव्स्की

हां, मुझे इस आशय का पता था कि यदि आप फ़ाइल प्रबंधक से किसी फ़ाइल को कॉपी करते हैं यदि आप इसे किसी अन्य फ़ोल्डर में पेस्ट करते हैं, तो आप फ़ाइल पेस्ट करते हैं, लेकिन यदि आप एक पाठ संपादक में पेस्ट करते हैं तो आपको फ़ाइल पथ मिलता है।
स्ट्रैपकोव्स्की

बाइनरी फ़ाइलों (jpg आदि) के मामले में सब कुछ बहुत अधिक जटिल है। यहाँ मैंने आपसे प्रेरित एक प्रश्न पूछा - unix.stackexchange.com/questions/53503/… - "लक्ष्य परमाणुओं" और सामान के बारे में एक पढ़ा है
सर्गेई

1
मैंने सुना है कि xclip के साथ फाइल कॉपी करने का भी समर्थन करता है xclip-copyfileऔर xclip-pastefile। मैं वास्तव में इसका इस्तेमाल नहीं किया है, लेकिन यह एक समाधान हो सकता है।
ग्लेडेन

वाह, @ ग्लेन, मुझे लगता है कि आपको इसे एक अलग उत्तर के रूप में पोस्ट करने की आवश्यकता है। हालांकि यह काम करता है जब xclip-copyfileऔर फिर उपयोग xclip-pastefile, लेकिन Ubuntu फ़ाइल प्रबंधक के साथ काम करने के लिए प्रतीत नहीं होता है ...
सर्गेई

9

मैंने सुना है कि xclip के साथ फाइल कॉपी करने का भी समर्थन करता है xclip-copyfileऔर xclip-pastefile। मैं वास्तव में इसका इस्तेमाल नहीं किया है, लेकिन यह एक समाधान हो सकता है।


वह सिर्फ फ़ाइल नामों की प्रतिलिपि बनाता है, न कि फाइलों की सामग्री की। बस मैन पेज उदाहरणों पर एक नज़र डालें, अर्थात$ man xclip-copyfile
क्रेग

0

मैक ओएस में pbcopyआसान सिंटैक्स है:

pbcopy < ~/.ssh/id_rsa.pub 

या

cat ~/.ssh/id_rsa.pub  | pbcopy

pbcopyउबंटू के साथ अनुकरण करने के लिए xclip(द्वारा स्थापित sudo apt install xclip):

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.