Blog (18)
Komentarze (2k)
Recenzje (0)

Dlaczego warto polubić linuksowy terminal

@roobalDlaczego warto polubić linuksowy terminal11.01.2011 22:36

Wielu początkujących użytkowników narzeka na to, że w Linuksie trzeba korzystać z terminalu. Na forach podawane są dla wielu nic nie mówiące polecenia, wielu nowych użytkowników stara się unikać tego narzędzia jak tylko się da. Jeszcze inni twierdzą, że korzystanie z terminalu jest niewygodnie i w XXI w. wszystko powinno dać się wyklikać. Owszem da się, jednak ja chcę pokazać, że terminal to bardzo wygodne narzędzie, niekiedy wygodniejsze niż klikanie myszką. Oczywiście nie namawiam nikogo do korzystania z konsoli, jeśli wolisz klikać, twoja wola.

Ostatnimi czasy użytkownik Webnull pokazał, że w uniksowej konsoli można zrobić prawie wszystko, ja natomiast chcę pokazać rzeczy przydatne bardziej dla zwykłych użytkowników, rzeczy wykonywane na co dzień, które można sobie uprościć i nie są mocno związane z szeroko pojętą administracją systemami z rodziny Unix.

Czym tak naprawdę jest terminal? Terminal to inaczej emulator konsoli. Dlaczego emulator? Ponieważ użytkownik w trybie graficznym nie ma bezpośredniego dostępu do powłoki tekstowej i ten dostęp umożliwia terminal. Czym w takim razie jest konsola? Konsola oferuje bezpośredni dostęp do powłoki tekstowej, w której wykonywane są polecenia. Powłoka natomiast umożliwia komunikację użytkownika z jądrem systemu oraz zarządzanie systemem operacyjnym. Konsola umożliwia również dostęp do tak zwanych wirtualnych terminali. Użytkownik ma możliwość przełączania się pomiędzy wirtualnymi terminalami, w każdym z nich można zalogować się do powłoki systemowej. Na wirtualnym terminalu można uruchomić również Xserver, który odpowiada za tworzenie trybu graficznego oraz za obsługę wielu urządzeń, tj. jak myszka, klawiatura (obecnie tę funkcję przejął hal). Xserver w większości dystrybucji linuksowych uruchomiony jest na siódmym wirtualnym terminalu ale nic nie stoi na przeszkodzie, aby to zmienić, przykładem jest chociażby FreeBSD, w którym Xsverer uruchomiony jest domyślnie na dziewiątym wirtualnym terminalu.

Autodopełnienia

Pierwsza i jakże przydatna właściwość wielu powłok systemowych, to autodopełnienia nazw i poleceń. Autodopełnienie polega na uzupełnianie nazw plików czy poleceń po wciśnięciu klawisza TAB (tabulatora), o czym pisałem w poprzednim moim wpisie na podobny temat. Znacznie skraca to czas wykonywania poleceń, ponieważ skraca się czas ich wpisywania. Po prostu wpisując dane polecenie, wystarczy w trakcie jego wpisywania wcisnąć klawisz TAB, aby je uzupełnić. Opcja ta jest również przydatna, gdy czasami zapomni się nazwę polecenia, a zna się jego pierwszy człon.

Przykłady:

Przykłady będą wzięte raczej z codziennego użytkowania systemu bez jakichś administracyjnych wymysłów :) Jak wiadomo, system powinno się regularnie aktualizować, w zależności od dystrybucji robi się to codzienne albo na przykład raz w tygodniu. Z racji tego, że korzystam na co dzień z Ubuntu, na nim będę przedstawiał przykłady. Aktualizację przeprowadza się albo przy pomocy menedżera aktualizacji, albo przy pomocy Synaptica lub w terminalu. O ile sprawa z menedżerem aktualizacji jest prosta, ponieważ pojawia się tylko informacja o aktualizacji, o tyle w przypadku Synaptica sprawa jest już troszkę, może nie tyle skomplikowana, co czasochłonna, czyli

