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: GNU Parallel
Napisany w Bash, Linux | Brak komentarzy »
Autor: Piotr Karpiuk o 1. października 2010

ImageMagick to cieszący się dużym uznaniem międzyplatformowy (Linux, Windows, MacOS) pakiet programów wiersza poleceń i bibliotek do kilkunastu języków programowania, służących do tworzenia i edycji obrazków w przeszło 100 formatach – w tym JPG, PNG, GIF, SVG, TIFF, PDF, PS.
Możemy tu konwertować obrazki między formatami, obracać je, skalować, przycinać, odbijać, ustawiać przezroczystość, dodawać obramowanie, tekst, komentarze, tworzyć animacje, efekty specjalne i fotomontaże. Przydatność tego narzędzia objawia się w pełni gdy chcemy przetworzyć jednocześnie duże ilości obrazków. Jeśli interesuje nas wyłącznie konwersja i zmiana rozmiarów dużej ilości obrazków z poziomu GUI, to możemy sięgnąć po wykorzystujący ImageMagicka program Converseen.
Przykłady użycia:
- montage -frame 5 -background "#cccccc" -geometry 300×300+5+5 *.jpg montage.jpg
- tworzy w pliku
montage.jpg
galerię obramowanych miniaturek obrazków w bieżącym katalogu
- identify -verbose image_file
- szczegółowe informacje o obrazku (m.in. adnotacje)
- mogrify -border 2×4 -comment "Moj komentarz" file.jpg
- dodaje obramowanie oraz adnotację do pliku JPEG
- convert start.png -colorspace Gray -resize 800×600 start.jpg
- konwersja obrazka do innego formatu (można przekonwertować m.in. do PDF), a przy okazji zamiana kolorów na odcienie szarości i zmiana rozmiaru z zachowaniem proporcji (wykrzyknik po „600” kazałby zignorować proporcje)
- display image_file
- wyświetla obrazek w osobnym okienku
- convert image.jpg -gravity Southwest -fill red -draw "text 0,0 'Nad morzem'" result.jpg
- dodaje podpis do obrazka czerwoną czcionką w lewym dolnym rogu
Tags: imagemagick
Napisany w Bash, Linux | Brak komentarzy »
Autor: Piotr Karpiuk o 17. września 2010
Pełna lista poleceń w Księdze Czarów.
- comm -3 a.txt b.txt
- wypisuje zmerge'owaną i posortowaną wierszami zawartość obu plików z pominięciem tych wierszy które występują w obydwu plikach; pliki muszą być posortowane wierszami
- recode ..HTML < page.txt > page.html
- konwertuje plik tekstowy do formatu HTML (znaki poza ASCII zostaną zakodowane jako encje)
- whois www.example.com
- sprawdza domenę w bazie Whois (właściciel domeny i jego dane teleadresowe)
- strace -c ls >/dev/null
- wywołania systemowe wywołane i otrzymane przez proces
- strace -f -e open ls >/dev/null
- wywołania biblioteczne wykonane przez proces
- chsh
- pozwala zmienić domyślną powłokę dla bieżącego konta; chsh --list-shells zwraca listę dostępnych powłok
- xmlwf file.xml
- czy plik XML jest poprawny (ang. well formed)
- wtf imho
- wyjaśnia (rozwija) wskazany akronim, spotkany np. w rozmowie IRCa lub na grupie dyskusyjnej
- eject
- wysuwa CD-ROM
- mpstat -P ALL
- statystyki rdzeni procesora
- setleds -D +caps
- włącza diodę CapsLock na klawiaturze
- export CDPATH=.:..:../..:~/:~/katalog_dowiazan
- Zmienna $CDPATH przechowuje listę rozdzielanych znakami dwukropka nazw katalogów, które są przeszukiwane przez wbudowane polecenie cd. Pełni ona taką samą funkcję dla instrukcji cd, jak zmienna $PATH dla uruchamianych skryptów. W przykładzie często używane nazwy katalogów w wartości zmiennej; katalog_dowiązań oznacza katalog przechowujący jedynie dowiązania symboliczne do innych często wykonywanych katalogów
Czytaj więcej »
Tags: bash
Napisany w Bash, Linux | 1 Komentarz »
Autor: Piotr Karpiuk o 1. września 2010
Pełna lista poleceń w Księdze Czarów.
- wget -nv --spider --force-html -i bookmarks.html
- Sprawdza linki w pliku
- wget --mirror http://www.example.com/
- Efektywnie uaktualnia lokalna kopię strony
- ethtool --change eth0 autoneg off speed 100 duplex full
- Ręcznie ustawia prędkość urządzenia sieciowego
- iwconfig eth1 rate 1Mb/s fixed
- Ręcznie ustawia prędkość urządzenia bezprzewodowego
- mount -t tmpfs -osize=64m tmpfs /memdisk
- tworzy wirtualny dysk w pamięci RAM
- hdparm -tT /dev/sda
- test wydajności dysku (odczyt i zapis 1GB)
- socklist
- otwarte gniazda i ich procesy (zamiennie można lsof -i)
- convert *.jpeg images.pdf
- Tworzy prosty PDF ze wszystkimi obrazkami
- :(){ :|:& };:
- zabija maszynę (ang. bash fork bomb)
- rename .cxx .cpp *.cxx
- zamienia nazwy plików z .cxx na cpp
- fuser -km /mnt/hda2
- wymusza umount na zajętym urządzeniu
- lsattr myfile
- atrybuty specjalne pliku
- chattr +a file1
- pozwala na otwarcie pliku do zapisu tylko w trybie „append”
Czytaj więcej »
Tags: bash, linux, polecenia, shell
Napisany w Bash, Linux | Brak komentarzy »
Autor: Piotr Karpiuk o 27. sierpnia 2010

Demo bb
Używając shella można się zabawić, a nawet nieźle uśmiać. Serio.
- fortune
- Losowa sentencja (można zastąpić przygotowanymi przez siebie)
- telnet towel.blinkenlights.nl
- Gwiezdne Wojny – cały film, oczywiście w „grafice ASCII”
- tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"
- Matrix
- who loves mum
- No właśnie, kto kocha mamusię?
- echo $(shuf -i 1-49 | head -n6 | sort -n)
- W następnym losowaniu LOTTO skreśl numery…
- export PS1="C:$( pwd | sed 's:/:\\\:g' )\> "
- Od tej pory znak zachęty do złudzenia będzie przypominał konsolę Windows
- cowsay "Nie po to zyje, by jesc, lecz po to jem, aby zyc"
- Krowa (lub inny zwierzaczek, do wyboru) wypowiada sentencję w komiksowym dymku
- figlet "jakis napis"
- Wyświetla napis literami wyrzeźbionymi w ASCII art; podobny efekt daje użycie programu
toilet
- echo "Mozesz symulowac pisanie na klawiaturze zupelnie jak w filmach" | pv -qL 10
- Wyświetla napis literka po literce, zupełnie jak w filmach
- bb
- spektakularne animowane demo z muzyką
- bsdgames
- zestaw gier dla trybu tekstowego (spis)
- sed -f sedtris.sed
- Tetris napisany w edytorze wierszowym
sed
– źródła do pobrania tutaj
- sl
- Zwykle jako oddzielny pakiet. Teraz gdy chcąc wyświetlić zawartość katalogu zrobisz literówkę w nazwie polecenia
ls
, to…
Tags: bash, linux, shell
Napisany w Bash, Linux | 1 Komentarz »