rm

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


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

rm [OPTIONS]... FILE...

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

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

rm filename

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

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

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

rm filename

rm: remove write-protected regular empty file 'filename'?

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

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

rm -f filename

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

rm -v filename

removed 'filename'

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

rm file1 file2 file3

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

rm *.png

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

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

rm -d dirname

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

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

rm -r dirname

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

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

rm -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'

Див. також: