Jak wykonać zdalny folder?

10

Ten używa Samby:

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

Jakoś udało mi się to zrobić;

  1. Przejście do zdalnego katalogu. ( pcmanfm 0.9.9 )
  2. Otwieranie bieżącego folderu w terminalu.
  3. Wykonanie, pwdaby uzyskać/home/myuser/.gvfs/wdtvlivehub on 192.168.5.4
  4. Robić ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4pracował.

.. Jaki byłby bardziej elegancki sposób?

oktosquidopus
źródło
Czy montowanie zdalnego systemu plików jest opcją?
beatgammit
Tak, może być.
octosquidopus

Odpowiedzi:

5

Twoja obecna metoda korzystania ~/.gvfs/jest w porządku, ale nie potrzebujesz do tego programu pcmanfm - możesz użyć, gvfs-mount aby połączyć się z udziałem. Dodatkowo narzędzia takie jak gvfs-lsi gvfs-cpzaakceptują twój identyfikator smb: // URI.

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

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

W najnowszych wersjach gvfs lokalizacja to $XDG_RUNTIME_DIR/gvfs/(aka /run/user/$UID/gvfs/), a nazwy podkatalogów stały się bardziej czytelne dla komputera:

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

W starszych wersjach:

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

(Pamiętaj, aby cytować spacje w nazwach ścieżek).


Specjalnie dla Samby możesz użyć smbclientprogramu lub zamontować udział na warstwie VFS za pomocą mount -t cifs. (Ten ostatni jest niestety ograniczony do rootowania.)

$ smbclient //host/share

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

(Dla innych rodzajów systemów plików, takich jak SFTP i FTP sshfsi curlftpfsistnieją odpowiednio.)

użytkownik1686
źródło
Wspomniałem o pcmanfm, ponieważ tak zapewne dostanę się do folderu przed wykonaniem go za pomocą skryptu. gv-ls wydaje się być dokładnie tym, czego szukałem. Wygląda na to, że może nawet zastąpić lslokalne katalogi ze względu na spójność.
octosquidopus
Warto wyjaśnić, że „gvfs-ls smb: // host / share /” działa zgodnie z opisem bez konieczności montowania napędu za pomocą gvfs-mount. Innymi słowy, nie wszystkie polecenia w pierwszym bloku kodu muszą być użyte do osiągnięcia pożądanego rezultatu.
John T
@JohnT: To musiał być zbieg okoliczności. Zwykle rozumiem The specified location is not mounted.
user1686
@grawity - zwykle już przeglądałem lokalizację w Nautilus lub podobnym i uwierzytelniłem się w ten sposób, co może mieć z tym coś wspólnego.
John T
@JohnT: Tak, Nautilus używa tego samego GVFS, a GTK automatycznie montuje lokalizacje gvfs, do których próbujesz uzyskać dostęp. Jeśli udział pojawia się w panelu bocznym Nautilusa, oznacza to, że jest teraz „montowany”.
user1686
12

Możesz użyć polecenia smbclient , np .:

smbclient -N //192.168.5.4/wdtvlivehub/abc -c ls
rumpel
źródło
4
Świetnie, ale jak mogę uzyskać takie same wyniki jak w przypadku zwykłego ls(bez kolumn i formatowania, tylko lista plików)? Jest to ważne, ponieważ chcę przesłać dane wyjściowe do innego polecenia.
octosquidopus