1. Należy uruchomić Synaptic, w tym celu trzeba przeklikać się przez menu; 2. Podać hasło administratora; 3. Kliknąć Odświeź; 4. Kliknąć Zaznacz wszystko do aktualizacji; 5. Zaakceptować zmiany.

W tym przypadku trzeba wykonać kilka czynności, w przypadku terminalu wystarczy tylko:

1. Uruchomić terminal lub go wywołać, jeśli korzysta się z terminalu typu drop-down, tj. Yakuake, Guake czy Tilda, więc czas uruchamiania terminalu nie wchodzi w grę, bo on już jest uruchomiony; 2. Wpisać dwa magiczne polecenia

sudo apt-get update
sudo apt-get upgrade

lub tak naprawdę jedno

sudo apt-get update && sudo apt-get upgrade

Tutaj dochodzimy do sedna sprawy, autodopełniania. Polecenia wydaje się przydługawe ale gdy po sudo apt-g wciśnie się tabulator, powłoka dopełni polecenie sudo apt-get, natomiast, gdy po upd znowu wciśnie się tabulator, powłoka uzupełni polecenia do update i tym sposobem szybko wpisuje się polecenie sudo apt-get update, tak samo ciąg dalszy polecenia.

Czasami zdarza mi się i na pewno nie tylko mi, kopiować, przenosić lub usuwać jeden lub wiele plików z jednego miejsca w inne. Załóżmy, że chcę skopiować kilka plików z rozszerzeniem jpg i usunąć kilka innych o danym rozszerzeniu, załóżmy tar.bz2:

Kopiowanie wielu plików

cp /home/roobal/Pobrane/*.jpg /home/roobal/Obrazy/Tapety/Nowe/Fajne/

Usuwanie niechcianych plików

rm /home/roobal/Pobrane/*tar.bz2

W tym przykładzie dopełniane jest nie polecenie, a ścieżka do pliku. Gdy po poleceniu cp wpiszę /hom i wcisnę tabulator, powłoka uzupełni nazwę katalogu, gdy wcisnę po raz kolejny tabulator i jeśli jestem jedynym użytkownikiem systemu, automatycznie zostanie uzupełniona nazwa mojego katalogu domowego, czyli /home/roobal i tak dalej. Dodatkowo gdy podam mój katalog domowy, jako zmienna $HOME i wcisnę tabulator, powłoka automatycznie zamieni to na /home/roobal, więc nie muszę wpisywać całej ścieżki, a wystarczy jedynie:

cp $HOME/Pobrane/*.jpg $HOME/Obrazy/Tapety/Nowe/Fajne/

Gdybym chciał sprawdzić tylko listę plików w danym katalogu, chcąc to wyklikać, musiałbym:

1. Uruchomić menedżer plików; 2. Przejść do katalogu, który mnie interesuje; 3. Znaleźć w gąszczu plików te, które mnie interesują

Zajmuje to chwilkę czasu, więc tu z pomocą przychodzi polecenie ls lub dir, który wyświetli mi listę plików w kilka sekund. Przydatne jest również polecenie grep, dzięki któremu można otrzymać przefiltrowany wynik według wzorca.

Podpowiedzi

Powłoka może również użytkownikowi udzielać podpowiedzi nie tylko, dotyczących poleceń ale również nazw. Czasami zdarza się, że nie zna się pełnej nazwy pliku lub polecenia i wystarczy wówczas dwukrotnie wcisnąć tabulator, powłoka wyświetli dostępne podpowiedzi. Świetny przykład zaprezentował Docent na zeszłorocznym HotZlocie, kiedy prowadził sesję na temat Vyatta, polecam obejrzeć sobie relację, widać tam, jak Docent korzysta z autodopełnień oraz podpowiedzi oferowanych przez powłokę poleceń. Ktoś nawet w komentarzach zażartował, że Docent bardzo szybko pisze – to jest właśnie przykład na to, ile czasu można oszczędzić, korzystając z terminalu, klikanie myszką w panelu przeglądarkowym zajęłoby na pewno więcej czasu.

Przykład:

Przykładem niech będzie znów polecenie aktualizacji systemu, załóżmy, że nie pamiętam całego polecenia, wciskam dwukrotnie klawisz Tab i dostaję podpowiedzi

roobal@ubuntu:~$ sudo apt-
apt-add-repository    apt-cdrom             apt-extracttemplates  apt-get               apt-mark              
apt-cache             apt-config            apt-ftparchive        apt-key               apt-sortpkgs          
roobal@ubuntu:~$ sudo apt-get up
update   upgrade  
roobal@ubuntu:~$ sudo apt-get up

i już mi się przypomina, jakie to miało być polecenie.

Aliasy

Powłoka Bash, która jest domyślną w wielu linuksowych dystrybucjach, umożliwia również definiowanie aliasów dla poleceń. Czymże są te aliasy? Alias, jak nazwa wskazuje, pozwala na definiowanie własnych poleceń i przypisywania poleceń systemowych do tych aliasów. Mówiąc po chłopsku, pod własnym poleceniem ukrywamy inne polecenia.

Kiedy to się przydaje? Wtedy, gdy dość często trzeba wykonywać dość długie, trudne do zapamiętania polecenia. Posłużę się tu znów przykładem aktualizacji systemu, czyli zamiast

sudo apt-get update
sudo apt-get upgrade

lub

sudo apt-get update && sudo apt-get upgrade

można po prostu tak

aktualizuj

Swoją drogą, skoro system porozumiewa się z nami w języku polskim, to dlaczego użytkownik nie mógłby się porozumiewać z nim również w ojczystym języku :)

Takich aliasów można tworzyć do woli, zamiast

sudo apt-get install nazwa_programu

można wydać polecenie

instaluj nazwa_programu

Proste, a jakże użyteczne.

Skrypty powłoki

Aliasy to przydatna rzecz, jednak bardziej przydatną są skrypty powłoki. Właśnie dlatego warto znać chociażby podstawowe polecenia powłoki, aby móc napisać prosty skrypt. Oczywiście nie każdy jest administratorem czy programistą ale każdy może pisać nawet najprostsze skrypty, które mogą automatyzować pewne czynności, np. aktualizację systemu.

#!/bin/bash

sudo apt-get update
sudo apt-get upgrade -y

Taki skrypt można dodać do Crona i wykonywać, go automatycznie, np. codziennie, wówczas system będzie automatycznie aktualizowany o ustalonej porze. Aktualizacje i tak są logowane w /var/log/apt/history.log, więc zawsze można sprawdzić co i kiedy się aktualizowało.

Innym przykładem może być, np. zmiana adresu MAC karty sieciowej (MAC można zmienić jeszcze w inny sposób ale to jest tylko przykład).

#!/bin/bash

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 00:00:00:00:00
sudo dhclient eth0

Polecenie sudo ifconfig eth0 up można pominąć, gdyż dhclient automatycznie podniesie (włączy) interfejs eth0. Zamiast wpisywać kilka poleceń ręcznie, wystarczy uruchomić skrypt i niekiedy zostanie on wykonany w kilka sekund. Dla przykładu, skrypt zmiany adres MAC (bez pobierania adresu IP z DHCP) wykonuje się dosłownie zaraz po wciśnięciu klawisza enter.

Jak widać, skrypty mogą pisać nawet najzwyklejsi użytkownicy ale można pisać i bardzie rozbudowane skrypty, o czym przekonał Was już Webnull.

Mam nadzieję, że większość z Was polubi pracę z terminalem albo przynajmniej nie będzie uważała tego narzędzia za zbędne i trudne w obsłudze, a przy okazji przekona się, jak wygodnie można pracować w systemie i nim zarządzać.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.