Файл программы c на linux стал зеленым и теперь я не могу его редактировать

avatar
dylan sun
8 августа 2021 в 20:36
70
1
0

Привет, у меня есть файл c в программе, который называется helloQV.c

Я выполнил команду gcc -Wall -ansi -std=c99 helloQV.c -o helloQV.c, но теперь я не могу редактировать файл helloQV.c, когда я открываю файл в vim, он оказывается просто набором случайных символов. Я понял, что должен был назвать -o HelloQV.c как-то иначе. Что я могу сделать, чтобы отменить это изменение, чтобы я мог повторно редактировать свой файл helloQV.c.

Спасибо

Источник
kaylum
8 августа 2021 в 20:37
1

Что значит "стал зеленым"? Если вы не сохранили копию файла C, то, к сожалению, он утерян, и вам нужно будет его переписать. Если это то, что вы хотите сделать, и по какой-то причине вы не можете его отредактировать, сначала удалите его, а затем создайте новый файл C в текстовом редакторе.

Adrian Mole
8 августа 2021 в 20:38
5

Похоже, вы перезаписали исходный файл выводом компиляции из-за -o helloQV.c в вашей команде gcc. Если у вас нет резервной копии, то оригинал тост. В будущем удалите .c из имени выходного файла.

Karl Nicoll
8 августа 2021 в 20:39
4

Ничего не поделаешь, к сожалению. Ваш компилятор переписал ваш код C с помощью скомпилированного вывода. Мой лучший совет — использовать это как возможность для обучения регулярному резервному копированию. Извини!

alex01011
8 августа 2021 в 20:42
2

К сожалению ничего не поделаешь. Возможно, ваш текстовый редактор или IDE создали несколько файлов резервных копий. Что вы использовали для написания кода?

dylan sun
8 августа 2021 в 20:43
1

Черт, я надеялся, что есть способ отменить это, но спасибо, ребята.

dylan sun
8 августа 2021 в 20:44
1

@ alex01011 Я использую шпатлевку и использую vim в качестве текстового редактора.

alex01011
8 августа 2021 в 20:46
1

Проверьте каталог на наличие файлов .swp, сгенерированных vim. Чтобы избежать подобных ситуаций в будущем, я бы включил backup и writebackup в vim.

Ted Lyngmo
8 августа 2021 в 20:47
1

@dylansun Используете ли вы систему контроля версий, например git? Если это так, вы всегда можете вернуть свою последнюю зафиксированную версию. Если нет, сейчас самое время начать.

Ответы (1)

avatar
TUI lover
8 августа 2021 в 20:41
2

Ваш файл отображается зеленым цветом на вашем терминале с помощью ls, что означает, что ваш файл теперь является исполняемым файлом, потому что вы перезаписали его с помощью команды gcc. Боюсь, вернуть исходный файл невозможно.