Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum: 'Linux' Kategorie

Tmux

Autor: Piotr Karpiuk o 23. lutego 2017

Kto pracuje pod Linuksem, zapewne zna narzędzie GNU Screen, które pozwala uruchomić wiele sesji terminala na zdalnej maszynie, nie tracąc ich nawet po zakończeniu połączenia. Na narzędzie Tmux można spojrzeć jak na „ulepszony Screen”. Po pierwsze, pasek statusu na dole informuje nas o tym jakie polecenie jest uruchomione na którym ekranie i który ekran jest aktualnie aktywny, jak również mamy tu podaną nazwę hosta i aktualny czas. Po drugie, w ramach jednego okna możemy sobie podzielić ekran na wiele paneli, a w każdym z nich uruchomić inne polecenie shella (np. vim w panelu głównym, a htop i podgląd logów w panelach pobocznych) – nie jest to przydatne na większości laptopów z małym ekranem, ale na komputerach stacjonarnych z dużymi monitorami już jak najbardziej.


Kliknij aby powiększyć

Wszystkie polecenia Tmuxa poprzedzamy prefiksem Ctrl+B. Poniżej spis najbardziej przydatnych poleceń.

$ tmux
Uruchamia sesję Tmux
Ctrl+B C
Otwiera nowe okno z powłoką shella i przechodzi do niego
Ctrl+B L
Przejście do ostatnio otwartego okna (trochę jak Alt+Tab w środowisku graficznym)
Ctrl+B D
Odłącza się od bieżącej sesji Tmuxa
$ tmux a
Podłącza się do istniejącej sesji Tmuxa
Ctrl+B %
Dzieli bieżące okno pionowo i uruchamia Basha w nowopowstałym panelu
Ctrl+B "
Dzieli bieżące okno poziomo i uruchamia Basha w nowopowstałym panelu
Ctrl+B [strzałka]
Przejście kursora do wskazanego panelu
Ctrl+B X
Zamyka panel w którym jest kursor (ten sam efekt da wyjście z Basha w panelu)
Ctrl+B Ctrl+[strzałka]
Zwiększa rozmiar bieżącego panelu o 1 znak we wskazanym kierunku
Ctrl+B Alt+[strzałka]
Zwiększa rozmiar bieżącego panelu o 5 znaków we wskazanym kierunku

Tags:
Napisany w Linux | Brak komentarzy »

Google Translate CLI

Autor: Piotr Karpiuk o 11. września 2014

Chiński programista mieszkający w Szwecji stworzył skrypt Awka pozwalający na korzystanie z webowej usługi Google Translator z wiersza poleceń.

Przykłady użycia:

trans en:pl word
tłumaczy wskazane słowo z angielskiego na polski; program stara się domyśleć jaki jest język wejściowy, więc wystarczy samo :pl, a także wie jaki jest domyślny język wyjściowy na podstawie lokalizacji systemu, więc cała opcja en:pl jest na ogół niepotrzebna.
trans -b word
zwięzła odpowiedź
trans -i input.txt
tłumaczenie zawartości pliku

Instalacja:

apt-get update
apt-get install gawk git make
apt-get autoremove
git clone https://github.com/soimort/google-translate-cli.git
cd google-translate-cli
make install

Napisany w Linux | Brak komentarzy »

Popularne systemy plików w Linuksie

Autor: Piotr Karpiuk o 10. września 2014

Zastosowanie macierzy RAID z wieloma dyskami zamiast jednego i wybór dysku SSD zamiast HDD mają znacznie większy wpływ na wydajność operacji wejścia/wyjścia niż wybór systemu plików.

W przypadku systemów plików z księgowaniem dobrym pomysłem jest umieszczenie dziennika na osobnym dysku, najlepiej SSD.

Ext3

Wstecznie kompatybilny z Ext2, ale odróżnia go księgowanie, które pozwala uniknąć długotrwałej weryfikacji spójności systemu plików po awarii (z wyjątkiem awarii dysku). Ponadto na dyskach HDD Ext3 jest szybszy, ponieważ księgowanie optymalizuje ruch głowicy dysku.

Wady to bardzo powolna weryfikacja dużych dysków, oraz ograniczenia (2 TB dla pliku, 16 TB dla całego systemu plików, 32 tysięcy katalogów).

Ext4

Wstecznie kompatybilny z Ext3 i Ext2, tradycyjne mapowanie bloków zostało zastąpione ciągłymi obszarami (do 128 MB), co ma ogromny wpływ na wydajność przy operacjach na dużych plikach. Obsługa opóźnionej alokacji pozwala systemowi nie alokować bloków przed zapisaniem danych na dysk, co minimalizuje fragmentację, ponieważ alokacja może się opierać na faktycznym rozmiarze plików. Weryfikacja systemu plików przebiega szybciej, ponieważ Ext4 potrafi pominąć niealokowane bloki.

