Como 'ls' uma pasta remota?

10

Este usa o Samba:

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

De alguma forma eu consegui fazer isso por:

  1. Navegando para o diretório remoto. ( pcmanfm 0.9.9 )
  2. Abrindo a pasta atual em um terminal.
  3. Execução de pwd para obter /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4
  4. Fazendo ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4 trabalhado.

.. Qual seria uma maneira mais elegante?

    
por octosquidopus 18.09.2011 / 23:03

2 respostas

4

Seu método atual de usar ~/.gvfs/ é bom, mas você não precisa do pcmanfm para isso - você pode usar gvfs-mount para se conectar ao compartilhamento. Além disso, ferramentas como gvfs-ls e gvfs-cp aceitarão seu smb: // URI.

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

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

Em versões recentes do gvfs, o local é $XDG_RUNTIME_DIR/gvfs/ (também conhecido como /run/user/$UID/gvfs/ ), e os nomes dos subdiretórios tornaram-se mais legíveis por máquina:

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

Nas versões mais antigas:

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

(Lembre-se de citar espaços dentro de nomes de caminho.)

Especificamente para o Samba, você pode usar o programa smbclient ou montar o compartilhamento na camada VFS usando mount -t cifs . (O último é, infelizmente, limitado a root.)

$ smbclient //host/share

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

(Para outros tipos de sistemas de arquivos, como SFTP e FTP, sshfs e curlftpfs existem respectivamente.)

    
por 18.09.2011 / 23:18
8

Você pode usar o comando smbclient , por exemplo:

smbclient -N //192.168.5.4/wdtvlivehub/abc -c ls
    
por 18.09.2011 / 23:07

Tags