Não é possível fazer o cd no local do samba (em um local de compartilhamento do Windows)

7

Não consigo cd no samba como normalmente faria:

cd smb://server/folder

Diz: "bash: cd: smb/..." No such file or directory.

Mas se no nautilus eu vou para a pasta e clico com o botão direito, a localização mostrada nas propriedades é:

smb://server/folder

Por que isso não está funcionando? Obrigado

    
por Totty.js 09.10.2012 / 11:42

5 respostas

6

O programa "cd" só pode navegar em diretórios montados em seu VFS local, e um URI que começa com "smb: //" descreve um recurso remoto. Para fazer o cd em um compartilhamento SMB, você precisa montá-lo.

No seu caso, parece que o compartilhamento SMB já estava montado e acessível do nautilus. Isso significa que o compartilhamento SMB já está montado em algum lugar em seu VFS local.

No Ubuntu 15.04, acredito que o ponto de montagem padrão para compartilhamentos SMB (pelo menos aqueles com os quais você se conecta usando o nautilus) é:

/run/user/$UID/gvfs/smb:host=$SERVER_NAME

Então, tente:

$ cd  /run/user/$UID/gvfs/smb:host=server/path/to/file.txt

Editar: Para uma explicação mais detalhada sobre isso, aqui está uma pergunta semelhante sobre o unix stackexchange com algumas ótimas respostas

    
por lowtex 01.05.2015 / 08:43
1

Você não pode usar apenas cd smb://server/folder de um terminal.

Para acessar a pasta do terminal, você precisa mount da pasta primeiro.

sudo mkdir /mnt/server

sudo mount -t cifs //remote/folder /mnt/server -o username=user uid=name

Ou apenas digite smbclient //hostname/folder e digite o nome de usuário / senha. Após o login bem-sucedido, você poderá acessar as pastas.

    
por devav2 09.10.2012 / 12:01
1

O shell (bash) não usa localizadores de recursos exclusivos (URLs).

Além de outras respostas que informam como montar os compartilhamentos do samba manualmente, se você puder acessá-lo com o gerenciador de arquivos, ele já foi montado usando o gvfs. Você poderá acessá-lo através do diretório .gvfs/ em seu diretório pessoal:

cd ~/.gvfs/
ls

Se eu estiver correto, você deverá ver um diretório chamado folder on server/ .

    
por January 09.10.2012 / 12:32
0

O protocolo smb não pode ser usado assim de bash . Se você quiser usá-lo, você tem que montar o compartilhamento smb com o comando mount , ou adicioná-lo ao seu /etc/fstab , por exemplo (retirado do meu fstab):

//server/smb-share /my/path/where/to/mount/it cifs  guest,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0

    
por Frantique 09.10.2012 / 11:51
0

Se os outros não funcionarem (como é o meu caso), você provavelmente achará isso:

cd /$XDG_RUNTIME_DIR/gvfs/smb-share\:server=yourserver,share=yourshare/

Substitua yourserver e yourshare apropriadamente.

Se você estiver usando a conclusão de tabulação, cuidado com o fato de seu shell estar escapando incorretamente de vírgulas, símbolos de dólar e barras. Os dois pontos, no entanto, devem ser escapados.

    
por Michael Scheper 11.05.2015 / 23:32