Terminal kontra GUI
Klikanie 25 sekund kontra terminal 2 sekundy — ta sama operacja.
Kilka lat temu miałem do przemianowania czterysta zdjęć. Pochodziły z trzech różnych aparatów, więc nazwy plików były bałaganem prefiksów i niespójnej numeracji, a wszystko miało wylądować w jednym folderze w porządku chronologicznym. Zrobiłem pierwsze trzydzieści ręcznie, spojrzałem na zegarek i policzyłem pozostałe trzysta siedemdziesiąt.
To jest cały argument za terminalem i nie ma nic wspólnego z wyglądaniem mądrze. Klikanie jest w porządku przy jednej rzeczy. Fatalnie skaluje się do czterystu rzeczy, a do zera skaluje się wtedy, gdy te czterysta rzeczy trzeba zrobić ponownie za miesiąc.
Czarne okno to rozmowa, nie egzamin
Strach większości ludzi przed terminalem bierze się z nieporozumienia co do tego, czym on jest. Wygląda jak egzamin. Jest bliżej wiadomości tekstowej do komputera: mówisz, czego chcesz, on to robi i informuje, jeśli nie dał rady. To cała interakcja.
Interfejs graficzny i terminal nie są rywalami, a ujęcie „terminal kontra GUI" jest złym ujęciem — co warto powiedzieć w artykule zatytułowanym dokładnie tak. Odpowiadają na inne pytania. Interfejs graficzny dobrze odpowiada na pytanie „jakie mam opcje?" — pokazuje wszystko, co dostępne, czyli dokładnie to, czego potrzebujesz, kiedy nie wiesz, co robisz. Terminal dobrze odpowiada na „zrób tę konkretną rzecz, na tych konkretnych plikach, teraz" — zakłada, że już wiesz, i schodzi z drogi.
Używam obu, bez przerwy, a wybór nie dotyczy umiejętności. Dotyczy tego, ile rzeczy robię. Jeden plik: klikam. Czterdzieści plików: piszę. To jest cała zasada i zajęło mi lata, żeby sformułować ją tak prosto.
Gdzie naprawdę ucieka czas
Weźmy zadanie, o które często ktoś pyta: znajdź w drzewie folderów wszystkie faktury z zeszłego roku i skopiuj je w jedno miejsce. Ręcznie to otwieranie folderów, czytanie nazw, sprawdzanie dat, przeciąganie plików, gubienie się i zaczynanie od nowa. To nie jest trudne. Jest po prostu długie, i to w taki sposób, który generuje błędy — przy dwusetnym pliku uwagi już nie ma.
W terminalu to jedna linia. Nie dlatego, że terminal jest magiczny, tylko dlatego, że opisujesz regułę zamiast wykonywać wynik. „Wszystko, co ma w nazwie to, zmodyfikowane w tym okresie, od tego folderu w dół, idzie tam". Komputer wykonuje wtedy czterysta identycznych operacji, nie nudząc się, nie pomijając żadnej i nie robiąc dwusetnej gorzej niż pierwszej.
Ta ostatnia własność obchodzi mnie zawodowo. Spędziłem lata przy pracy z danymi, a różnica między klikaniem a opisywaniem to różnica między wynikiem a metodą. Wynik masz. Metodę możesz powtórzyć, sprawdzić, przekazać komuś innemu i uruchomić za rok, kiedy folder się zmieni. Cokolwiek muszę zrobić dwa razy, zapisuję jako polecenie. Cokolwiek muszę robić co miesiąc, to polecenie trafia do harmonogramu i przestaję o nim myśleć.
Rzeczy, które naprawdę idą źle
Nie sprzedam Ci terminala bez ostrych krawędzi, bo ostre krawędzie są prawdziwe i ludzie się na nich kaleczą.
Nie ma cofnięcia. Graficzny menedżer plików przenosi usunięte rzeczy do kosza i daje drugą szansę. Terminal poproszony o usunięcie czegoś, usuwa to. To nie jest wada projektowa — to jest dokładnie to, czego chcesz, usuwając dziesięć tysięcy plików tymczasowych — ale oznacza, że źle wpisane polecenie potrafi narobić realnych szkód w niecałą sekundę. Każdy, kto tak pracuje, ma swoją historię. Moja dotyczyła katalogu, którego bardzo potrzebowałem, i backupu, z którego istnienia byłem wyjątkowo zadowolony.
Druga pułapka jest gorsza, bo jest społeczna. Ktoś na forum wrzuca polecenie, wklejasz je, działa i nie nauczyłeś się niczego poza tym, że wklejanie poleceń działa. A potem pewnego dnia wklejone polecenie robi coś, czego nie zamierzałeś, i nie masz modelu, dlaczego. Jeśli masz wyjść z tego tekstu z jednym nawykiem, niech to będzie ten: zanim uruchomisz polecenie, którego nie rozumiesz, zapytaj, co robi każdy jego element. Nie z teatru ostrożności — z tego samego odruchu, który powstrzymuje Cię przed podpisaniem nieprzeczytanego dokumentu.
I ograniczenie warte powiedzenia wprost: dla osoby używającej komputera do korespondencji, dokumentów i przeglądarki terminal nie jest potrzebny i nie będę udawał, że jest. Na maszynach, które przygotowuję klientom, nikt nie musi go otwierać. Ustawiam je tak, żeby terminal był dostępny, a nie wymagany. Upieranie się przy czymś innym byłoby tym samym gatunkiem arogancji co mówienie komuś, że jego działający laptop jest skończony.
Od czego zacząć, jeśli chcesz
Nie od kursu. Od prawdziwego zadania, które już masz, na tyle małego, żeby porażka była bezpieczna.
Najpierw zrób kopię folderu. Potem otwórz terminal i zrób z tą kopią coś, co normalnie zrobiłbyś ręcznie — policz w niej pliki, znajdź największy, wypisz wszystko zmodyfikowane w tym miesiącu. To wszystko są pytania na jedną linijkę, a odpowiedzi przychodzą natychmiast. Nic nie zostało zniszczone, nic nie jest zagrożone, a Ty właśnie odbyłeś rozmowę z komputerem zamiast egzaminu.
Drugi nawyk wart zbudowania wcześnie: kiedy polecenie coś robi, poproś je, żeby najpierw powiedziało, co zamierza zrobić. Wiele narzędzi ma tryb dokładnie do tego — opisz plan, nie zmieniaj niczego. Używam go bez przerwy i nie dlatego, że jestem z natury ostrożny. Używam, bo byłem już tą osobą, która była pewna i się myliła.
Co jest naprawdę po drugiej stronie
Powód, dla którego mimo wszystko namawiam ludzi, żeby zajrzeli, nie dotyczy wydajności. Chodzi o to, że terminal to miejsce, w którym komputer przestaje być zaplombowanym urządzeniem, a staje się maszyną, którą obsługujesz.
Interfejs graficzny może zaoferować Ci tylko operacje, które ktoś przewidział. Jeśli osoba projektująca to okno nie pomyślała o Twojej sytuacji, Twoja sytuacja jest niedostępna. Terminal nie ma takiego sufitu: elementy się łączą, więc możesz zbudować operację, której nikt nie zaprojektował, bo Twój problem jest Twój i nikt o nim nie myślał.
Dziesięć poleceń pokrywa przytłaczającą większość tego, czego ktokolwiek potrzebuje: poruszanie się, listowanie, kopiowanie, przenoszenie, usuwanie, szukanie, czytanie pliku, łączenie dwóch rzeczy ze sobą, uruchomienie czegoś jako administrator i poproszenie o pomoc do każdego z powyższych. To jeden wieczór nauki i nie traci on ważności. Polecenia, których nauczyłem się piętnaście lat temu, wciąż działają, na każdej maszynie, której dotykam, łącznie z serwerami, których nigdy nie zobaczę. Niewiele rzeczy w tej branży może się tym pochwalić.
Czterysta zdjęć zajęło jedną linię i kilka sekund. Te trzydzieści zrobionych wcześniej ręcznie nie poszło jednak na marne — dzięki nim znam tę liczbę. Najpierw zmierz, potem decyduj. Sprawdza się przy zmianie nazw plików i sprawdza się w większości innych sporów.
Chcesz Linuxa na biurku, a nie tylko na ekranie?
Dostarczamy odnowione komputery Dell OptiPlex z Linuxem Mint już zainstalowanym, zaktualizowanym i gotowym do pracy — z klawiaturą i myszą w zestawie. W Białymstoku i okolicach przywozimy i konfigurujemy na miejscu. Albo wyślij nam maszynę, którą już masz, a zrobimy to samo z nią.