Это вывод ls -l
ls -l
total 53484
drwxr-xr-x 3 root root 4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root 384035 2011-02-15 05:33 jobsLog.out
Я не могу сделать rm -rf ~
, потому что это удалит мой домашний каталог.
Что мне делать? Для меня это не проблема, а просто боль в глазах.
rm -R ./~
Это позволит найти ~
в текущей папке.
Блестящая проблема:)
Вы можете удалить каталог с помощью , избежав тильды:
rm -rf \~
Это работает для всех видов специальные символы.
Вы можете просто вставить имя папки в апострофы:
rm '~'
Я делал глупые ошибки с rm
раньше, поэтому вот несколько советов, которые я узнал за эти годы, чтобы попытаться защитить ваши данные от несчастных случаев:
Использование графическое решение, подобное Nautilus. Мягко удалите его в корзину. Затем, когда вы поймете, что не поместили свой $HOME
в корзину (все могло бы рухнуть и выглядеть странно), очистите корзину.
Переместить вместо удаления. Переименуйте каталог с помощью mv
, например:
mv ./\~ ./a-nice-sensible-directory-name
Затем удалите его.
Если сомневаетесь, используйте флаг -i
при работе с потенциальными фубарами. Он будет запрашивать каждый удаленный файл и очень быстро сообщит, произойдет ли что-то плохое.
oli@bert:~/Desktop$ rm -rfi ./del/
rm: descend into directory `./del'? y
rm: remove regular file `./del/output2.pdf'?
Еще один, немного более сложный способ сделать это - использовать номера инодов:
$ ls -li
total 24
7146369 drwxr-xr-x 4 user staff 136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;
Pros
-xdev
: не опускать каталоги в других файловых системах), и вы можете сначала проверить поиск, на всякий случай удалив -exec rm -rf {} \;
. ] Минусы
find .
в каталоге с большим количеством файлов и / или каталогов займет много времени и чтение с диска.