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  Konfiguracja sudo w systemie Linux

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
Debianowa dystrybucja dla urządzeń sieciowych od … Microsoftu

Microsoft bardzo szybko wkracza na swoją nową drogę jaką jest open-source podkreślając przy każdej sposobności że „kocha linuxa”. Zaledwie kilka Czytaj dalej

Routing statyczny w Linux
Routing statyczny w Linux

Routing statyczny to jeden z dwóch podstawowych typów routingu w sieciach komputerowych. Polega na definiowaniu sztywnych tras między sieciami, z Czytaj dalej