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  Ubuntu download

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
Jakie są najlepsze dystrybucje Linux?
Jakie są najlepsze dystrybucje Linux?

Jakie są najlepsze dystrybucje Linux? Linux to darmowy i otwartoźródłowy system operacyjny, który jest coraz bardziej popularny. Istnieje wiele różnych Czytaj dalej

Tworzenie Własnych Distro Linuxa z Użyciem Yocto Project
Tworzenie Własnych Distro Linuxa z Użyciem Yocto Project

Yocto Project to zestaw narzędzi i framework, który umożliwia tworzenie własnych dystrybucji Linuxa. Jest to potężne narzędzie, które umożliwia tworzenie 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.