LINUX.ORG.RU
ФорумAdmin

Могут ли в директории быть файлы, невидимые для астериска?

 ,


0

2

Читаю Марка Собеля, встретился пример в упражнениях. Как такое может быть:

$ ls
dirtmp
$ ls dirtmp
$ rmdir dirtmp
rmdir: dirtmp: Directory not empty
$ rm dirtmp/*
rm: No match

Поиск ничего не дал, да и я теряюсь с составлением запроса.

могут, * в баше точку не учитывает, и не только точку. потому более чем возможен такой случай

touch .a
ls -la # покажет что .a существует
rm * # No such file

вот тебе веселее пример

echo "test" > -rf
ls -la

а теперь удали его как минимум тремя способами :)

вообще можно много как извратиться. скажем был занятный баг в старом досе с файлами типа ... при попытке удаления которых можно было натурально весь раздел зачистить

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 5)
Ответ на: комментарий от upcFrost

Блин, я чувствую себя идиотом, потому что не проверил случай с точкой. Почему-то решил, что * - это любой элемент вообще. Спасибо!

Второй пример знаю, кстати. Можно так: rm -- -rf, ещё можно через номер inode, а третий вариант... заэкранировать?

xenohunter
() автор топика
Ответ на: комментарий от upcFrost

Точняк! Кстати, да, экранирование дефиса не работает.

xenohunter
() автор топика
Ответ на: комментарий от xaizek

Да, с точкой лоханулся я. Очень сильно лоханулся с точкой.

xenohunter
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.