Загрузка данных


Oto kompletne rozwiązanie zadań z komendami systemu Linux oraz wyjaśnieniami.
------------------------------
## ZADANIE 6 — Wyszukiwanie plików przez find## 1. Tworzenie struktury plików i katalogów

mkdir -p test-find/katalog1 test-find/katalog2
touch test-find/plik1.txt test-find/plik2.md test-find/katalog1/raport.txt test-find/katalog2/skrypt.sh

## 2. Wyszukiwanie konkretnego pliku po nazwie

find test-find -name "raport.txt"

## 3. Wyszukiwanie wszystkich plików z rozszerzeniem .txt

find test-find -name "*.txt"

## 4. Wyszukiwanie plików zaczynających się od wskazanego fragmentu (np. "plik")

find test-find -name "plik*"

## 5. Przeszukanie katalogu domowego w poszukiwaniu katalogu linux
Flaga -type d zawęża wyniki wyłącznie do katalogów.

find ~ -type d -name "linux"

## 6. Komunikaty o braku uprawnień (Permission denied)
Podczas przeszukiwania systemowych katalogów (np. /etc lub /var), komenda find może wyświetlić błędy typu:
find: ‘/etc/ssl/private’: Permission denied

* Przyczyna: Twój aktualny użytkownik nie ma uprawnień do odczytu niektórych katalogów systemowych należących do użytkownika root.
* Rozwiązanie (zapisanie błędów do pliku): Możesz przekierować strumień błędów (2) do pliku tekstowego:

find /etc -name "config*" 2> bledy.txt


## 7. Różnica między find a grep

| Cecha | find | grep |
|---|---|---|
| Co przeszukuje? | Strukturę katalogów na dysku. | Zawartość (tekst) wewnątrz plików lub strumienia danych. |
| Czego szuka? | Plików i folderów na podstawie ich metadanych (nazwa, rozmiar, data utworzenia, uprawnienia). | Linii tekstu pasujących do wzorca (słów, fraz, wyrażeń regularnych). |
| Przykład użycia | "Znajdź plik o nazwie rachunek.pdf." | "Znajdź słowo ERROR w pliku logi.txt." |

------------------------------
## ZADANIE 7 — Projekt końcowy „Porządek na komputerze”## 1. Tworzenie struktury katalogów

mkdir -p ~/projekt-linux/{dokumentacja,logi,backup,testy}

## 2. Tworzenie plików opisowych w każdym katalogu

touch ~/projekt-linux/dokumentacja/instrukcja.txt ~/projekt-linux/dokumentacja/wymagania.txt
touch ~/projekt-linux/logi/serwer.txt ~/projekt-linux/logi/aplikacja.txt
touch ~/projekt-linux/backup/kopia-stara.txt
touch ~/projekt-linux/testy/test1.txt ~/projekt-linux/testy/test2.txt ~/projekt-linux/testy/do-usuniecia.txt
mkdir ~/projekt-linux/testy/pusty-katalog

## 3. Kopiowanie, przenoszenie i zmiana nazwy plików

# Kopiowanie wybranego pliku do backup
cp ~/projekt-linux/dokumentacja/instrukcja.txt ~/projekt-linux/backup/
# Przenoszenie pliku
mv ~/projekt-linux/logi/serwer.txt ~/projekt-linux/backup/
# Zmiana nazwy pliku
mv ~/projekt-linux/dokumentacja/wymagania.txt ~/projekt-linux/dokumentacja/specyfikacja.txt

## 4. Usuwanie plików i pustego katalogu

# Usuwanie dwóch plików testowych
rm ~/projekt-linux/testy/test1.txt ~/projekt-linux/testy/do-usuniecia.txt
# Usuwanie pustego katalogu
rmdir ~/projekt-linux/testy/pusty-katalog

## 5. Utworzenie logu i filtrowanie przez grep
Najpierw tworzymy plik z wpisami:

cat << EOF > ~/projekt-linux/logi/system.log
2026-10-08 12:00:05 INFO Uruchomiono system pomyślnie.
2026-10-08 12:05:12 WARNING Niski poziom pamięci RAM.
2026-10-08 12:10:45 ERROR Błąd połączenia z bazą danych!
2026-10-08 12:15:20 INFO Odświeżono konfigurację.
EOF

Filtrowanie poszczególnych typów wpisów:

grep "INFO" ~/projekt-linux/logi/system.log
grep "WARNING" ~/projekt-linux/logi/system.log
grep "ERROR" ~/projekt-linux/logi/system.log

## 6. Analiza logu za pomocą head, tail i less

# Wyświetlenie pierwszych 2 linii logu
head -n 2 ~/projekt-linux/logi/system.log
# Wyświetlenie ostatnich 2 linii logu
tail -n 2 ~/projekt-linux/logi/system.log
# Interaktywne przeglądanie pliku (wyjście za pomocą klawisza Q)
less ~/projekt-linux/logi/system.log

Jeśli chcesz, możemy przejść do kolejnych kroków i np. zautomatyzować ten proces za pomocą skryptu Bash, dodać wyszukiwanie zaawansowane (np. po dacie modyfikacji) albo przećwiczyć wyrażenia regularne w grep. Daj znać, co interesuje Cię najbardziej!