System Linux zdobywa coraz większą popularność. Wraz z jej wzrostem coraz bardziej jest dopracowywana możliwość graficznej konfiguracji systemu, bez konieczności ręcznej edycji plików konfiguracyjnych, czy też korzystania z systemowego terminala. Niemniej znajomość podstawowych komend może okazać się przydatna w przypadku braku dostępu do środowiska graficznego np. na zdalnym serwerze.
W przypadku, gdy nie korzystasz obecnie z żadnego systemu Linux, a nie chcesz instalować nowego systemu na komputerze, to możesz skorzystać z jednego z wielu systemów (np. Ubuntu, Fedora), które mają możliwość uruchomienia systemu w tzw. trybie live, gdzie system wczytywany jest z nośnika do pamięci RAM, bez zapisywania żadnych zmian na dysku twardym. Należy jednak pamiętać, że wszelkie zmiany wprowadzone w tak uruchomionym systemie zostaną utracone przy ponownym rozruchu komputera.
Jeżeli masz hosting na AttHost, to możesz skorzystać z dostępnego SSH, które umożliwia dostęp do powłoki systemu linux. Dane do połączenia się z serwerem możesz odnaleźć w panelu klienta AttHost, w zakładce SSH. Do połączenia z serwerem w systemie Windows możesz wykorzystać np. program PuTTY. Wystarczy uzupełnić adres serwera i numer portu, a po rozpoczęciu połączenia wpisać login oraz hasło.
Zaczynamy!
Po uruchomieniu terminala, bądź po połączeniu się poprzez SSH z serwerem powinien ukazać się nam widok podobny do poniższego.
Widzimy tutaj nasz login, adres hosta oraz naszą lokalizację. Znak „~” oznacza katalog domowy użytkownika. Jeżeli chcemy sprawdzić konkretnie w jakim katalogu jesteśmy możemy skorzystać z komendy „pwd”.
Jak widzimy znajdujemy się obecnie w katalogu „/home/moj-login”. Sprawdźmy teraz zawartość katalogu, posłużymy się poleceniem „ls”.
W katalogu „/home/moj-login” znajdują się trzy katalogi: logs, sockets, websites. W jaki sposób możemy teraz przejść do innego katalogu? Nic prostszego, wystarczy użyć polecenia „cd”, po którym należy wpisać nazwę katalogu do którego chcemy przejść:
cd nazwa-katalogu
Spróbujmy, więc przejść do katalogu „websites”.
Możemy zauważyć, że katalog został zmieniony na „~/websites”, czyli „/home/moj-login/websites”. Sprawdźmy teraz zawartość katalogu websites.
Widzimy tutaj katalog wp_1, możemy teraz do niego przejść ponownie używając komendy „cd”.
cd wp_1
Nie ma jednak konieczności przechodzenia tylko o jeden katalog. Można od razu wpisać ścieżkę do konkretnego katalogu. Wróćmy więc do naszego głównego katalogu. W tym celu wpisujemy samo polecenie „cd”. Następnie przejdziemy od razu do katalogu wp_1.
Ścieżki względne i bezwzględne
Przy wpisywaniu ścieżek do katalogów lub plików należy zwrócić uwagę na znak „/” lub jego brak na początku wpisywanej ścieżki, tj. czy jest to ścieżka bezwzględna, czy względna. W przypadku ścieżek bezwzględnych wpisywany jest pełen adres ścieżki np.
/home/moj-login/websites/wp_1
lub
~/websites/wp_1
Natomiast w przypadku ścieżek względnych wpisujemy tylko ścieżkę względem miejsca w którym obecnie przebywamy, np.
websites/wp_1
Odwołania do ścieżek bezwzględnych mogą się odbywać niezależnie od katalogu, w którym obecnie się znajdujemy. W przypadku ścieżek względnych ma to jednak istotne znaczenie. Przykładowo znajdując się w katalogu „/home/moj-login/websites” po wydaniu polecenia:
cd websites/wp_1
Otrzymamy komunikat o nieistniejącym katalogu, gdyż wewnątrz katalogu „/home/moj-login/websites” nie ma kolejnego katalogu „websites” (czyli „/home/moj-login/websites/websites”).
Ukryte pliki
Wróćmy teraz katalogu „~/websites/wp_1”. Jest to katalog zawierający pliki strony internetowej, a konkretnie WordPressa. Wyświetlmy, więc zawartość katalogu poleceniem „ls”.
Strony internetowe zazwyczaj zawierają plik „.htaccess”, w którym możemy konfigurować dodatkowe dyrektywy i parametry serwera www. W systemach UNIX (np. Linux, MacOS) pliki i katalogi rozpoczynające się od kropki oznaczają tzw. ukryte pliki i katalogi. Aby wyświetlić również ukryte pliki i katalogi należałoby użyć polecenia „ls” wraz z parametrem „a”, czyli
ls -a
Otrzymamy wówczas:
Jak widać plik .htaccess jest teraz widoczny.
Przeglądanie i edycja plików
Spróbujmy teraz sprawdzić jego zawartość za pomocą komendy „cat”.
Ukazała się nam standardowa zawartość pliku .htaccess. Spróbujmy teraz przejrzeć jakiś dłuższy plik tekstowy np. plik konfiguracyjny WordPressa.
cat wp-config.php
Przy większych plikach takie przeglądanie może być uciążliwe. Z pomocą przychodzi jednak nam kolejne polecenie „less”. Otwórzmy plik wp-config.php za pomocą tego polecenia:
less wp-config.php
Otworzy się nam początek dokumentu, który możemy swobodnie przeglądać klawiszami strzałek.
Jeżeli chcemy przerwać przeglądnie dokumentu, wystarczy, że naciśniemy klawisz „q”.
Co jednak zrobić, gdy chcemy edytować dokument tekstowy? Z pomocą przychodzą wówczas konsolowe edytory tekstu. Najpopularniejsze z nich to nano oraz vim. My skorzystamy z programu nano. Otwórzmy, więc nasz plik „wp-config.php” w programie nano.
nano wp-config.php
Naszym oczom ukaże się wówczas okno edytora.
Obsługa programu jest dość intuicyjna, po dokumencie nawigujemy strzałkami, a zmiany w dokumencie wprowadzamy po prostu wpisując je na klawiaturze. Zmiany w dokumencie można zapisać naciskając klawisze CTRL+O, natomiast wyjść z programu za pomocą kombinacji CTRL+X.
Tworzenie plików i katalogów
Wywołanie programu nano z nazwą nieistniejącego pliku np.
nano moj-plik.txt
i zapisanie dowolnych danych w tym pliku, spowoduje utworzenie nowego pliku o takiej nazwie.
Innym sposobem na utworzenie pustego pliku jest komenda „touch”. Wystarczy wpisać:
touch inny-plik.txt
A zostanie utworzony pusty plik o nazwie „inny-plik.txt”.
Co w przypadku, gdy chcemy utworzyć nowy katalog? Możemy wykorzystać w tym celu polecenie mkdir. Utwórzmy katalog o nazwie „zdjecia” w bieżącym katalogu za pomocą następującego polecenia.
mkdir zdjecia
Jak możemy zauważyć pojawił się nowy katalog oraz dwa pliki utworzone wcześniej.
Kopiowanie, przenoszenie i usuwanie
Spróbujmy teraz skopiować plik. Wykorzystamy w tym celu komendę „cp”. Użycie wygląda następująco:
cp sciezka/do/pliku sciezka/do/skopiowanego/pliku2
Skopiujemy plik „wp-config.php” do pliku „wp-config-backup.php”:
cp wp-config.php wp-config-backup.php
Możemy sprawdzić czy plik został faktycznie skopiowany podglądając jego zawartość:
less wp-config-backup.php
Kolejną przydatną komendą jest „mv”, która pozwala na przenoszenie plików/katalogów, ale również jest używana do zmiany nazwy. Składnia jest podobna do komendy cp.
mv sciezka/do/pliku inna/sciezka/
lub
mv moj-plik nowa-nazwa-pliku
Przykładowo, zmieńmy nazwę pliku „inny-plik.txt” na „nowa-nazwa-pliku.txt”.
mv inny-plik.txt nowa-nazwa-pliku.txt
Jak widzimy poniżej, nazwa pliku została zmieniona.
Teraz spróbujmy usunąć ten plik za pomocą poniższej komendy:
rm nowa-nazwa-pliku.txt
Usunięcie będzie trzeba potwierdzić wpisując „t” lub „y”. Ewentualnie jeżeli chcemy usunąć plik od razu bez potwierdzania, to możemy dopisać parametr „-f”.
rm -f nowa-nazwa-pliku.txt
Spróbujemy teraz przekopiować nieco więcej niż pojedynczy plik. Wyobraźmy sobie, że chcemy wykonać kopię plików strony. Przejdźmy jeden katalog wyżej do katalogu „websites”, ale może być to również zupełnie inny katalog, istotne jest tylko, aby nie był pusty. Jeden katalog powyżej można przejść poleceniem:
cd ..
Znajdujemy się teraz w katalogu „websites”. Aby skopiować cały katalog wraz z całą zawartością, czyli ze wszystkimi podkatalogami i plikami, musimy dopisać parametr „R” do komendy „cp”.
cp -R wp_1 wp_1_backup
Po zakończeniu kopiowania powinny być już widoczne dwa katalogi. Podejrzyjmy zawartość nowego katalogu.
ls wp_1_backup
Zgodnie z oczekiwaniami zawartość skopiowanego katalogu jest taka sama jak katalowu „wp_1”.
Jeżeli katalog nie jest nam już potrzebny, to możemy go usunąć wraz z całą zawartością. Podobnie jak wyżej, dodajemy parametr „R”, aby usunąć całą zawartość katalogu oraz parametr „f”, aby pliki zostały usunięte bez konieczności każdorazowego potwierdzania:
rm -Rf wp_1_backup
Archiwum ZIP
Na koniec pokażemy jeszcze jak utworzyć archiwum ZIP, a następnie jak je rozpakować. Do kompresowania skorzystamy z programu „zip”. Jeżeli chcielibyśmy spakować tylko wybrane pliki, to składnia wygląda następująco.
zip archiwum.zip plik1 plik2 plik2
Jeżeli chcielibyśmy spakować natomiast katalog wraz z całą zawartością, to wygląda to jak poniżej.
zip -r archiwum.zip katalog1
Przykładowo skompresujemy katalog „wp_1”.
zip -r backup_wp_1.zip wp_1
Widzimy, że pojawił się nowy plik.
Teraz pokażemy jak zdekompresować plik ZIP za pomocą programu „unzip”, uprzednio jednak usuniemy nasz katalog wp_1, aby sprawdzić czy zostanie odtworzony (jeżeli jest to dla nas istotny katalog, to próby bezpieczniej byłoby przeprowadzać na innym katalogu, aby nie utracić danych). Składnia jest dość prosta.
unzip archiwum.zip
Usuwamy katalog „wp_1”.
rm -Rf wp_1
I rozpakowujemy plik „backup_wp_1.zip”
unzip backup_wp_1.zip
W katalogu „websites” powinny bić widoczne katalog wp_1 oraz plik „backup_wp_1.zip”.
Podsumowanie
Na tym zakończymy artykuł. Pokazane zostały tutaj zaledwie podstawy, które wskazują w jaki sposób poruszać się po linuksowej konsoli i wykonać podstawowe czynności. Jest to jednak zaledwie ułamek dostępnych narzędzi. Zachęcam również do sięgnięcia do dokumentacji opisywanych narzędzi, aby poznać inne możliwości ich używania.