В * nix я могу создать пустой файл, используя cp:
cp /dev/null ~/emptyfile
Я хотел бы знать, возможно ли сделать что-то подобное, используя scp (вместо ssh + touch).Если я пытаюсь выполнить:
scp /dev/null remoteserver:~/emptyfile
, возвращается ошибка /dev/null: not a regular file
РЕДАКТИРОВАТЬ: Просто чтобы уточнить, я не хочу запускать какие-либо команды наremoteserver (т. е. не нужно вызывать команду ssh
).
Так что можно запустить некоторую команду на локальном хосте (echo, cat, dd или любую другую тривиальную команду) и скопировать полученный файл на удаленный сервер.
Желательно не оставлять полученный файл на локальном хосте.Также хорошо, если полученная команда является однострочным решением.
EDIT2:
Невозможно использовать подход / dev / null, как в команде cp
,потому что scp
работает только с обычными файлами и каталогами: https://github.com/openssh/openssh-portable/blob/8a85f5458d1c802471ca899c97f89946f6666e61/scp.c#L838-L850
Поэтому необходимо использовать другую команду (touch, cat, dd и т. д.) для создания обычного пустого файла (либо в предыдущей команде, pipe)или пополам).