Інкорпорація команд rm в скрипти Bash

watch 33s
views 2

14:06, 03.12.2025

Зміст статті
arrow

  • Додавання rm до скриптів Bash
  • Висновок

Правильне керування файлами має вирішальне значення при роботі з bash-скриптами. Серед величезної різноманітності завдань, напевно, найважливішим є видалення каталогів і файлів. Для цього зазвичай використовується команда rm. Використовуючи rm, користувачі можуть піти ще далі і автоматизувати процес видалення. Це значно спрощує процес, але також важливо бути обережним при роботі з критично важливою інформацією.

У цьому посібнику ви отримаєте всю основну інформацію про команду rm, її використання, кілька поширених прикладів тощо.

Однак, перш ніж ми пояснимо деякі з найпоширеніших випадків, давайте уточнимо, що ми будемо обговорювати використання в системах на базі Linux, з версією оболонки bash 4.0 і вище, і ви повинні мати деяке базове розуміння сценаріїв bash.

Додавання rm до скриптів Bash

Залежно від конкретного випадку використання, додавання команди rm до скрипта bash може дещо відрізнятися. Тут ми покажемо деякі стандартні і більш складні варіанти, щоб ви могли краще зрозуміти її використання і деякі заходи безпеки.

Приклад 1. Почнемо з видалення одного файлу в bash-скрипті, процес виглядає наступним чином:

#!/bin/bash
rm /path/to/drf.txt
echo "deleted"

Тут замість drf.txt потрібно вказати шлях до потрібного файлу.

Приклад 2. Щоб видалити декілька файлів однією командою, виконайте наступні дії:

#!/bin/bash
rm /pathtonecessaryfiles/*.txt  

 *.txt означає, що всі txt-файли у вказаному каталозі буде видалено. Цю команду слід використовувати з обережністю, оскільки ви можете видалити необхідні дані.

Приклад 3. Щоб видалити весь каталог з усіма файлами, слід скористатися наступною командою:

 #!/bin/bash
rm -r /pathtodirectory

Ця опція зазвичай необхідна для видалення величезних папок.

Приклад 4. Для примусового видалення певного файлу без необхідності підтвердження можна використовувати наступний варіант:

#!/bin/bash
rm -f /pathtofile.txt

Це чудовий вибір для видалення захищених файлів.

Приклад 5. Використання цієї команди з оператором if може зробити процес зрозумілішим, якщо вказати додаткові деталі, наприклад, такі:

#!/bin/bash 
if [ -f /pathtofile.txt ]; then
rm /pathtofile.txt
echo "Deleted"
else
echo "Hasn’t found"
fi

Цей скрипт можна використовувати для виявлення певного файлу перед видаленням, щоб не виникало помилок, якщо файл не буде знайдено.

Приклад 6. Комбінація find і rm може допомогти з вибірковим видаленням, де ви можете вказати певні критерії, як показано нижче:

#!/bin/bash
find /pathtodirectory -name "*.log" -type f -mtime +15 -exec rm {} \;
echo "Deleted"  

За допомогою цього скрипта ви шукаєте файли журналів, яким більше 15 днів, і видаляєте їх. Це чудовий варіант для автоматизації процесу видалення непотрібних файлів.

Приклад 7. Бувають ситуації, коли потрібно видалити файл і гарантувати, що він не буде відновлений. Це можна зробити наступним чином:

 #!/bin/bash
shred -u /pathtofile.txt
rm /pathtofile.txt

Це ідеальний варіант, коли ви хочете видалити дані у найбезпечніший спосіб. Як бачите, разом з командою rm тут також використовується t для запобігання відновленню.

Приклад 8. Ще один приклад використання команди rm для сценаріїв, коли потрібно перевірити існування каталогу/файлу перед видаленням. Це можна зробити наступним чином:

#!/bin/bash 
if [ -z "$1" ]; then
echo "Usage: $0 "
exit 1 fi if [ -e "$1" ]; then
rm -r "$1"
echo "Deleted"
else
echo "Haven’t found"
fi

Висновок

Всі приклади використання команди rm слід застосовувати з обережністю, щоб уникнути неприємних наслідків. Сподіваємося, що тепер ви краще розумієте, як вбудовувати rm в bash-скрипти, і зможете значно автоматизувати деякі завдання.

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

-5.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 2048 Windows

11.65

При оплаті за рік

-24.7%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
4 TB
KVM-SSD 4096 Metered Linux

31

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 4096 Linux

12.1

При оплаті за рік

-9.7%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 65536 Windows

187.5

При оплаті за рік

-9.5%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 8192 Windows

121.5

При оплаті за рік

-20.6%

CPU
CPU
6 Xeon Cores
RAM
RAM
8GB
Space
Space
100GB SSD
Bandwidth
Bandwidth
500GB
KVM-SSD 8192 HK Linux

59

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 4096 Linux

15

При оплаті за рік

-8.1%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 8192 Windows

31.25

При оплаті за рік

-10%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 1024 Linux

6.6

При оплаті за рік

-20.2%

CPU
CPU
1 Xeon Core
RAM
RAM
1 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 1024 HK Windows

19

При оплаті за рік

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

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