<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NibyBlog ;) - Linux Ubuntu / Debian / Fedora / GNOME blog, porady, wiadomości, Internet, BlackBerry, mobile &#187; Bash</title>
	<atom:link href="http://www.nibyblog.pl/tag/bash/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nibyblog.pl</link>
	<description>Przyjazny blog użytkownika Linuksa, wiele porad, gotowych rozwiązań, ciekawostek, oraz wiadomości odnośnie Linux Ubuntu i nie tylko.</description>
	<lastBuildDate>Mon, 06 Feb 2012 10:28:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Obsługa usług Google z poziomu terminala dzięki googlecl</title>
		<link>http://www.nibyblog.pl/obsluga-uslug-google-z-poziomu-terminala-dzieki-googlecl-2424.html</link>
		<comments>http://www.nibyblog.pl/obsluga-uslug-google-z-poziomu-terminala-dzieki-googlecl-2424.html#comments</comments>
		<pubDate>Thu, 16 Sep 2010 23:10:32 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programy]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[googlecl]]></category>
		<category><![CDATA[Konsola]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Zsh]]></category>

		<guid isPermaLink="false">http://www.nibyblog.pl/?p=2424</guid>
		<description><![CDATA[O_o &#8230;Jak powszechnie wiadomo w tej złej i mrocznej konsoli można zrobić niemal wszystko. Można oglądać filmy (mplayer), można. Można przeglądać strony (elinks), można. Można gadać na Jabberze (mcabber), można. Można zarządzać plikami (mc), można. Można korzystać z poczty elektronicznej (mutt), można. Można edytować pliki tekstowe/klepać kod (vim), można. Można edytować pliki audio (ecasound). Można [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">O_o &#8230;Jak powszechnie wiadomo w tej złej i mrocznej konsoli można zrobić niemal wszystko. Można oglądać filmy (mplayer), można. Można przeglądać strony (elinks), można. Można gadać na Jabberze (mcabber), można. Można zarządzać plikami (mc), można. Można korzystać z poczty elektronicznej (mutt), można. Można edytować pliki tekstowe/klepać kod (vim), można. Można edytować pliki audio (<a href="http://www.nibyblog.pl/przeglad-aplikacji-do-nagrywania-oraz-edycji-dzwieku-w-linuxie-2337.html#ecasound">ecasound</a>). Można słuchać muzyki (ncmpc + mpd), można. Można też robić też wiele innych rzeczy. Przedstawiłem tu przykłady z życia codziennego, znaczy się takie z których często się korzysta, no przynajmniej z których często ja korzystam :P. W nawiasach podałem przykładowe aplikacje które działają w cli które z większą lub mniejszą częstotliwością użytkuje. Nie jestem orthodox który musi używać aplikacji w terminalu, dostrzegam jednak ich zalety i w wielu przypadkach wykorzystując do pracy terminal potrafię zrobić daną czynność szybciej. Inna sprawą jest fakt iż często należy poświęcić trochę czasu na konfigurację i naukę obsługi programu, myślę jednak że warto.</p>
<p><span id="more-2424"></span></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-2428" title="kot-hakjer" src="http://www.nibyblog.pl/wp-content/uploads/kot-hakjer.jpg" alt="kot hakjer Obsługa usług Google z poziomu terminala dzięki googlecl" width="280" height="295" /></p>
<p style="text-align: justify;">Od jakiegoś czasu do grona czynności które można wykonywać w terminalu za sprawką aplikacji googlecl dołączyła możliwość korzystania z serwisów Google takich jak: Blogger, Kalendarz, Kontakty, Dokumenty, Picasa i Youtube. Aplikacja ta  napisana w Pythonie i udostępniona na licencji Apache License 2.0.</p>
<p><span style="font-size: large; color: #ff6600; font-weight: bold;">Instalacja</span></p>
<p style="text-align: justify;">Jest bardzo prosta ponieważ na stronie projektu udostępniono paczkę DEB (oczywiście dostępne do poprania są też źródła). Po jej pobraniu wystarczy zainstalować ją za pomocą GDebi lub:</p>
<p><code>sudo dpkg -i nazwa_paczki.deb</code><br />
<span style="font-size: large; color: #ff6600; font-weight: bold;">Użytkowanie</span><br />
Nie ma co się rozpisywać ponieważ polecenia wydają się być zrozumiałe dla każdego :)<br />
<span style="font-weight: bold;">Blogger</span><br />
<code>google blogger post --tags "GoogleCL, awesome" --title "Test Post" "I'm posting from the command line"<br />
google blogger post blogpost.txt<br />
google blogger list title,url-site # List posts<br />
google blogger delete --title "Test Post"<br />
google delete --title "Silly post number [0-9]*" # Delete posts matching regex<br />
google tag --title "Dev post" --tags "Python, software" # label an existing post</code><br />
<span style="font-weight: bold;">Kalendarz</span><br />
<code>google calendar add "Dinner party with George today at 6pm" # add event to calendar<br />
google calendar today # List events for today only.<br />
google calendar list --date 2010-06-01,2010-06-30 # List events.<br />
google calendar delete --title "Dinner party with George" # Delete an event.</code><br />
<span style="font-weight: bold;">Kontakty</span><br />
<code>google contacts add "J. Random Hacker, jrandom@example.com"<br />
google contacts list name,email --title "J. Random Hacker"<br />
google contacts delete --title "J. Random Hacker"</code><br />
<span style="font-weight: bold;">Dokumenty</span><br />
<code>google docs delete --title "Evidence"<br />
google docs edit --title "Shopping list" --editor vim<br />
google docs get --title "Homework [0-9]*"<br />
google docs list title,url-direct --delimiter ": " # list docs<br />
google docs upload the_bobs.csv ~/work/docs_to_share/*</code><br />
<span style="font-weight: bold;">Picasa</span><br />
<code>google picasa create --title "Vermont Test" --tags Vermont vermont.jpg<br />
google picasa get --title "Vermont Test" /path/to/download/folder<br />
google picasa list title,url-direct --query "A tag"<br />
google picasa post --title "Vermont Test" ~/old_photos/*.jpg # Add to an album<br />
google picasa tag --title "Vermont Test" --tags "places"<br />
google picasa delete --title "Vermont Test" # delete entire album</code><br />
<span style="font-weight: bold;">Youtube</span><br />
<code>google youtube post --category Education --devtags GoogleCL killer_robots.avi<br />
google youtube delete --title "killer_robots.avi"<br />
google youtube list # list my videos<br />
google youtube tag -n ".*robot.*" --tags robot</code><br />
<span style="font-size: large; color: #ff6600; font-weight: bold;">Podsumowanie</span></p>
<p style="text-align: justify;">Wprawdzie blogowanie z konsoli wydaje mi się mało wygodne, za to dodawanie zdarzeń do kalendarza czy kontaktów z linii poleceń jest przydatnym ficzerem z którego będę korzystał.</p>
<p class="info">Strona projektu na <a href="http://code.google.com/p/googlecl/" target="_blank">code.google.com</a>, kot hakjer przywędrował z <a href="http://www.flickr.com/photos/melvelez/" target="_blank">flickr.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/obsluga-uslug-google-z-poziomu-terminala-dzieki-googlecl-2424.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Skrypty logowania do portali web&#8230;</title>
		<link>http://www.nibyblog.pl/skrypty-logowania-do-portali-web-2112.html</link>
		<comments>http://www.nibyblog.pl/skrypty-logowania-do-portali-web-2112.html#comments</comments>
		<pubDate>Mon, 16 Aug 2010 12:45:48 +0000</pubDate>
		<dc:creator>rryk</dc:creator>
				<category><![CDATA[Bezpieczeństwo]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[logowanie]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://www.nibyblog.pl/?p=2112</guid>
		<description><![CDATA[Tytułem wstępu: Wpis pochodzi z forum linux360.pl, gdzie mój poprzedni wątek o &#8220;podobnym&#8221; temacie zniknął, niektórzy się pewnie domyślają dlaczego, inni niekoniecznie. Tak czy siak moje intencje były dobre i miały szlachetne pobudki. Zaś po krótkiej rozmowie z moderatorem postanowiłem, że napiszę to tak jak powinno być napisane, a że może okazać się to niezwykle [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-size: large;"><span style="color: #ff6600;">Tytułem wstępu:</span></span></strong></p>
<p style="text-align: justify;">Wpis pochodzi z forum linux360.pl, gdzie mój poprzedni wątek o &#8220;podobnym&#8221; temacie zniknął, niektórzy się pewnie domyślają dlaczego, inni niekoniecznie. Tak czy siak moje intencje były dobre i miały szlachetne pobudki. Zaś po krótkiej rozmowie z moderatorem postanowiłem, że napiszę to tak jak powinno być napisane, a że może okazać się to niezwykle przydatne udostępniam to także na innych forach. ;p</p>
<p><span id="more-2112"></span><br />
<strong><span style="font-size: large;"><span style="color: #ff6600;">Treść właściwa:</span></span></strong></p>
<p style="text-align: justify;">Wielu z was chciało by za pomocą skryptu sprawdzać nowe wiadomości na nk czy na innych tego typu serwisach. Mając taki skrypt można było by go dodać do conky&#8217;ego i być zawsze na bieżąco&#8230; Postaram się wam nieco pomóc w napisaniu takiego skryptu&#8230;</p>
<p><strong><span style="font-size: large;"><span style="color: #ff6600;">Co należy wiedzieć:</span></span></strong></p>
<p style="text-align: justify;">Zacznijmy od tego, że większość serwisów opiera się na wymianie informacji metodami GET i POST. My skoncentrujemy się na tej drugiej metodzie, a mianowicie POST, gdyż to ona wysyła informacje do serwera.</p>
<p><strong><span style="font-size: large;"><span style="color: #ff6600;">Co, jak i gdzie?</span></span></strong></p>
<p style="text-align: justify;">Ok wiemy jaka metoda odpowiada za wysyłkę ale co wysyła, gdzie wysyła i jak wysyłać z poziomu konsoli&#8230; No to po kolei co tak właściwie wysyłamy do tego serwera, żeby to sprawdzić szybko, łatwo i przyjemnie, bez babrania się w kodzie, potrzebować będziemy wtyczki do Firefoxa o nazwie Live HTTP Headers. Jego instalacja nie jest jakaś specjalnie trudna więc nikt nie powinien mieć żadnych problemów. Po jej instalacji w zakładce Narzędzia mamy nową pozycję (Live HTTP Headers), &#8220;odpalmy&#8221; ją, i zobaczmy &#8220;z czym to się je&#8221;.<br />
Po włączeniu ukazuje się nam proste i przejrzyste okienko z czterema zakładkami, my skorzystamy z dobrodziejstw Generator&#8217;a i Headers. Generator rejestruje praktycznie wszystko, od GET, poprzez POST aż po redirects. Zaś Headers nagłówki. Zobaczmy jak to działa na przykładzie nk.pl. Pamiętajmy, że aby sprawdzić okienko Live HTTP Headers musi być ciągle otwarte. Wchodząc na nk.pl w Generatorze widzimy masę GET&#8217;ów, ale to nas nieinteresuje, my potrzebujemy POST&#8217;ów więc przechodzimy do logowania, odznaczamy &#8220;zaloguj bezpiecznie po SSL&#8221; (UWAGA z tego co się orientuje wget nie obsługuje szyfrowania SSL), wpisujemy login, hasło i klikamy zaloguj. Tym razem w generatorze powinno nam śmignąć na początku POST potem same GET. Więc odszukajmy nasze logowanie, które powinno wyglądać mniej więcej tak:</p>
<p style="text-align: justify;"><code>POST /login login=login&amp;password=haslo</code><br />
Jak widzimy metodą post została wysłana wiadomość o treści &#8220;login=login&amp;password=haslo&#8221;. Ale gdzie ta wiadomośc została wysłana?? Jak wskazują nam logi wysłano ją na adres /login. Z tym, że to nie jest pełna nazwa, a tylko końcówka, którą dodajemy do adresu. W naszym przypadku pełną nazwą będzie http://nk.pl/login . Dzięki temu wiemy już jak i gdzie, ale zaraz, zaraz to po co nam Header?? Otóż Header zawiera informacje takie jak np. User-agent, który identyfikuje przeglądarkę, czy Referer, który wskazuje skąd nastąpiło przekierowanie. Te informacje są czasem swego rodzaju zabezpieczeniem, więc ich stosowanie jest niezwykle ważne. Aby się dowiedzieć jaki mieliśmy Referer i jaki User-agent jest ustawiony wchodzimy w zakładkę Headers i szukamy http://nk.pl/login tam wszystko będzie ładnie napisane. W ten sposób mamy już wszystko co potrzebne, aby się zalogować. Do logowania użyjemy znanego wszystkim wget&#8217;a. Można też co prawda użyć cURL&#8217;a czy Lynx, ale o tym parę postów niżej.<br />
Oto magiczna komenda:</p>
<p><code>wget -q --user-agent="Tutaj podajemy naszego User-agenta" --keep-session-cookies --save-cookies=zapisaneciastka.txt --referer=http://nk.pl/ --post-data="wiadomość POST którą wyłuskaliśmy z logów" -O zalogowany.html http://nk.pl/login</code></p>
<p style="text-align: justify;">Oczywiście trzeba uzupełnić tą komendę odpowiednimi parametrami, tak aby końcowy efekt był np. taki:</p>
<p><code> userAgent="Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3"<br />
wget -q --user-agent="$userAgent" --keep-session-cookies --save-cookies=zapisaneciastka.txt --referer=http://nk.pl/ --post-data="login=login&amp;password=haslo" -O zalogowany.html http://nk.pl/login</code></p>
<p style="text-align: justify;">Następnie, za pomocą dowolnej przeglądarki, otwieramy plik zalogowany.html i sprawdzamy czy rzeczywiście działa, jeśli tak to kolejne kroki, jak wysyłanie wiadomości, możecie zrobić sami pamiętając tylko, że tym razem otwieramy ciasteczka, a nie zapisujemy. Czyli przyszłe komendy powinny wyglądać mniej więcej tak:</p>
<p><code>wget -q --user-agent="$userAgent" --keep-session-cookies --load-cookies=zapisaneciastka.txt --referer=http://naszreferer.pl/ --post-data="msg=nasza+wiadomosc" -O wiadomosc.html http://nk.pl/login</code></p>
<p style="text-align: justify;">Oczywiście można też przypisać cały kod html do zmiennej np.</p>
<p><code>logowanie=`wget -q --user-agent="$userAgent" --keep-session-cookies --save-cookies=zapisaneciastka.txt --referer=http://nk.pl/ --post-data="login=login&amp;password=haslo" -O - http://nk.pl/login`</code></p>
<p style="text-align: justify;">Jak pisałem wcześniej w cURL też się da więc jakby ktoś był zainteresowany:<br />
Do zapisywania ciastek, czyli taka komenda jakby do logowania:</p>
<p><code>userAgent="Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3"<br />
curl --user-agent "$userAgent" --cookie-jar zapisaneciastka.txt --referer "http://nk.pl" --data "login=login&amp;password=haslo" http://nk.pl/login</code></p>
<p style="text-align: justify;">I do wczytywania ciasteczek czyli ew. dalszych działań jak np. wysyłanie wiadomości.</p>
<p><code>userAgent="Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3"<br />
curl --user-agent "$userAgent" --cookie zapisaneciastka.txt --referer "http://nk.p</code><br />
<strong><span style="font-size: large;"><span style="color: #ff6600;"> Na zakończenie</span></span></strong></p>
<p style="text-align: justify;">Mam nadzieje, że tutek się podobał i nie przynudzałem. Więcej o opcjach użytych przy wget macie w man. Informacje tutaj zawarte powinny wam pomóc w sprawdzaniu poczty nk czy nawet wysyłaniu wiadomości nk przez konsole. Przypominam, że na podobnej zasadzie działa większość portali web&#8230; ;p</p>
<p>Pozdrawiam Eryk Rutkowski.</p>
<p>PS. Zakaz kopiowania tekstu bez zgody autora.</p>
<p style="text-align: justify;">PRZYPOMINAM, ŻE SPAM JEST OKREŚLONY W KODEKSIE KARNYM ORAZ W USTAWIE O ŚWIADCZENIU USŁUG DROGĄ ELEKTRONICZNĄ:</p>
<p class="alert">Art. 269a kk  Kto, nie będąc do tego uprawnionym, przez transmisję, zniszczenie, usunięcie, uszkodzenie lub zmianę danych informatycznych, w istotnym stopniu zakłóca pracę systemu komputerowego lub sieci teleinformatycznej, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.<br />
Art. 24 ustawy o świadczeniu usług drogą elektroniczną<br />
1. Kto przesyła za pomocą środków komunikacji elektronicznej niezamówione informacje handlowe, podlega karze grzywny.<br />
2. Ściganie wykroczenia, o którym mowa w ust. 1, następuje na wniosek pokrzywdzonego.</p>
<p>WIĘC PROSZĘ NIECH NIKT NIE WYKORZYSTUJE ZDOBYTEJ TU WIEDZY DO SPAMOWANIA JAKIEGOKOLWIEK SERWISU</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/skrypty-logowania-do-portali-web-2112.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MiniBlog: Oh My Zsh: framework do zarządzania konfiguracją Zsh</title>
		<link>http://www.nibyblog.pl/oh-my-zsh-framework-do-zarzadzania-konfiguracja-zsh-1778.html</link>
		<comments>http://www.nibyblog.pl/oh-my-zsh-framework-do-zarzadzania-konfiguracja-zsh-1778.html#comments</comments>
		<pubDate>Wed, 14 Jul 2010 23:51:25 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MiniBlog]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[Konsola]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Zsh]]></category>
		<category><![CDATA[zshrc]]></category>

		<guid isPermaLink="false">http://www.nibyblog.pl/?p=1778</guid>
		<description><![CDATA[Jakiś czas temu zaprzestałem używać Basha na rzecz Zsh, zacząłem wtedy szukać informacji oraz porad odnośnie konfiguracji tej powłoki i tak trafiłem na Oh My Zsh. Jest to framework do zarządzania konfiguracją Zsh, oprócz  wielu ustawień które wprowadza do Zsh dodaje również obsługę na przykład &#8220;skórek&#8221; prompta. Całość jest podzielona na wiele plików konfiguracyjnych, więc [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Jakiś czas temu zaprzestałem używać Basha na rzecz Zsh, zacząłem wtedy szukać informacji oraz porad odnośnie konfiguracji tej powłoki i tak trafiłem na Oh My Zsh. Jest to framework do zarządzania konfiguracją Zsh<span id="more-1778"></span>, oprócz  wielu ustawień które wprowadza do Zsh dodaje również obsługę na przykład &#8220;skórek&#8221; prompta. Całość jest podzielona na wiele plików konfiguracyjnych, więc łatwo ogarnąć mnogość ustawień jakie oferuje. Jeśli chcesz sprawdzić Oh My Zsh to znajdziesz go na <a href="http://github.com/robbyrussell/oh-my-zsh" target="_blank">github.com</a>,  więcej informacji uzyskasz na <a href="http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/" target="_blank">stevelosh.com</a>, aby być na bieżąco możesz śledzić przez <a href="http://twitter.com/ohmyzsh" target="_blank">twitter.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/oh-my-zsh-framework-do-zarzadzania-konfiguracja-zsh-1778.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kontrolowanie zadań w terminalu</title>
		<link>http://www.nibyblog.pl/kontrolowanie-zadan-w-terminalu-1607.html</link>
		<comments>http://www.nibyblog.pl/kontrolowanie-zadan-w-terminalu-1607.html#comments</comments>
		<pubDate>Sat, 29 May 2010 14:10:19 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[bg]]></category>
		<category><![CDATA[fg]]></category>
		<category><![CDATA[Konsola]]></category>
		<category><![CDATA[Kontrola zadań]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Zadania]]></category>

		<guid isPermaLink="false">http://www.nibyblog.pl/?p=1607</guid>
		<description><![CDATA[Kiedy pracuję w terminalu często wykonuję kilka czynności na raz, np mam uruchomione irrsi, mc, podręcznik manuala i vim na którym edytuję jakiś plik konfiguracyjny. Abym mógł tak pracować muszę uruchomić kilka terminali/zakładek, lub korzystać ze screen, nie zawsze jest to wygodne rozwiązanie. Można jednak za pomocą jednego terminala uruchomić wiele aplikacji/komend, jedynym ograniczeniem jest [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Kiedy pracuję w terminalu często wykonuję kilka czynności na raz, np mam uruchomione irrsi, mc, podręcznik manuala i vim na którym edytuję jakiś plik konfiguracyjny. Abym mógł tak pracować muszę uruchomić kilka terminali/zakładek, lub korzystać ze screen, nie zawsze jest to wygodne rozwiązanie. Można jednak za pomocą jednego terminala uruchomić wiele aplikacji/komend, jedynym ograniczeniem jest tylko fakt iż jedna aplikacja może działać na pierwszym planie, reszta działa w tle.<span id="more-1607"></span></p>
<p style="text-align: justify;"><strong>Przykład:</strong> uruchamiam podręcznik dla squid3:<br />
<code>man squid3</code><br />
Po czym odnajduję interesującą mnie informację, i zamierzam edytować plik konfiguracyjny squid3, więc wduszam <strong>ctrl+z</strong> i otrzymuje coś takiego:<br />
<code>[1]+  Stopped                 man squid3</code><br />
Zatrzymało to proces man, system nie przydziela mu czasu procesora, a ja mam wolny prompt, więc mogę uruchomić vim aby edytować konfigurację:<br />
<code>vim /etc/squid3/squid.conf</code><br />
Po wprowadzeniu zmian i ich zapisaniu mogę zastopować również vim (<strong>ctrl+z</strong>)</p>
<p>Teraz sprawdzam jakie zadania mam uruchomione w tle, robię to poleceniem <strong>jobs</strong> i otrzymuję coś takiego:<br />
<code>[1]   Stopped                 man squid3<br />
[2]-  Stopped                 vim /etc/squid3/squid.conf<br />
[3]+  Stopped                 mc</code></p>
<p>Teraz jeśli chce uruchomić zastopowany proces mc, posłużę się poleceniem <strong>fg</strong> i wpisując:<br />
<code>fg mc</code><br />
lub:<br />
<code>fg 3</code></p>
<p>Jeśli wpiszę <strong>fg</strong> bez argumentu, to uruchomi się ostatnio zatrzymany proces.</p>
<p style="text-align: justify;">Oprócz przywoływania zastopowanych aplikacji, mogę również przełączać już uruchomione programy aby działały w tle. Jest to szczególne przydatne kiedy z konsoli uruchamiam aplikację działającą w trybie graficznym, dla przykładu posłużę się gedit:</p>
<p>Uruchamiam gedit:<br />
<code>gedit</code><br />
Po czym go zatrzymuję (<strong>ctrl+z</strong>) i otrzymuję coś takiego:<br />
<code>[4]+  Stopped                 gedit</code></p>
<p style="text-align: justify;">Ale jak już wcześniej pisałem, <strong>ctrl+z</strong> zatrzymuje procesy, gedit jest uruchomiony, lecz zatrzymany i nie reaguje na nic, dlatego przełączam go aby działał w tle za pomocą polecenia <strong>bg</strong> i otrzymuję coś takiego:<br />
<code>[4]+ gedit &amp;</code></p>
<p>Na liście którą wyświetla polecenie <strong>jobs</strong>, jest wyszczególnione które aplikacje są zatrzymane, a które uruchomione:<br />
<code>[1]   Stopped                 man squid3<br />
[2]-  Stopped                 vim /etc/squid3/squid.conf<br />
[3]+  Stopped                 mc<br />
[4]   Running                 gedit &amp;</code></p>
<p>Aby od razu przełączyć program na działanie w tle uruchamiam go z &amp; na końcu, dla przykładu:<br />
<code>gedit &amp;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/kontrolowanie-zadan-w-terminalu-1607.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>rsget-mod: szybkie, i wygode pobieranie plików z Rapidshare</title>
		<link>http://www.nibyblog.pl/rsget-mod-szybkie-i-wygode-pobieranie-plikow-z-rapidshare-1132.html</link>
		<comments>http://www.nibyblog.pl/rsget-mod-szybkie-i-wygode-pobieranie-plikow-z-rapidshare-1132.html#comments</comments>
		<pubDate>Tue, 30 Jun 2009 10:12:55 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programy]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[RapidShare]]></category>
		<category><![CDATA[Skrypty]]></category>

		<guid isPermaLink="false">http://nibyblog.pl/?p=1132</guid>
		<description><![CDATA[Niektórym częściej, innym rzadziej, ale wszystkim nam zdarza się czasem pobierać jakieś dane z różnych serwisów umożliwiających hosting  plików. Jednym z najpopularniejszych tego typu serwisów jest RapidShare.com, przedstawiać go raczej nie trzeba. W prawdzie usługi RapidShare są darmowe, jednak dla osób nie posiadających konta premium wprowadzono pewne ograniczenia, czyli: możliwość pobierania jednego pliku na raz, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Niektórym częściej, innym rzadziej, ale wszystkim nam zdarza się czasem pobierać jakieś dane z różnych serwisów umożliwiających hosting  plików. Jednym z najpopularniejszych tego typu serwisów jest RapidShare.com, przedstawiać go raczej nie trzeba. W prawdzie usługi RapidShare są darmowe, jednak dla osób nie posiadających konta premium wprowadzono pewne ograniczenia, czyli: możliwość pobierania jednego pliku na raz, wymuszenie odczekania 15 minut między kolejnymi pobraniami, trzeba również odczekać określony czas, aby aktywowała się opcja download &#8211; jest to szczególnie uciążliwe dla osób posiadających stałe zewnętrzne IP. A kiedy pobieramy kilka części, np. jakiegoś większego archiwum, sprawdzanie co chwilę czy minęło już 15 minut staję się co najmniej nużące. Pobieranie kolejnych plików można jednak zautomatyzować.<span id="more-1132"></span></p>
<p style="text-align: justify;">rsget-mod, jest to nie wielki, ale jakże przydatny skrypt napisany w Bashu. Do działania wykorzystuje wget, greap i sed. Skrypt ten ściąga po kolei wszystkie pliki, które wskazaliśmy, i &#8220;sam klika na download&#8221;, kiedy skończy się odliczanie -  nie obchodzi w żaden sposób wyżej wymienionych ograniczeń. Ale dzięki temu możemy odpalić ściąganie i iść zrobić coś konstruktywnego. ;)</p>
<p><strong>Instalacja</strong><br />
A w zasadzie pobranie rsget-mod, sprowadza się do wypisania jednego polecenia:<br />
<span style="color: #333399;">Wersja stabilna:</span><br />
<code>wget http://rs.nerdblog.pl/stable/latest/rsget-mod.sh</code><br />
<span style="color: #333399;">Wersja rozwojowa:</span><br />
<code>wget http://rs.nerdblog.pl/unstable/latest/rsget-mod.sh</code></p>
<p class="info">Po pobraniu skryptu, należy nadać mu uprawnienia do wykonywania:</p>
<p><code>chmod +x rsget-mod.sh</code><br />
<strong><br />
Używanie</strong><br />
Jest bardzo proste i sprowadza się do wydania w katalogu ze skryptem polecenia:<br />
<code>./rsget-mod.sh http://rapidshare.com/PLIK_1 http://rapidshare.com/PLIK_2 http://rapidshare.com/PLIK_3</code><br />
Należy podać bezpośredni link do Rapida, można też przygotować wcześniej plik tekstowy zawierający zapisane adresy plików do pobrania. &#8211; kolejne adresy należy umieszczać w nowych wierszach.<br />
<code>./rsget-mod.sh ~/ścieżka/do/pliku/z/adesami/nazwa.txt</code></p>
<p>Aby uzyskać dodatkowe opcje, należy uruchomić skrypt z odpowiednim parametrem:<br />
Pobranie listy plików z wejścia STDIN:<br />
<code>./rsget-mod.sh --stdin</code><br />
Aktualizacja skryptu do najnowszej wersji:<br />
<code>./rsget-mod.sh --update</code><br />
Wyświetlenie pomocy:<br />
<code>./rsget-mod.sh --help</code><br />
Wyświetlenie wersji skryptu:<br />
<code>./rsget-mod.sh --version</code></p>
<p>Reasumując bardzo, mały, prosty, ale i przydatny skrypt.</p>
<p class="info">Strona domowa: <a href="http://rs.nerdblog.pl/">rs.nerdblog.pl</a>.</p>
<p class="alert"> 24 kwietnia 2010: Niestety skrypt nie działa już prawidłowo, autor zawiesił jego rozwijanie, szkoda :( Polecam <a href="http://www.tucaneando.com/" target="_blank">Tucan Manager</a> i <a href="http://rsget.pl/about" target="_blank">rsget</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/rsget-mod-szybkie-i-wygode-pobieranie-plikow-z-rapidshare-1132.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

