Терминал Linux изменение имени пользователя SSH

Первая проблема заключается в том, что ваша команда находит , найдет только ссылки, которые использовали полные пути, а не относительные. Чтобы проиллюстрировать:

$ ln -s /home/terdon/foo/NonExistantFile foo
$ ln -s NonExistantFile bar

$ tree
.
|-- bar -> NonExistantFile
`-- foo -> /home/terdon/foo/NonExistantFile

в приведенном выше примере, я создал две разбитые ссылки. Первый использовал абсолютный путь и второй, родственник. Если я сейчас попробую ваш команду (имеющую его echo Команда с релизом вместо того, чтобы запустить ее, чтобы мы могли видеть, что он делает), только один из двух будет найден:

$ find . -lname '/home/terdon/*' -exec \
    sh -c 'echo ln -snf "/home$(readlink "$0")" "$0"' {} \; 
ln -snf /home/home/terdon/foo/NonExistantFile ./foo

Вторая проблема заключается в том, что ваш путь не прав. Вы воссоздаете ссылки как »/ Home $ (ReadLink« $ 0 »)" "$ 0" . Команда ReadLink ReadLink уже покажет полный путь, поэтому добавление / Home к нему приводит к нему / Home / Home / ... , который не то, что вы хотите.

Со главное, что вы пытаетесь, невозможно. Если ссылка сломана, это означает, что ее цель не существует. Поскольку цель не существует, вы не можете просто перенять файл, нигде некуда связать его - . Единственное, что вы могли бы сделать, это воссоздать цель ссылки. Это, однако, вряд ли будет очень полезным, поскольку он просто сделает ваши разбитые ссылки на новые, пустые файлы. Если это действительно то, что вы хотите сделать, вы можете попробовать

 find . -type l -exec sh -c 'touch "$(readlink "{}")" ' \; 

, наконец, вы, возможно, захотите создать более сложный скрипт, который i) находит все сломанные ссылки II) ищет вашу машину для файлов с тем же именем, что и цель Ссылка III) представляет вас со списком их и IV) спрашивает, к какому этому он должен ссылаться на.

-1
15.05.2014, 10:59
2 ответа

Вам необходимо указать имя пользователя (из Ubuntuserver), с которым вы хотите подключиться к своей машине Ubuntu, например:

ssh username@ubuntuserver

Если вы этого не сделаете укажите имя пользователя, которое будет пытаться войти на сервер с вашим текущим именем пользователя (из linuxpc)

0
28.01.2020, 05:14

Используйте SSH следующим образом

ssh remote_user@remote_host
-1
28.01.2020, 05:14

Теги

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