Rozdział 4: Kopiowanie, przenoszenie i sprzątanie 🧹
Kopiowanie: cp
cp to CoPy. Wróć do głównego folderu gry:
cd ~/projekty/nyan-cat-runner
Stwórzmy kopię zapasową README:
cp README.md README-backup.md
Sprawdź:
ls *.md
Hej, co to *? To wildcard (znak wieloznaczny)! Gwiazdka * oznacza “cokolwiek”. Więc *.md znaczy “wszystkie pliki kończące się na .md”. Wildcards to supermoc terminala!
Inne przykłady:
*.py— wszystkie pliki Pythonanyan*— wszystko co zaczyna się od “nyan”*cat*— wszystko co ma “cat” gdziekolwiek w nazwie
Kopiowanie folderu (z zawartością):
cp -r assets assets-backup
-r to recursive — “skopiuj folder i wszystko co jest w środku”. Bez -r terminal odmówi kopiowania folderu!
Przenoszenie: mv
mv to MoVe — przenoszenie. Ale to też komenda do zmiany nazwy!
Zmiana nazwy:
mv README-backup.md README.bak
Sprawdź — plik zmienił nazwę (bo “przeniesienie” w to samo miejsce z inną nazwą = zmiana nazwy).
Przenoszenie do innego folderu:
mv README.bak docs/
Teraz backup jest w folderze docs. Sprawdź:
ls docs/
Usuwanie: rm
rm to ReMove — usuwanie. UWAGA: terminal nie ma kosza! Usunięte pliki znikają na zawsze!
rm docs/README.bak
⚠️ MEGA WAŻNE: Nigdy, przenigdy nie wpisuj
rm -rf /anirm -rf ~. To usunie WSZYSTKO. Terminal nie pyta “czy jesteś pewna?”. Po prostu to robi. Bądź ostrożna zrm!
Usuwanie folderu:
rm -r assets-backup
Znów -r bo to folder. Możesz dodać -i żeby terminal pytał o każdy plik:
rm -ri jakis-folder/
-i = interactive — pyta przed usunięciem. Bezpieczniejsze!
Szukanie plików: find
find szuka plików w folderach:
find . -name "*.py"
Co to znaczy?
.— szukaj od tutaj (bieżący folder)-name "*.py"— znajdź pliki o nazwie kończącej się na.py
Więcej przykładów:
find . -type d # znajdź tylko foldery (d = directory)
find . -type f # znajdź tylko pliki (f = file)
find . -name "*.py" -type f # pliki Pythona
Sprawdź ile masz plików w projekcie:
find . -type f | wc -l
Whoa! Co to za |? To pipe (rura/potok)! Ale o tym w następnym rozdziale… 😏
🏆 Wyzwanie
- Stwórz plik
src/test.pyz tekstemprint("test") - Skopiuj go do
src/test-backup.py - Zmień nazwę
src/test-backup.pynasrc/test-kopia.py - Znajdź wszystkie pliki
.pyw projekcie (find) - Usuń
src/test.pyisrc/test-kopia.py(posprzątaj po sobie!) - Sprawdź
treeczy wszystko jest w porządku