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  Optymalizacja wydajności tuneli VPN – Kompletny przewodnik

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
Instalacja Linuksa na serwerze
Instalacja Linuksa na serwerze

Instalacja Linuksa na serwerze Przygotowanie: Wybierz dystrybucję Linuksa: Istnieje wiele dystrybucji Linuksa, które można zainstalować na serwerze. Popularne dystrybucje to Czytaj dalej

Rozwiązywanie problemów z partycjami Linux – Poradnik
Rozwiązywanie problemów z partycjami Linux - Poradnik

Rozwiązywanie problemów z partycjami Linux - Poradnik z przykładami Wstęp Problemy z partycjami w systemie Linux mogą być frustrujące, ale 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.