3

Каким-то образом я случайно переписал свой ~/bin .

Я набрал команду: $ cp /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

Я пытался скопировать файл в папку bin но вместо этого перезаписал папку.

Сейчас:

$ cd ~/bin
bash: cd: /home/dsg/bin: Not a directory

А также:

$ diff /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

Не показывает различий.

Что я делаю?

1 ответ1

6

Когда вы копируете файл с помощью команды, которую вы использовали:

$ cp /home/dsg/Downloads/sbt-launch-0.7.4.jar ~/bin

разные вещи случаются в зависимости от цели.

1) ~/bin это каталог

Файл будет скопирован в каталог ~/bin с оригинальным именем файла.

2) ~/bin - обычный файл

Файл ~/bin будет перезаписан исходным файлом.

3) ~/bin не существует

Исходный файл будет скопирован в целевое имя, создав новый файл.

По умолчанию каталог ~/bin не существует, поэтому, если в прошлом вы не создали каталог с именем ~/bin, то вариант 3 будет тем, что произошло. Если существовал ~/bin, то команда cp для его перезаписи должна быть обычным файлом, а не каталогом.

Вы должны удалить файл ~/bin и создать каталог с:

$ rm ~/bin
$ mkdir ~/bin

Затем вы можете скопировать в него файл jar той же командой, что и ранее.

(Спасибо @grawity и @garyjohn, чьи комментарии к вопросу основаны на этом ответе.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .