Невозможно перейти в папку Samba (в папке Windows)

Я не могу cd войти в самбу, как обычно делал бы:

cd smb://server/folder

Он говорит: "bash: cd: smb/..." No such file or directory.

Но если в nautilus я иду в папку и щелкните его правой кнопкой мыши, расположение, указанное в свойствах:

smb://server/folder

Почему это не работает? Благодаря

7
задан 9 October 2012 в 14:47

5 ответов

Вы не можете использовать только cd smb://server/folder с терминала.

Для доступа к папке из терминала сначала необходимо mount открыть папку.

sudo mkdir /mnt/server

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

Или просто введите smbclient //hostname/folder и введите имя пользователя / пароль. После успешного входа вы сможете получить доступ к папкам.

0
ответ дан 9 October 2012 в 14:47

Программа «cd» может перемещаться только по каталогам, смонтированным в вашей локальной VFS, а URI, начинающийся с «smb: //», описывает удаленный ресурс. Для того, чтобы перейти на общий ресурс SMB, вы должны смонтировать его.

В вашем случае, похоже, что общий ресурс SMB уже смонтирован и доступен из nautilus. Это означает, что общий ресурс SMB уже смонтирован где-то в вашей локальной VFS.

В Ubuntu 15.04 я полагаю, что точка монтирования по умолчанию для общих ресурсов SMB (по крайней мере, тех, к которым вы подключаетесь с помощью nautilus):

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

Вместо этого попробуйте:

$ cd  /run/user/$UID/gvfs/smb:host=server/path/to/file.txt
[ 117] Правка: Для более подробного объяснения этого, вот аналогичный вопрос о unix stackexchange с некоторыми отличными ответами

0
ответ дан 9 October 2012 в 14:47

Если другие не работают (как в моем случае), вы, вероятно, найдете это:

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

Замените yourserver и yourshare соответственно.

Если вы используете завершение табуляции, остерегайтесь того, что ваша оболочка неправильно экранирует запятые, символы доллара и косые черты. Двоеточие, однако, следует избежать.

0
ответ дан 9 October 2012 в 14:47

Оболочка (bash) не использует уникальные локаторы ресурсов (URL).

В дополнение к другим ответам, в которых рассказывается о том, как монтировать общие ресурсы samba вручную, если вы можете получить к нему доступ с помощью файлового менеджера, он уже был смонтирован с помощью gvfs. Вы сможете получить к нему доступ через каталог .gvfs/ в вашем домашнем каталоге:

cd ~/.gvfs/
ls

Если я прав, вы должны увидеть каталог с именем folder on server/.

0
ответ дан 9 October 2012 в 14:47

Протокол smb не может быть использован подобным образом из bash. Если вы хотите его использовать, вы должны смонтировать общий ресурс smb с помощью команды mount или добавить его в свой /etc/fstab, например (взято из моего fstab):

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

0
ответ дан 9 October 2012 в 14:47

Другие вопросы по тегам:

Похожие вопросы: