Як `ls` віддалену папку?


10

У цьому використовується Samba:

 $ 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працювала.

..Який був би вишуканіший спосіб?


Чи можливо встановлення віддаленої файлової системи?
beatgammit

Так, це може бути.
октосквідоп

Відповіді:


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"/

(Не забудьте цитувати пробіли в межах імен шляхів.)


Спеціально для Samba, ви можете використовувати 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-mount. Іншими словами, команди в першому блоці коду не всі повинні використовуватись для досягнення бажаного результату.
Джон Т

@JohnT: Мабуть, це був збіг обставин. Я зазвичай отримую The specified location is not mounted.
користувач1686

@grawity - Зазвичай я вже переглянув місцеположення в Nautilus або подібне і автентифікувавшись таким чином, це може мати щось спільне з цим.
Джон Т

@JohnT: Так, Nautilus використовує той самий GVFS, і GTK автоматично монтує місця розташування gvfs, до яких ви намагаєтесь отримати доступ. Якщо частка з'являється на боковій панелі Nautilus, вона зараз "змонтована".
користувач1686

12

Ви можете використовувати команду smbclient , наприклад:

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

4
Чудово, але як я можу досягти такого ж результату, що і при регулярному ls(без стовпців і форматування, просто список файлів)? Це важливо, тому що я хочу передати висновок іншій команді.
октосквідоп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.