Bagaimana cara `ls` folder jauh?


10

Yang ini menggunakan Samba:

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

Saya entah bagaimana berhasil melakukannya dengan;

  1. Menjelajah ke direktori jarak jauh. ( pcmanfm 0.9.9 )
  2. Membuka folder saat ini di terminal.
  3. Eksekusi pwduntuk mendapatkan/home/myuser/.gvfs/wdtvlivehub on 192.168.5.4
  4. Melakukan ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4pekerjaan.

..Apa yang akan menjadi cara yang lebih elegan?


Apakah memasang sistem file jarak jauh merupakan opsi?
beatgammit

Ya bisa.
octosquidopus

Jawaban:


5

Metode penggunaan Anda saat ~/.gvfs/ini baik-baik saja, tetapi Anda tidak perlu pcmanfm untuk itu - Anda dapat menggunakan gvfs-mount untuk terhubung ke share. Selain itu, alat seperti gvfs-lsdan gvfs-cpakan menerima seseorang: // URI.

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

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

Dalam versi gvfs terbaru lokasinya adalah $XDG_RUNTIME_DIR/gvfs/(alias /run/user/$UID/gvfs/), dan nama subdirektori menjadi lebih dapat dibaca mesin:

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

Dalam versi yang lebih lama:

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

(Ingatlah untuk mengutip spasi di dalam nama jalur.)


Khusus untuk Samba, Anda dapat menggunakan smbclientprogram, atau me-mount share pada layer VFS dengan menggunakan mount -t cifs. (Yang terakhir, sayangnya, terbatas pada root.)

$ smbclient //host/share

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

(Untuk jenis sistem file lain, seperti SFTP dan FTP, sshfsdan curlftpfsada masing-masing.)


Saya menyebutkan pcmanfm karena itu kemungkinan besar cara saya akan membuka folder sebelum menjalankannya dengan skrip. gv-ls tampaknya persis apa yang saya cari. Sepertinya itu bahkan bisa menggantikan lsdirektori lokal demi konsistensi.
octosquidopus

Perlu diperjelas bahwa "gvfs-ls smb: // host / share /" berfungsi seperti yang dijelaskan tanpa perlu memasang drive menggunakan gvfs-mount terlebih dahulu. Dengan kata lain, perintah dalam blok kode pertama tidak semua harus digunakan untuk mencapai hasil yang Anda inginkan.
John T

@ JohnT: Pasti kebetulan. Saya biasanya mendapatkan The specified location is not mounted.
user1686

@ kegembiraan - Saya biasanya sudah melihat-lihat lokasi di Nautilus atau serupa dan dikonfirmasi dengan cara itu, yang mungkin ada hubungannya dengan itu.
John T

@ JohnT: Ya, Nautilus menggunakan GVFS yang sama, dan GTK secara otomatis me-mount lokasi gvf yang Anda coba akses. Jika bagian itu muncul di panel samping Nautilus, maka itu sudah 'dipasang' sekarang.
user1686

12

Anda dapat menggunakan perintah smbclient , mis:

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

4
Hebat, tapi bagaimana saya bisa mencapai output yang sama seperti biasa ls(tidak ada kolom atau format, hanya daftar file)? Ini penting karena saya ingin menyalurkan output ke perintah lain.
octosquidopus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.