Назад | Перейти на главную страницу

Как я могу создать или получить доступ к удаленному файлу, как если бы он был локальным?

В общем, я хотел бы запускать локальные программы на удаленных файлах, предоставленных мне через распределенную файловую систему (например, samba, NFS или что вы рекомендуете), и я хочу получить доступ к удаленным файлам способом, аналогичным доступу к локальным файлам: что-то аналогично «прозрачности местоположения».

Я был поражен моим файловым менеджером pcmanfm, который может представлять удаленные файлы, такие как локальные, и позволяет мне запускать на них некоторые локальные программы, щелкая правой кнопкой мыши так же, как и программы для локальных файлов.

Я хочу сделать то же самое в оболочке CLI.

Например, я пытаюсь скопировать файл в удаленный каталог. sharesmb общий через удаленный демон самбы. Я могу сделать это в моем файловом менеджере pcmanfm, с адресом smb://olive.local/sharesmb on olive.local. Я хотел бы сделать то же самое в оболочке, но ссылка не работает. Не могли бы вы рассказать мне, как это сделать в оболочке?

$ cp 153-158.pdf  smb://olive.local/sharesmb on olive.local
cp: target 'olive.local' is not a directory


$ cp 153-158.pdf  smb://olive.local/'sharesmb on olive.local'
cp: cannot create regular file 'smb://olive.local/sharesmb on olive.local': No such file or directory

Спасибо.

Вообще говоря, вы должны смонтировать удаленную файловую систему в локальный каталог и работать с файлами через эту точку монтирования. В Unix-подобной среде это буквально означает, что вы получаете доступ к удаленным файлам так же, как и к локальным.

Однако есть несколько вариантов, в зависимости от того, что вы хотите сделать. Полуночный командир (mc) ведет себя аналогично тому, как вы описали pcmanfm. Если вы просто хотите копировать файлы между машинами, вы можете посмотреть на scp при условии, что удаленные узлы запускают sshd (который с недавних пор доступен и для Windows Server 2019).