В общем, я хотел бы запускать локальные программы на удаленных файлах, предоставленных мне через распределенную файловую систему (например, 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).