Що '@!' файл?


29

У мене @!в домашній папці є ім’я файлу . Коли я відкриваю його, він має той самий вміст, що і мій інший файл bash myscript.sh.

Я не призначив дозвіл на виконання оригінального файлу bash. Коли я перевірив властивості, єдина різниця між двома файлами - це розмір. Оригінальний розмір файлу - 1,1 КБ, а @!розмір файлу - 714 байт. Як воно створюється автоматично?


Чи буде його відтворено, якщо видалити, перейменувати або перемістити?
Videonauth

@Videonauth Я не виконав завдання ні видалити, ні перейменувати, ні видалити.
ромашка

4
Який ще файл bash? Ви перевірили історію ваших команд @!?
муру

3
Чи може це бути побічним результатом якогось баггічного баш-коду, який ви запускали?
М. Бесерра

1
@muru інший файл bash означає? Як для якої команди @!? будь-яке створення файлів?
ромашка

Відповіді:


97

Якщо ви використовуєте Vim, це може бути тому, що ви ввели :w@!замість :wq!. На американському макеті @ввімкнено 2, прямо над QWі прямо поруч із !увімкнено 1. Легко ввести текст.

Ви можете перевірити це, запустивши Vim ще раз і вивчивши історію команд, або прокручуючи вгору за допомогою клавіші зі стрілкою вгору в командному режимі, або набравши q:в звичайному режимі .


20
Ну, у мене є купа файлів з ім'ям, що catлежать тут і там, тому що я набрав :'<,'>w! catзамість :'<,'>w !cat.
муру

2
Я знову перевірив вміст обох файлів ще раз. Різниця в розмірі полягає в тому, що вміст оригінального файлу трохи змінено після помилково створеного @!файлу. Тому справді це має бути прийнятою відповіддю.
ромашка

1
@muru вам слід стерти свою особу та йти працювати секретним детективом. Нічого ...
Раджа Анбаджаган

1
@ NickT: Може, тому, що людей часто просто вчать, що "q!" означає кинути, не задаючи питань, і вставляючи aw перед цим, напишу. (Технічно ви повинні ставити таке запитання як окреме запитання, але я вважав, що це може бути запереченим / закритим як недостатньо досліджене - досить добре.)
TOOGAM,

1
і ось моя команда історія лінії: :wq, :wq@!, :.!:q!, :w@!, :wq!,:q!
ромашка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.