Blog (5)
Komentarze (529)
Recenzje (0)
@s77sKonsola Linuksa cz. 2

Konsola Linuksa cz. 2

10.12.2014 23:42, aktualizacja: 11.12.2014 09:11

Dziś mam chyba za dużo czasu, więc postanowiłem dopisać drugą część do poprzedniego wpisu :‑)

Potęga komend

Kopiowanie kolejnego artykułu z "top 10 najważniejszych komend Linuksa" nie ma sensu. Chciałbym tutaj wspomnieć o dwóch rzeczach: [item]Po pierwsze komend jest od groma. Nawet sam Linus Torvalds nie zna wszystkich :D A to nie wszystko. Praktycznie każda komenda obsługuje dodatkowe parametry. Ów parametry mogę zmienić działanie programu, tak by zwrócił te same dane ( w większej lub mniejszej ilości ) w innej, zmienionej formie.[/item][item]Po drugie skrypty są zbiorem komend ( choć nie tylko, ale nie mąćmy początkującym ). Można w prosty i przyjemny sposób stworzyć plik, który wykona za nas w przyszłości cały ciąg zadań.[/item]Oto przykładowy skrypt:

[code=Bash/shell]#!/bin/bash for dir in *; do cd "$dir"; for file in *; do ffmpeg -i "$file" -f mp4 -vcodec mpeg4 -acodec libfaac -s 220x176 "../../docelowy/$dir/${file%.*}.mp4"; done; cd ../; done[/code]

Sprawa jest banalnie prosta: mam dwa katalogi: pierwszy z filmami HD, a drugi jest folderem docelowym ( "phone" ). W pierwszym katalogu mam podzielone pliki wideo na foldery. Utworzyłem analogicznie foldery w katalogu docelowym. Skrypt działa następująco:

[numlist] [item]Użyj powłoki bash[/item][item]Dla każdego katalogu:[/item][list] [item]Wejdź do katalogu[/item][item]Dla każdego pliku: skonwertuj plik i umieść go w kontenerze mp4, przy okazji zmniejsz rozdzielczość, a i nie zapomnij o obowiązkowej zmianie kodeków, bo takie mój stary telefon ( SE K550i ) obsługuje. Gotowy plik zapisz w katalogu docelowym w tym folderze o tej samej nazwie.[/item][item]Wyjdź z katalogu[/item][/list]

[item]Zakończ[/item][/numlist]

Czyli pętla, w niej druga pętla, a w niej jedna komenda. Dzięki tym kilku linijkom skonwertowałem kilkadziesiąt plików wideo ( w różnych formatach ) znacząco je modyfikując, a to wszystko tylko dzięki zaledwie jednemu poleceniu ( uruchom skrypt ) ;‑)

Tmux: kiedy jeden terminal nie starczy ...

Tmux pozwala podzielić terminal. Znów nie mam zamiaru się rozpisywać. Zamiast tego zamieszczam genialne wideo bardzo dobrze opisujące wspomniany programik: [yt=https://www.youtube.com/watch?v=14yBfctqDSk] Tmux jest bardzo funkcjonalnym dodatkiem do konsoli. Powinniście zatem znaleźć go w głównym repozytorium swojej dystrybucji.

Screenfetch

Krótko: screenfetch wypisuje w przepiękny sposób najważniejsze informacje w naszej konsoli. Dla smaczku dodaje ( dla najpopularniejszych dystrybucji ) świetnie przygotowane logo dystrybucji wykonane w ASCII. Program ten również powinniście znaleźć w repozytorium.

Jak to fajnie mieć taki terminal ;-)
Jak to fajnie mieć taki terminal ;-)

SSH i SSHFS

Dzięki SSH możemy zdalnie zalogować się na komputer kolegi i pomóc mu lub ... napsocić. Natomiast SSHFS ( SSH Filesystem ) pomoże w zdalnym zarządzaniu plikami. Teraz wystarczy tylko jedno polecenie i przez dowolny graficzny menadżer plików ( lub konsolę - jak kto woli ). Można operować na plikach znajdujących się na innej maszynie. Komendy wyglądają następująco:

[code=Bash/shell]ssh uzytkownik@jakas.domena sshfs uzytkownik@jakas.domena:/home/uzytkownik/Pulpit/ śmietnik[/code]

SSHFS działa analogicznie do ssh, z tym że dodatkowo po dwukropku podajemy ścieżkę do katalogu i nasz ( pusty ! ) katalog lokalny np. /home/ja/śmietnik :D W ten sposób zawartość katalogu śmietnik zostanie zastąpiona zawartością z innego komputera ( prosto ujmując ). O ile mamy wystarczające uprawnienia możemy robić z plikami to samo co z lokalnymi. Należy brać pod uwagę, że działając na tak zamontowanym katalogu możemy spodziewać się opóźnień wynikających z jakości połączenia między maszynami. Ciekawe może okazać się uruchomienie poleceń:

[code=Bash/shell]ssh uzytkownik@jakas.domena ls ssh uzytkownik@jakas.domena -X[/code]

Tym razem nie zamierzam spoilerować. Przekonajcie się sami o sile Linuksa :‑)

FBI, mplayer i NetSurf z prawdziwego zdarzenia !

Polecenie fbi przyjmuje jako parametr nazwę pliku ( obrazu ) i wyświetla go na konsoli ( używając framebuffer ). Mplayer oraz netsurf także tak potrafią ! Mplayer jak wszyscy dobrze wiedzą jest odtwarzaczem wideo. NetSurf natomiast to ... przeglądarka internetowa ! Oto polecenia:

[code=Bash/shell]fbi nazwaPiku.rozszerzenie mplayer nazwaPliku.rozszerzenie -vo caca -x szerokosc -y wysokosc -zoom -quiet #lub mplayer nazwaPliku.rozszerzenie -vo fbdev2 -x szerokosc -y wysokosc -zoom -quiet #lub mplayer nazwaPliku.rozszerzenie -vo sdl -x szerokosc -y wysokosc -zoom -quiet #lub mplayer nazwaPliku.rozszerzenie -vo matrixview -x szerokosc -y wysokosc -zoom -quiet [/code]

Oczywiście wiecie jak zmienić: "nazwaPliku.rozszerzenie". Szerokość i wysokość podajecie w pikselach ( jako zwykle liczby ). Resztę zostawiacie bez zmian i Voila :D

Mplayer znajduje się w zdecydowanie większości dystrybucji. Natomiast fbi miałem w pakiecie fbida. NetSurf niestety jest dostarczany z domyślnymi zależnościami GTK+. Należy samemu ściągnąć źródła i skompilować.

Zakończenie

Tym oto wpisem kończę wam przynudzać o konsoli i przejdę do kolejnej nudnej klepanki. Mam nadzieję, że nie będziecie mieli mi tego za złe :‑). Oczywiście materiał tutaj się nie kończy. Ze swojej strony polecam książkę: Linux: Programowanie w powłoce wyd. Helion. Tam znajdziecie komplet informacji o tematyce Linuksa oraz programowaniu skryptów dla niego.

Wybrane dla Ciebie
Komentarze (1)