Інкорпорація команд 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

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
MT5 KVM 8192 Windows

29.99

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

-15.3%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
40 Mbps
DDoS Protected SSD-wKVM 2048 Windows

54

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

-21%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
wKVM-SSD 8192 Metered Windows

65

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

-10%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 32768 Linux

70.49

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

-12.8%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
1 TB
wKVM-SSD 1024 Metered Windows

17

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

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40

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

-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

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

-10.2%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
100 Mbps
DDoS Protected SSD-KVM 16384 Linux

123

При оплаті за 6 місяців

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 8192 Linux

26.96

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

-10%

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

6.6

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

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

cookie

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

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