3

Когда я ls -ls в свою папку, я получаю это сейчас:

27216 -rw-r--r--   1 qat users 27865731 2012-03-16 09:13 deploy

Но это был каталог, есть ли быстрый способ конвертировать его обратно?

3 ответа3

3

Нет, нет быстрого способа конвертировать его обратно.

Я разделяю мнение одного из комментаторов, что вы, вероятно, случайно удалили каталог и заменили его файлом. Если предположить, что размер файла не изменился, 27 МБ будет гигантским каталогом, содержащим сотни тысяч файлов. За многие годы работы с Unix-администратором я видел только один каталог с более чем 100 000 файлов в нем, поэтому я сомневаюсь, что у вас был такой большой каталог. Посмотрите на содержимое файлов и посмотрите, выглядит ли оно знакомым; Хорошие шансы на то, что файл содержит записи журнала какого-либо процесса или другого.

Если вы не ошиблись, и каталог был тихо преобразован в обычный файл, это очень плохая новость для вашей системы. Некоторые вещи могут быть неправильными, и я не буду снова доверять этой системе, пока не выясню, какой компонент (диск, контроллер диска, ОЗУ, код файловой системы) выходит из строя.

1

Это происходило со мной при запуске arch-linux, потому что мой каталог /home был смонтирован на жестком диске USB и был автоматически приостановлен. Итак, у меня были открыты urxvt и tmux в каталоге /home /user, и я вошел в X.

Я отошел от экрана на час, вернулся и набрал vim в оболочке urxvt bash. Поскольку диски были приостановлены, им сначала нужно было проснуться, поэтому для загрузки vim потребовалось около 5-10 секунд. Это не должно быть vim, чтобы это произошло, но когда я вернулся к bash, некоторые из моих каталогов, такие как /home /user /tmp и /home/user/.vim, были преобразованы из каталогов в файлы.

Исправление для меня состояло в том, чтобы перезагрузиться до уровня 3 с правами root и unmount /home, затем запустить fsck -f на жестком диске, затем я перезагрузился и файлы были преобразованы обратно в каталоги, и ни один из моих файлов не был потерян или поврежден.

Затем я отключил USB AutoSuspend, чтобы он не повторился.

-1

Они предлагают на https://stackoverflow.com/questions/4855373/how-to-change-a-file-that-used-to-be-a-directory-back-to-directory-on-linux удалить файл и создайте каталог:

rm filename
mkdir filename

А по моему развращено? NTFS 3G внешний диск, я только что получил:

rm: filename: No such file or directory
mkdir: filename: File exists

Так что я не уверен, что решение, если таковое будет.

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