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  Fedora 38 - najnowsza odsłona popularnego systemu operacyjnego już dostępna!

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
Konfiguracja tuneli VPN typu Site-to-Site: Stałe połączenia między sieciami lokalnymi
Konfiguracja tuneli VPN typu Site-to-Site: Stałe połączenia między sieciami lokalnymi

Konfiguracja tuneli VPN typu Site-to-Site: Stałe połączenia między sieciami lokalnymi VPN typu site-to-site to rozwiązanie, które umożliwia tworzenie stałych tuneli Czytaj dalej

Jak działa system ulimit i dlaczego Linux ogranicza zasoby aplikacji
Jak działa system ulimit i dlaczego Linux ogranicza zasoby aplikacji

Jak działa system ulimit i dlaczego Linux ogranicza zasoby aplikacji W systemie Linux mechanizm ulimit (user limits) odpowiada za kontrolowanie Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.