Удалите файл на Linux с помощью inode числа

Если Вы создаете файл на UNIX/Linux со специальными символами, такой как touch \"la*, Вы не можете удалить его с rm "la*. Необходимо использовать inode число (Вы можете, если Вы добавляете \ перед именем я знаю, но необходимо было бы предположить как пользователь, что оно использовалось в создании файла).

Я проверил страницу справочника на комнату, но нет никакого упоминания о inode числе. Выполнение rm inodenumber не работает также.

Какова команда для этого?

14
задан 18.11.2018, 19:00

4 ответа

Некоторые другие методы включают:

выход из специальных символов:

[~]$rm \"la\*

используйте команду находки и только ищите текущий каталог. Команда находки может искать inode числа и имеет удобное -delete переключатель:

[~]$ls -i
7404301 "la*

[~]$find . -maxdepth 1 -type f -inum 7404301
./"la*

[~]$find . -maxdepth 1 -type f -inum 7404301 -delete
[~]$ls -i
[~]$
23
ответ дан 07.12.2019, 11:12

Возможно, я пропускаю что-то, но...

rm '"la*'

Так или иначе имена файлов не имеют inodes, файлы делают. Попытка удалить файл, не удаляя все имена файлов, которые указывают на него, повредит Вашу файловую систему.

5
ответ дан 07.12.2019, 11:12

Если Вы действительно хотите сделать, это - и Ваш вариант использования не действительно похоже на Вас, должны вообще, Вы могли бы попробовать средства отладки файловой системы. Если Вы готовы потерять все, которое является.

Например, для ext2/3/4 debugfs команда имеет "kill_file" опцию, которая, кажется, берет inode. Как упомянуто в других ответах, это повредит Вашу файловую систему, поскольку будут записи каталога, указывающие на несуществующий файл. Выполнение fsck впоследствии смогите восстанавливать это. Маловероятно, что можно сделать это в смонтированной файловой системе.

Но я настоятельно рекомендовал бы, чтобы Вы просто использовали соответствующий выход/заключение в кавычки и удалили такие файлы с постоянным клиентом rm управляйте, как упомянуто в более раннем ответе - и использование rm -i для дополнительной безопасности при контакте с именами файлов, содержащими globbing символы как *

5
ответ дан 07.12.2019, 11:12

В то время как я настоятельно рекомендую "Escape специальные символы" подход, всегда существует clri управляйте, когда Вы действительно захотите закрепляемое повреждение файловой системы.

1
ответ дан 07.12.2019, 11:12

Теги

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