Je ne suis pas capable de cd
dans la samba comme je le ferais normalement:
cd smb://server/folder
Il dit: "bash: cd: smb/..." No such file or directory.
Mais si dans Nautilus, je vais dans le dossier et cliquez dessus avec le bouton droit de la souris, l'emplacement indiqué dans les propriétés est le suivant:
smb://server/folder
Pourquoi ça ne marche pas? Merci
Le programme "cd" ne peut naviguer que dans des répertoires montés sur votre VFS local, et un URI commençant par "smb: //" décrit une ressource distante. Pour pouvoir entrer dans un partage SMB, vous devez le monter.
Dans votre cas, il semble que le partage SMB ait déjà été monté et accessible depuis Nautilus. Cela signifie que le partage SMB est déjà monté quelque part dans votre VFS local.
Dans Ubuntu 15.04, je pense que le point de montage par défaut pour les partages SMB (au moins ceux que vous vous connectez à l'aide de Nautilus) est le suivant:
/run/user/$UID/gvfs/smb:Host=$SERVER_NAME
Alors au lieu de cela, essayez:
$ cd /run/user/$UID/gvfs/smb:Host=server/path/to/file.txt
Edit: Pour une explication plus détaillée de ceci, voici ne question similaire sur unix stackexchange avec quelques bonnes réponses
Le shell (bash) n'utilise pas d'URL.
Outre d'autres réponses vous expliquant comment monter les partages samba manuellement, si vous pouvez y accéder avec le gestionnaire de fichiers, celui-ci a déjà été monté à l'aide de gvfs. Vous pourrez y accéder via le répertoire .gvfs/
de votre répertoire personnel:
cd ~/.gvfs/
ls
Si je ne me trompe pas, vous devriez voir un répertoire appelé folder on server/
.
Vous ne pouvez pas utiliser uniquement cd smb://server/folder
à partir d'un terminal.
Pour accéder au dossier depuis le terminal, vous devez commencer par mount
le dossier.
Sudo mkdir /mnt/server
Sudo mount -t cifs //remote/folder /mnt/server -o username=user uid=name
Ou tapez simplement smbclient //hostname/folder
et tapez le nom d'utilisateur/mot de passe. Une fois la connexion établie, vous pourrez accéder aux dossiers.
Si les autres ne fonctionnent pas (comme c'est mon cas), vous constaterez probablement que cela:
cd /$XDG_RUNTIME_DIR/gvfs/smb-share\:server=yourserver,share=yourshare/
Remplacez yourserver
et yourshare
correctement.
Si vous utilisez la complétion par tabulation, méfiez-vous de votre shell n’écartant pas correctement les virgules, les symboles en dollars et les barres obliques. Les deux points, cependant, devraient être échappés.
Le protocole smb ne peut pas être utilisé comme ceci à partir de bash
. Si vous voulez l'utiliser, vous devez monter le partage smb avec la commande mount
ou l'ajouter à votre /etc/fstab
, par exemple (extrait de mon fstab):
// serveur/smb-share/mon/chemin/où/vers/mount/il cifs invité, uid = 1000, iocharset = utf8, page de codes = unicode, unicode 0 0