Jak usunąć wszystkie pliki z katalogu oprócz jednego w BASH Linux
Linux

Jak usunąć wszystkie pliki z katalogu oprócz jednego w BASH Linux

Jak usunąć wszystkie pliki z katalogu oprócz jednego w BASH Linux

Utrzymanie porządku w katalogach na systemach Linux może wymagać usunięcia większości plików, pozostawiając jedynie wybrany plik. W tym poradniku pokażemy, jak za pomocą prostych komend w BASH usunąć wszystkie pliki z katalogu oprócz jednego. Postępuj zgodnie z poniższymi krokami, aby bezpiecznie i efektywnie zarządzać plikami w swoim systemie.

Jak usunąć wszystkie pliki z katalogu oprócz jednego w BASH Linux
Jak usunąć wszystkie pliki z katalogu oprócz jednego w BASH Linux

1. Wprowadzenie

BASH, czyli Bourne Again SHell, to popularna powłoka systemu Unix/Linux, która umożliwia wykonywanie skryptów i automatyzację wielu zadań. Usunięcie wszystkich plików z katalogu oprócz jednego może być przydatne w wielu sytuacjach, na przykład podczas czyszczenia katalogów tymczasowych czy logów.
2. Znalezienie i usunięcie plików

Aby usunąć wszystkie pliki z katalogu oprócz jednego, użyjemy komendy find w połączeniu z rm. Załóżmy, że chcemy zachować plik o nazwie zachowaj.txt.
Krok 1: Przejście do katalogu

 

Najpierw przejdź do katalogu, w którym chcesz usunąć pliki:

bash

cd /sciezka/do/katalogu

Krok 2: Znalezienie wszystkich plików oprócz jednego

Użyjemy komendy find, aby znaleźć wszystkie pliki oprócz zachowaj.txt:

bash

find . -type f ! -name ‘zachowaj.txt’

Wyjaśnienie parametrów:

.: Reprezentuje bieżący katalog.
-type f: Szuka tylko plików (nie katalogów).
! -name ‘zachowaj.txt’: Wyklucza plik zachowaj.txt z wyników.

Krok 3: Usunięcie znalezionych plików

Aby usunąć znalezione pliki, możemy przekazać je do komendy rm:

bash

find . -type f ! -name ‘zachowaj.txt’ -exec rm {} \;

Ostrzeżenie: Komenda rm usuwa pliki bez możliwości ich odzyskania. Upewnij się, że wykluczony plik (zachowaj.txt) jest poprawny, aby uniknąć przypadkowego usunięcia ważnych danych.

3. Automatyzacja za pomocą skryptu

Aby zautomatyzować ten proces, możemy stworzyć skrypt BASH. Otwórz edytor tekstu i wprowadź poniższy kod:

bash

#!/bin/bash
cd /sciezka/do/katalogu || exit
find . -type f ! -name ‘zachowaj.txt’ -exec rm {} \;

Zapisz plik jako usun_pliki.sh i nadaj mu prawa do wykonania:

bash

chmod +x usun_pliki.sh

4. Automatyzacja za pomocą crontab

Czytaj  Przełączanie z Windowsa na Linuxa: Jak Zminimalizować Kłopoty

Aby uruchamiać skrypt regularnie, dodaj go do crontab. Otwórz edytor crontab:

bash

crontab -e

Dodaj poniższą linię, aby uruchamiać skrypt codziennie o północy:

bash

0 0 * * * /sciezka/do/skryptu/usun_pliki.sh

5. Podsumowanie

Usunięcie wszystkich plików z katalogu oprócz jednego jest prostym zadaniem za pomocą BASH i komendy find. Dzięki powyższym wskazówkom możesz łatwo zarządzać plikami w swoim systemie i zautomatyzować ten proces za pomocą skryptów i crontab. Pamiętaj jednak, aby zawsze dokładnie sprawdzać wykluczony plik przed usunięciem, aby uniknąć przypadkowego usunięcia ważnych danych.

Polecane wpisy
Tworzenie Skryptów Bash: Podstawy Automatyzacji Zadań
Tworzenie Skryptów Bash: Podstawy Automatyzacji Zadań

Automatyzacja zadań za pomocą skryptów Bash może znacznie usprawnić pracę, zwłaszcza jeśli często wykonujesz te same czynności ręcznie. Skrypty Bash Czytaj dalej

Jak zainstalować CentOS?
Jak zainstalować CentOS?

Jak zainstalować CentOS? Przygotowanie: Pobierz plik ISO CentOS: Przejdź na stronę https://www.centos.org/download/ i wybierz wersję CentOS, którą chcesz zainstalować. Kliknij Czytaj dalej