как удалить символическую ссылку из / usr / bin / python в Ubuntu

Я пытался решить проблему и, к сожалению, использовал эту команду в терминале

sudo ln -sf python2.7.12 /usr/bin/python

Что заставило мою установку python. Теперь, когда я набираю python в терминале, он простаивает и ничего не показывает. Как я могу вернуть его обратно? Я использую Ubuntu 14.04 LTS и python 2.7.12

Из-за этого pip также перестает работать и показывает эту ошибку,

unable to execute /usr/local/bin/pip: No such file or directory
0
задан 7 July 2017 в 03:19

3 ответа

Вы случайно создали ссылку в /usr/bin/python, которая указывает на файл с именем /python2.7.12.

Это обычно приводит к ошибке, говорящей, что /usr/bin/python уже существует, но поскольку вы использовали -f (сила). Он удалил этот файл, прежде чем он включил новую ссылку. Если бы я был вами, я бы вообще не использовал флаг -f.

Если вам когда-либо понадобится перезаписать файл, я бы рекомендовал использовать rm -i, чтобы вручную удалить его перед созданием linik с помощью ln -s

Чтобы исправить это, вам просто нужно воссоздать старую ссылку, запустив

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2 /usr/bin/python

ВАЖНО

Когда вы используете ln, вы должны перенести файл, с которым вы связываетесь, и сначала введите имя ссылки. См. Справочную страницу: ln (1).

ПРИМЕЧАНИЕ: вы должны всегда читать справочную страницу для команды перед ее использованием.

2
ответ дан 22 May 2018 в 20:47
  • 1
    IIRC он будет эффективно указывать на /usr/bin/python2.7.12, а не на /python2.7.12 (из man ln: "относительная ссылка интерпретируется относительно ее родительского каталога." – steeldriver 7 July 2017 в 05:15
  • 2
    @steeldriver Действительно? Я проверю это, когда я получу доступ к Linux-компьютеру. На странице руководства, с которой я связан, упоминается флаг -r, который позволяет относительные ссылки. Кроме того, я попытался сделать относительные ссылки раньше, и это не удалось. Возможно, потому, что я не знал о теге -r. – user 7 July 2017 в 05:19
  • 3
    ... например, чтобы изменить /bin/sh с dash на bash, и наоборот, вы можете использовать ln -sf bash /bin/sh и ln -sf dash /bin/sh (которые будут фактически ссылаться на /bin/bash и /bin/dash соответственно) – steeldriver 7 July 2017 в 05:26
  • 4
    @steeldriver Итак, это относительно ссылки, а не текущего каталога? – user 7 July 2017 в 05:29
  • 5
    @steeldriver Могу ли я изменить sudo ln -s /usr/bin/python2 /usr/bin/python на sudo ln -s python2 /usr/bin/python – user 7 July 2017 в 05:32

Вы случайно создали ссылку в /usr/bin/python, которая указывает на файл с именем /python2.7.12.

Это обычно приводит к ошибке, говорящей, что /usr/bin/python уже существует, но поскольку вы использовали -f (сила). Он удалил этот файл, прежде чем он включил новую ссылку. Если бы я был вами, я бы вообще не использовал флаг -f.

Если вам когда-либо понадобится перезаписать файл, я бы рекомендовал использовать rm -i, чтобы вручную удалить его перед созданием linik с помощью ln -s

Чтобы исправить это, вам просто нужно воссоздать старую ссылку, запустив

sudo rm /usr/bin/python sudo ln -s /usr/bin/python2 /usr/bin/python

ВАЖНО

Когда вы используете ln, вы должны перенести файл, с которым вы связываетесь, и сначала введите имя ссылки. См. Справочную страницу: ln (1).

ПРИМЕЧАНИЕ: вы должны всегда читать справочную страницу для команды перед ее использованием.

2
ответ дан 18 July 2018 в 10:37

Вы случайно создали ссылку в /usr/bin/python, которая указывает на файл с именем /python2.7.12.

Это обычно приводит к ошибке, говорящей, что /usr/bin/python уже существует, но поскольку вы использовали -f (сила). Он удалил этот файл, прежде чем он включил новую ссылку. Если бы я был вами, я бы вообще не использовал флаг -f.

Если вам когда-либо понадобится перезаписать файл, я бы рекомендовал использовать rm -i, чтобы вручную удалить его перед созданием linik с помощью ln -s

Чтобы исправить это, вам просто нужно воссоздать старую ссылку, запустив

sudo rm /usr/bin/python sudo ln -s /usr/bin/python2 /usr/bin/python

ВАЖНО

Когда вы используете ln, вы должны перенести файл, с которым вы связываетесь, и сначала введите имя ссылки. См. Справочную страницу: ln (1).

ПРИМЕЧАНИЕ: вы должны всегда читать справочную страницу для команды перед ее использованием.

2
ответ дан 24 July 2018 в 19:37

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

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