Удаление папки с именем ~

Это вывод 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 ~, потому что это удалит мой домашний каталог.

Что мне делать? Для меня это не проблема, а просто боль в глазах.

30
задан 24 March 2011 в 12:34

5 ответов

rm -R ./~

Это позволит найти ~ в текущей папке.

0
ответ дан 24 March 2011 в 12:34

Блестящая проблема:)

Вы можете удалить каталог с помощью , избежав тильды:

rm -rf \~

Это работает для всех видов специальные символы.

0
ответ дан 24 March 2011 в 12:34

Вы можете просто вставить имя папки в апострофы:

 rm '~'
0
ответ дан 24 March 2011 в 12:34

Я делал глупые ошибки с rm раньше, поэтому вот несколько советов, которые я узнал за эти годы, чтобы попытаться защитить ваши данные от несчастных случаев:

  1. Использование графическое решение, подобное Nautilus. Мягко удалите его в корзину. Затем, когда вы поймете, что не поместили свой $HOME в корзину (все могло бы рухнуть и выглядеть странно), очистите корзину.

  2. Переместить вместо удаления. Переименуйте каталог с помощью mv, например:

    mv ./\~ ./a-nice-sensible-directory-name
    

    Затем удалите его.

  3. Если сомневаетесь, используйте флаг -i при работе с потенциальными фубарами. Он будет запрашивать каждый удаленный файл и очень быстро сообщит, произойдет ли что-то плохое.

    oli@bert:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?
    
0
ответ дан 24 March 2011 в 12:34

Еще один, немного более сложный способ сделать это - использовать номера инодов:

$ ls -li
total 24
 7146369 drwxr-xr-x   4 user  staff   136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;

Pros

  • Он работает с любым причудливым названием, которое вы можете иметь. [ 115]
  • Должно быть безопасно , потому что номера инодов уникальны (-xdev: не опускать каталоги в других файловых системах), и вы можете сначала проверить поиск, на всякий случай удалив -exec rm -rf {} \;. ]

Минусы

  • Выполнение find . в каталоге с большим количеством файлов и / или каталогов займет много времени и чтение с диска.
0
ответ дан 24 March 2011 в 12:34

Другие вопросы по тегам:

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