Удалить папку, начинающуюся с - (en dash) - PullRequest
0 голосов
/ 11 октября 2019

Не знаю как, но в итоге у меня появилась папка с именем –p (en dash, not not dash)

[test@test work]$ ls -haltr
total 12K
drwxrwxrwx.  2 docker_test docker_test 4.0K Feb 23  2018 –p
drwxrwxrwx. 10 docker_test docker_test 4.0K Oct  9 15:30 ..
drwxrwxrwx.  3 docker_test docker_test 4.0K Oct 11 14:34 .
[test@test work]$ rm –p
rm: cannot remove ‘–p’: Is a directory
[test@test work]$ rmdir –p
rmdir: failed to remove ‘–p’: No such file or directory
[test@test work]$ rm -rf *
[test@test work]$ ls
–p
rm: remove directory ‘–p’? y
rm: cannot remove ‘–p’: No such file or directory
[test@test work]$ rm -rf -- *p
[test@test work]$ ls
–p
[test@test work]$ rm -rf ./?p
[test@test work]$ ls
–p

У кого-нибудь есть подсказка? Я также пытаюсь найти, но тоже не работает

find work/ -name '–p' -delete

Я также пробовал с winscp, rm -rf *, но ничего.

1 Ответ

2 голосов
/ 11 октября 2019

Попробуйте

rm -ri -- *p

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

rm -rf -- *p

Я используюопция -i (интерактивная) в сочетании с -r (рекурсивная), чтобы получить запрос на подтверждение и удалить каталоги со всем их содержимым.

-- отделяет параметры от других аргументов, которые могут начинаться с -

*p, распространяется на все имена, заканчивающиеся на p.

...