rm

видалення файлів і каталогів


Загальний синтаксис

rm [OPTIONS]... FILE...

За замовчуванням, коли виконується без будь-яких параметрів, rm не видаляє каталоги та не запитує користувача, чи продовжувати видалення даних файлів.

видалити один файл:

<b>rm</b> filename

Якщо файл не захищений від запису, його буде видалено без попередження. У разі успіху команда не видає жодного результату і повертає нуль.

Якщо у вас немає дозволів на запис у батьківському каталозі, ви отримаєте помилку «Операція не дозволена».

Під час видалення файлів, захищених від запису, команда запропонує вам підтвердження, як показано нижче:

<b>rm</b> filename
rm: remove write-protected regular empty file 'filename'?

Введіть Y і натисніть Enter, щоб видалити файл.

Опція -f вказує rm ніколи не запитувати користувача та ігнорувати неіснуючі файли та аргументи.

<b>rm</b> -f filename

Якщо ви хочете отримати інформацію про те, що видаляється, скористайтеся параметром -v (verbose - багатослівний):

<b>rm</b> -v filename
removed 'filename'

Видалити кілька файлів одночасно. Для цього передайте імена файлів як аргументи, розділені пробілом:

<b>rm</b> file1 file2 file3

Можна використовувати регулярні вирази для відповідності кільком файлам. Наприклад, щоб видалити всі .png файли в поточному каталозі:

<b>rm</b> *.png

Перед використанням команди rm з регулярним виразом бажано перевірити його роботу з командою ls, щоби бачити, які файли будуть видалені.

Видалити один або кілька порожніх каталогів, скористайтеся опцією -d:

<b>rm</b> -d dirname

rm -d функціонально ідентичний команді rmdir.

Рекурсивно видалити непусті каталоги та всі файли в них, використовуйте параметр -r (recursive - рекурсивний):

<b>rm</b> -r dirname

Підказка перед видаленням

Параметр -i вказує rm запитувати користувача перед видаленням кожного файлу. Введіть Y, Enter щоб видалити файл.

"<b>rm</b> -i file1 file2"

rm: remove regular empty file 'file1'? y 
rm: remove regular empty file 'file2'?" %}
 
При видаленні більше трьох файлів або **рекурсивному видаленні каталогу**, щоб отримати **єдиний запит для всієї операції**, скористайтеся параметром `-I`. Вам буде запропоновано підтвердити видалення всіх даних файлів і каталогів:


rm -I file1 file2 file3 file4 rm: remove 4 arguments?



Якщо даний каталог або файл у каталозі захищені від запису, команда **rm** запропонує вам підтвердити операцію. Щоб **видалити каталог без запиту**, скористайтеся опцією `-f`:


rm -rf dirname



Команда `rm -rf` дуже небезпечна, і її слід використовувати з особливою обережністю!

## rmdir --help


rm –help”

Usage: rm [OPTION]… [FILE]… Remove (unlink) the FILE(s).

-f, –force ignore nonexistent files and arguments, never prompt -i prompt before every removal -I prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes –interactive[=WHEN] prompt according to WHEN: never, once (-I), or always (-i); without WHEN, prompt always –one-file-system when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument –no-preserve-root do not treat ‘/’ specially –preserve-root do not remove ‘/’ (default) -r, -R, –recursive remove directories and their contents recursively -d, –dir remove empty directories -v, –verbose explain what is being done –help display this help and exit –version output version information and exit

By default, rm does not remove directories. Use the –recursive (-r or -R) option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a ‘-‘, for example ‘-foo’, use one of these commands: rm – -foo

rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred.

GNU coreutils online help: http://www.gnu.org/software/coreutils/ Full documentation at: http://www.gnu.org/software/coreutils/rm or available locally via: info ‘(coreutils) rm invocation’ ```

Див. також: