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

-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

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

-8.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 2048 Windows

37.4

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

-20.5%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
10 TB
KVM-SSD 16384 Metered Linux

95

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

-9.7%

CPU
CPU
10 Epyc Cores
RAM
RAM
64 GB
Space
Space
300 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 65536 Windows

139.49

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

-15.6%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
30 Mbps
DDoS Protected SSD-KVM 1024 Linux

38

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

-16.2%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
60 Mbps
DDoS Protected SSD-KVM 4096 Linux

67

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

-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 місяців

-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
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

74.49

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

-10%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 1024 Linux

6.1

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

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

cookie

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

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