एक दूरस्थ फ़ोल्डर को `ls` कैसे करें?


10

यह एक सांबा का उपयोग करता है:

 $ ls smb://192.168.5.4/wdtvlivehub/abc
 ls: cannot access smb://192.168.5.4/wdtvlivehub/abc: No such file or directory

मैं किसी तरह इसे करने में कामयाब रहा;

  1. दूरस्थ निर्देशिका के लिए ब्राउज़िंग। ( PCmanfm 0.9.9 )
  2. किसी टर्मिनल में करंट फोल्डर को खोलना।
  3. pwdप्राप्त करने के लिए निष्पादन/home/myuser/.gvfs/wdtvlivehub on 192.168.5.4
  4. ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4काम कर रहा है ।

.. एक और अधिक सुंदर तरीका क्या होगा?


क्या दूरस्थ फाइलसिस्टम को बढ़ाना एक विकल्प है?
बीटगैमिट

हां, यह हो सकता है।
ऑक्टोसक्यूडीपस

जवाबों:


5

उपयोग करने की आपकी वर्तमान विधि ~/.gvfs/ठीक है, लेकिन इसके लिए आपको pcmanfm की आवश्यकता नहीं है - आप gvfs-mount शेयर से जुड़ने के लिए उपयोग कर सकते हैं । इसके अतिरिक्त, जैसे उपकरण gvfs-lsऔर gvfs-cpआपके smb स्वीकार करेंगे : // URI

$ gvfs-mount smb://HOST/SHARE/

$ gvfs-ls smb://HOST/SHARE/

हाल के gvfs संस्करणों में स्थान $XDG_RUNTIME_DIR/gvfs/(aka /run/user/$UID/gvfs/) है, और उपनिर्देशिका नाम अधिक मशीन-पठनीय बन गए हैं:

$ ls /run/user/$UID/gvfs/smb-share:server=HOST,share=SHARE/

पुराने संस्करणों में:

$ ls ~/.gvfs/"SHARE on HOST"/

(पथ नामों के भीतर रिक्त स्थान याद रखें।)


विशेष रूप से सांबा के लिए, आप smbclientप्रोग्राम का उपयोग कर सकते हैं , या उपयोग करके VFS परत पर शेयर को माउंट कर सकते हैं mount -t cifs। (उत्तरार्द्ध दुर्भाग्य से, जड़ तक सीमित है।)

$ smbclient //host/share

# mount -t cifs //host/share /mnt

(अन्य प्रकार के फाइल सिस्टम के लिए, जैसे कि SFTP और FTP, sshfsऔर curlftpfsक्रमशः मौजूद हैं।)


मैंने pcmanfm का उल्लेख किया है क्योंकि यह संभवत: स्क्रिप्ट के साथ निष्पादित करने से पहले मुझे फ़ोल्डर में कैसे मिलेगा। gv-ls ठीक वही लगता है जो मैं चाह रहा था, हालाँकि। ऐसा लगता है कि यह lsस्थिरता के लिए स्थानीय निर्देशिकाओं के लिए भी बदल सकता है ।
ऑक्टोसक्विडोपस

यह स्पष्ट करने योग्य है कि "gvfs-ls smb: // host / share /" पहले gvfs- माउंट का उपयोग करके ड्राइव को माउंट करने की आवश्यकता के बिना वर्णित कार्य करता है। दूसरे शब्दों में, पहले कोड ब्लॉक में कमांड को आपके वांछित परिणाम प्राप्त करने के लिए उपयोग करने की आवश्यकता नहीं है।
जॉन टी।

@ जॉन: एक संयोग रहा होगा। मुझे आमतौर पर मिलता है The specified location is not mounted
user1686

@grawity - मैं आमतौर पर Nautilus या इसी तरह के स्थान पर पहुंच गया हूं और इस तरह से प्रमाणित किया गया है कि इसके साथ कुछ करना हो सकता है।
जॉन टी

@ जॉन: हां, नौटिलस उसी जीवीएफएस का उपयोग करता है, और जीटीके स्वचालित रूप से उन स्थानों पर आरोहित कर देता है, जिन्हें आप एक्सेस करने का प्रयास कर रहे हैं। यदि शेयर नौटिलस के साइड फलक में दिखाई देता है, तो यह अभी 'माउंटेड' है।
user1686

12

आप कमांड smbclient का उपयोग कर सकते हैं , जैसे:

smbclient -N //192.168.5.4/wdtvlivehub/abc -c ls

4
महान, लेकिन मैं नियमित रूप से ls(कोई कॉलम और न ही स्वरूपण, बस फाइलों की एक सूची के साथ) समान आउटपुट कैसे प्राप्त कर सकता हूं ? यह महत्वपूर्ण है क्योंकि मैं आउटपुट को दूसरे कमांड पर पाइप करना चाहता हूं।
ऑक्टोसक्विडोपस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.