это то, что страница man в CentOS говорит:
-f, --force
ignore nonexistent files, never prompt
-r, -R, --recursive
remove directories and their contents recursively
из того, что я собираю (благодаря некоторым комментариям ниже), для-r
и -f
флаги:
- r
- рекурсивно удаляет содержимое каталога, в том числе скрытые файлы и подкаталоги
- в зависимости от вашей конфигурации, он может запросить разрешение (например, при использовании
--interactive
флаг). Некоторые дистрибутивы делают это неисполнение.
- может быть использован, чтобы удалить каталог, если вы хотите сделать это, просто дайте ему путь к каталогу (например:
/path/to/directory
)
- f
- не удаляет рекурсивно содержимое каталога, а только файлы, которые непосредственно соответствуют указанному пути (например
example/file1
или example/*
).
- никогда не удаляет каталоги
- никогда не спрашивает разрешения, в основном
yes to all
in Окна
Ниже приведено несколько примеров, все они начинаются со следующей структурой:
example/
file1
file2
file3
.file
dir/
file1
file2
file3
.file
я включил многословие и интерактивный режим по умолчанию для этих примеров. Некоторые дистрибутивы делают это, а другие нет.
пример РМ
$ rm example
rm: cannot remove `example': Is a directory
Как видите, rm
не удаляет каталоги по умолчанию.
rm пример-f
$ rm example -f
rm: cannot remove `example': Is a directory
С помощью -f
флаг по-прежнему не позволяет удалять каталоги.
RM пример-r
$ rm example -r
rm: descend into directory `example'? yes
rm: remove regular empty file `example/file3'? yes
removed `example/file3'
rm: remove regular empty file `example/file2'? yes
removed `example/file2'
rm: descend into directory `example/dir'? yes
rm: remove regular empty file `example/dir/.file'? yes
removed `example/dir/.file'
rm: remove regular empty file `example/dir/file3'? yes
removed `example/dir/file3'
rm: remove regular empty file `example/dir/file2'? yes
removed `example/dir/file2'
rm: remove regular empty file `example/dir/file1'? yes
removed `example/dir/file1'
rm: remove directory `example/dir'? yes
removed directory: `example/dir'
rm: remove regular empty file `example/file1'? yes
removed `example/file1'
rm: remove directory `example'? yes
removed directory: `example'
как вы можете видеть, вас просят разрешения для каждого отдельного файла и каталога, скрытые файлы также удаляются.
RM пример / * - f
$ rm example/* -f
rm: cannot remove `example/dir': Is a directory
removed `example/file1'
removed `example/file2'
removed `example/file3'
здесь, вы не просили разрешения, каталоги не удаляются, и ни скрытые файлы.
пример rm/* - r
$ rm example/* -r
rm: descend into directory `example/dir'? yes
rm: remove regular empty file `example/dir/.file'? yes
removed `example/dir/.file'
rm: remove regular empty file `example/dir/file3'? yes
removed `example/dir/file3'
rm: remove regular empty file `example/dir/file2'? yes
removed `example/dir/file2'
rm: remove regular empty file `example/dir/file1'? yes
removed `example/dir/file1'
rm: remove directory `example/dir'? yes
removed directory: `example/dir'
rm: remove regular empty file `example/.file'? yes
removed `example/file'
rm: remove regular empty file `example/file1'? yes
removed `example/file1'
rm: remove regular empty file `example/file2'? yes
removed `example/file2'
rm: remove regular empty file `example/file3'? yes
removed `example/file3'
здесь содержимое каталога примера (не самого каталога) удаляется, включая скрытые файлы.