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?

octosquidopus
sumber
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.)

pengguna1686
sumber
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
rumpel
sumber
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