BTRFS

Według niektórych rodzina Ext to „technologia z lat 70.”. BTRFS (wym. batter ef es) jest często uważany za odpowiednik ZFS-a Oracle’a, tym bardziej że został stworzony przez byłego pracownika Oracle. Od lata 2012 roku BTRFS jest oficjalnie wspieranym komponentem systemu w dystrybucjach SLES 11+ i Oracle Enterprise Linux 5+.

Czytaj więcej »

Napisany w Linux | Brak komentarzy »

Chrome OS

Autor: Piotr Karpiuk o 11. lipca 2011

Być może zastanawiałeś się nad przyszłością tzw. webtopu, czyli środowiska pulpitu w przeglądarce, albo „webowego systemu operacyjnego”. Widzieliśmy już różne jego realizacje, ale bodaj najdalej w tym kierunku zaszedł Google który stworzył mutację Linuksa z uproszczonym interfejsem użytkownika w postaci przeglądarki Google Chrome w trybie pełnoekranowym, przeznaczoną do pracy z aplikacjami webowymi, dla osób spędzających dużo czasu w Internecie. Oprócz przeglądarki WWW jedynymi wbudowanymi programami są odtwarzacz multimedialny i wiersz poleceń (tzw. crosh, ale uboższy od linuksowego basha).

Komercyjny Chrome OS jest dostępny wyłącznie na sprzęcie produkowanym przez partnerów Google’a, czyli tzw. chromebookach. Taki nettop ze zmodyfikowaną klawiaturą (np. brak klawiszy funkcyjnych, przycisk Szukaj zamiast CapsLock) jest w zasadzie terminalem do usług Google, a jego szybki dysk twardy SSD o małej pojemności (np. 16GB) używany jest tylko jako cache, bowiem wszystkie programy działają w chmurze – co oznacza konieczność posiadania stałego połączenia z Internetem (w przyszłości ma być możliwe używanie aplikacji offline). Jak na tak wąską specjalizację i typową dla nettopów architekturę sprzętową cena komputerka (ok. 2000zł) wydaje się mocno przesadzona.

Programy na Chrome OS dostępne są w tzw. Chrome Web Store – już przeszło 4000 aplikacji i ponad 11tys. rozszerzeń, ale póki co ich ilość nie przekłada się na jakość. System operacyjny aktualizuje się automatycznie, a jego dużą zaletą jest szybkość bootowania – ok. 10 sekund.

System posiada również swoją opensource’ową odmianę (licencja BSD) – Chromium OS. Nie ma oficjalnej wersji na PC, ale jeden z internautów przygotował jego odmianę: Flow, którą możesz zainstalować na pendrive/karcie SD i pobawić się na swoim komputerze stacjonarnym/laptopie bez potrzeby robienia miejsca na dysku twardym. Jest to bardzo proste, a procedura opisana zwięźle na stronie.

Tags: ,
Napisany w Linux, WWW | Brak komentarzy »

GNU Parallel

Autor: Piotr Karpiuk o 5. stycznia 2011

GNU parallel jest linuksowym narzędziem wiersza poleceń wykonującym zadania współbieżnie (wykorzystując dodatkowe rdzenie procesora) lokalnie i/lub przy użyciu zdalnych hostów (za pomocą SSH). Zadanie jest zwykle pojedynczym poleceniem lub małym skryptem i jest wykonywane dla każdego wiersza na wejściu (lista plików, lista hostów, itp.).

Jeśli używasz na codzień polecenia xargs shella, polecenie parallel będzie dla Ciebie proste do opanowania – z uwagi na te same opcje – i często wykorzystywane jako szybszy odpowiednik. Wyjście generowane przez współbieżne polecenia jest takie samo jak gdyby były one wykonywane kolejno – dzięki temu możesz wykorzystać wyjście jako wejście dla innych programów.

Dla każdego wiersza na standardowym wejściu GNU parallel będzie wykonywał polecenie z wierszem jako argumentem. Gdy nie ma polecenia, wiersze ze standardowego wejścia są traktowane jako polecenia do równoległego wykonania.

Polecenie

  gzip *

pakuje wszystkie pliki w bieżącym katalogu. Polecenie

  ls | parallel gzip

na dwurdzeniowym procesorze wykona to samo zadanie prawdopodobnie ok. dwukrotnie szybciej.
Czytaj więcej »

Tags:
Napisany w Bash, Linux | Brak komentarzy »