<?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; Komendy</title>
	<atom:link href="http://www.nibyblog.pl/tag/komendy/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>Tue, 07 Feb 2012 16:00:33 +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>Praktyczne komendy Linux</title>
		<link>http://www.nibyblog.pl/praktyczne-komendy-linux-334.html</link>
		<comments>http://www.nibyblog.pl/praktyczne-komendy-linux-334.html#comments</comments>
		<pubDate>Sat, 07 Feb 2009 19:51:08 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Komendy]]></category>
		<category><![CDATA[Poradnik]]></category>

		<guid isPermaLink="false">http://nibyblog.pl/?p=334</guid>
		<description><![CDATA[Ostatnio opisywałem komendy Wifi, oraz to jak przyspieszyć pracę w konsoli. A że konsola to fajna sprawa, dzięki niej możemy naprawdę efektywnie i szybko pracować.  Poniżej przedstawiam dość obszerny spis różnistych, bardzo użytecznych i praktycznych komend. Wszystkie komendy zostały przetestowane zarówno na Fedorze i jak i Ubuntu. katalogi i szukanie plików kopie zapasowe i kompresja [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ostatnio opisywałem <a href="http://nibyblog.pl/2009/02/02/wszystkie-przydatne-komendy-wifi-w-linuksie/" target="_blank">komendy</a> Wifi, oraz to jak <a href="http://nibyblog.pl/2009/02/06/aliasy-efektywna-i-szybka-praca-z-konsola/" target="_blank">przyspieszyć</a> pracę w konsoli. A że konsola to fajna sprawa, dzięki niej możemy naprawdę efektywnie i szybko pracować.  Poniżej przedstawiam dość obszerny spis różnistych, bardzo użytecznych i praktycznych komend. Wszystkie komendy zostały przetestowane zarówno na Fedorze i jak i Ubuntu.<span id="more-334"></span></p>
<ul>
<li>katalogi i szukanie plików</li>
<li>kopie zapasowe i kompresja</li>
<li>rsync</li>
<li>ssh</li>
<li>wget</li>
<li>sieć</li>
<li>sieć w systemie Windows</li>
<li>manipulacja tekstem</li>
<li>operacje na zbiorach</li>
<li>matematyka</li>
<li>kalendarz</li>
<li>ustawienia lokalne</li>
<li>kodowanie znaków</li>
<li>CD/DVD</li>
<li>miejsce na dysku</li>
<li>monitorowanie i debugowanie</li>
<li>informacje o systemie</li>
<li>interaktywne</li>
<li>różne</li>
</ul>
<p class="alert">Nie wiem dlaczego, ale kiedy napiszę dwa myślniki ( &#8211; - tyle że bez odstępu między nimi ) WordPress podczas wyświetlania strony zamienia je na jeden dłuższy myślnik ( &#8212; ). Proszę na to zwrócić uwagę.</p>
<table style="text-align: left; width: 100%;" border="1">
<tbody>
<tr>
<td><strong>Komenda</strong></td>
<td><strong>Opis</strong></td>
</tr>
<tr>
<td>man -t man | ps2pdf &#8211; &gt; man.pdf</td>
<td>Tworzy dokument .pdf z podręcznika man</td>
</tr>
<tr>
<td>which komenda</td>
<td>Pokazuje pełną ścieżkę dla komendy</td>
</tr>
<tr>
<td>time komenda</td>
<td>Pokazuje czas trwania komendy</td>
</tr>
<tr>
<td>time cat</td>
<td>Pokazuje komendy odpowiadające danemu wyrazowi</td>
</tr>
<tr>
<td>apropos słowo_klucz</td>
<td>Pokazuje komendy odpowiadające danemu wyrazowi</td>
</tr>
<tr>
<td>nice komenda</td>
<td>Uruchamia komendę z niższym priorytetem</td>
</tr>
<tr>
<td>renice 19 -p $$</td>
<td>Uruchamia shell (skrypt) z niższym priorytetem. Używane przy automatycznych zadaniach</td>
</tr>
<tr>
<td><strong>Katalogi</strong></td>
<td></td>
</tr>
<tr>
<td>cd -</td>
<td>Wraca do poprzedniego katalogu</td>
</tr>
<tr>
<td>cd</td>
<td>Przechodzi do katalogu $HOME</td>
</tr>
<tr>
<td>cd /jakiś/katalog komenda</td>
<td>Przechodzi do katalogu, wykonuje komendę i wraca z powrotem</td>
</tr>
<tr>
<td>ls -l &#8211;color=auto</td>
<td>Pokazuje zawartość katalogu według daty, oraz koloruje wynik</td>
</tr>
<tr>
<td>ls -lrt</td>
<td>Pokazuje zawartość katalogu według daty</td>
</tr>
<tr>
<td>ls /jakiś/katalog | pr -T9 -W$COLUMNS</td>
<td>Pokazuje zawartość katalogu w dziewięciu kolumnach</td>
</tr>
<tr>
<td>find -name &#8216;*.[ch]&#8216; | xargs grep -E &#8216;hasło&#8217;</td>
<td>Szuka wyrazu &#8216;hasło&#8217; w obecnym katalogu i poniżej</td>
</tr>
<tr>
<td>find -type f -print0 | xargs -r0 grep -F &#8216;hasło&#8217;</td>
<td>Szuka danego wyrazu tylko w nazwie pliku w obecnym katalogu i poniżej</td>
</tr>
<tr>
<td>find -maxdepth 1 -type f | xargs grep -F &#8216;hasło&#8217;</td>
<td>Szuka danego wyrazu tylko w nazwie pliku w obecnym katalogu</td>
</tr>
<tr>
<td>find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done</td>
<td>Wykonuje (w pętli) wiele komend dla każdego znalezionego wiersza</td>
</tr>
<tr>
<td>find -type f ! -perm -444</td>
<td>Znajduje pliki nie mogące zostać odczytane przez nikogo (pożyteczne na serwerach www)</td>
</tr>
<tr>
<td>find -type d ! -perm -111</td>
<td>Znajduje katalogi niedostępne dla żadnego użytkownika (pożyteczne na serwerach www)</td>
</tr>
<tr>
<td>locate -r &#8216;file[^/]*.txt&#8217;</td>
<td>Search cached index for names. This re is like glob *file*.txt</td>
</tr>
<tr>
<td>look reference</td>
<td>Sprawdza (wg. Kolejności) wyraz w słowniku</td>
</tr>
<tr>
<td>grep &#8211;color reference /usr/share/dict/words</td>
<td>Podkreśla trafienia dla danego wyrażenia znalezione w słowniku</td>
</tr>
<tr>
<td><strong>Kopie zapasowe i kompresja</strong></td>
<td></td>
</tr>
<tr>
<td>gpg -c plik</td>
<td>Szyfruje plik</td>
</tr>
<tr>
<td>gpg plik.gpg</td>
<td>Odszyfrowuje plik</td>
</tr>
<tr>
<td>tar -c jakiś/katalog | bzip2 &gt; katalog.tar.bz2</td>
<td>Tworzy skompresowaną kopię katalogu</td>
</tr>
<tr>
<td>bzip2 -dc katalog.tar.bz2 | tar -x</td>
<td>Odtwarza zawartość kopii (dla plików tar.gz użyj gzip zamiast bzip2)</td>
</tr>
<tr>
<td>tar -c jakiś/katalog | gzip | gpg -c | ssh ktoś@inny-komp &#8216;dd of=dir.tar.gz.gpg&#8217;</td>
<td>Tworzy skompresowaną i zaszyfrowana kopię katalogu, a następnie kopiuje go na inny komputer</td>
</tr>
<tr>
<td>find jakiś/katalog -name &#8216;*.txt&#8217; | tar -c &#8211;files-from=- | bzip2 &gt; archiwum.tar.bz2</td>
<td>Tworzy kopię z części plików zawartych w katalogu, oraz innych w nim zawartych</td>
</tr>
<tr>
<td>find jakiś/katalog -name &#8216;*.txt&#8217; | xargs cp -a &#8211;target-directory=inny/katalog &#8211;parents</td>
<td>Kopiuje część plików zawartych w katalogu jakiś/katalog oraz innych w nim zawartych do katalogu inny/katalog.</td>
</tr>
<tr>
<td>( tar -c jakiś/katalog ) | ( cd inny/katalog &amp;&amp; tar -x -p )</td>
<td>Kopiuje (wraz z prawami) katalog jakiś/katalog do katalogu inny/katalog</td>
</tr>
<tr>
<td>( tar -c jakiś/katalog ) | ssh -C ktoś@inny-komp &#8216;cd inny/katalog &amp;&amp; tar -x -p</td>
<td>Kopije (wraz z prawami) katalog jakiś/katalog na inny komputer do katalogu inny/katalog.</td>
</tr>
<tr>
<td>dd bs=1M if=/dev/sda | gzip | ssh ktoś@inny-komp &#8216;dd of=sda.gz&#8217;</td>
<td>Tworzy kopię dysku na innym komputerze</td>
</tr>
<tr>
<td><strong>rsync</strong></td>
<td></td>
</tr>
<tr>
<td>rsync -P rsync://rsync.server.com/ścieżka/do/pliku plik</td>
<td>Pobiera tylko różnice. W razie problemów z połączeniem można używać wielokrotnie</td>
</tr>
<tr>
<td>rsync &#8211;bwlimit=1000 fromfile tofile</td>
<td>Kopiuje lokalnie z ograniczeniem maksymalnej prędkością. Rodzaj nice dla operacji WE/WY</td>
</tr>
<tr>
<td>rsync -az -e ssh &#8211;delete ~/public_html/ remote.com:&#8217;~/public_html&#8217;</td>
<td>Tworzy mirror strony (wraz kompresją i szyfrowaniem danych)</td>
</tr>
<tr>
<td>rsync -auz -e ssh remote:jakiś/katalog <strong>.</strong> &amp;&amp; rsync -auz -e ssh <strong>.</strong> ktoś@serwer:jakiś/katalog</td>
<td>Synchronizuje aktualny katalog z katalogiem na serwerze</td>
</tr>
<tr>
<td><strong>ssh</strong></td>
<td></td>
</tr>
<tr>
<td>ssh ktoś@serwer komenda</td>
<td>Wykonuje &#8216;komendę&#8217; jako &#8216;ktoś&#8217; na &#8216;serwer&#8217;</td>
</tr>
<tr>
<td>ssh -f -Y ktoś@serwer xeyes</td>
<td>Wykonuj GUI &#8216;komendę&#8217; jako &#8216;ktoś&#8217; na &#8216;serwer&#8217;</td>
</tr>
<tr>
<td>scp -p -r ktoś@serwer: plik jakiś/katalog</td>
<td>Kopiuje wraz z prawami na &#8216;serwer&#8217; do katalogu domowego użytkownika &#8216;ktoś&#8217;</td>
</tr>
<tr>
<td>ssh -g -L 8080:localhost:80 root@serwer</td>
<td>Przekazuje połączenia do localhost:8080 na serwer:80</td>
</tr>
<tr>
<td>ssh -R 1434:imap:143 root@serwer</td>
<td>Przekazuje połączenie z serwer:1413 na imap:143</td>
</tr>
<tr>
<td><strong>wget</strong></td>
<td></td>
</tr>
<tr>
<td>(cd cli &amp;&amp; wget -nd -pHEKk http://www.stronka.pl/index.html)</td>
<td>Tworzy kopię strony internetowej w lokalnym katalogu</td>
</tr>
<tr>
<td>wget -c http://www.stronka.pl/plik.tar</td>
<td>Kontynuuje pobieranie częściowo ściągniętego pliku</td>
</tr>
<tr>
<td>wget -r -nd -np -l1 -A &#8216;*.jpg&#8217; http://www.stronka.pl/katalog</td>
<td>Kopiuje zbiór plików do lokalnego katalogu</td>
</tr>
<tr>
<td>wget ftp://serwer.pl/plik[1-9].iso/</td>
<td>FTP wspiera bezpośrednio wyrażenia regularne (globbing)</td>
</tr>
<tr>
<td>wget -q -O- http://www.stronka.pl/instex.html | grep &#8216;a href&#8217; | head</td>
<td>Natychmiast przeszukuje dane</td>
</tr>
<tr>
<td>echo &#8216;wget url&#8217; | at 01:00</td>
<td>Pobiera dany URL o 1 w nocy do obecnego katalogu</td>
</tr>
<tr>
<td>wget &#8211;limit-rate=20k url</td>
<td>Pobiera z małym priorytetem (w tym wypadku limit to 20KB/s)</td>
</tr>
<tr>
<td>wget -nv &#8211;spider &#8211;force-html -i bookmarks.html</td>
<td>Sprawdza linki w pliku</td>
</tr>
<tr>
<td>wget &#8211;mirror http://www.stronka.pl</td>
<td>Efektywnie uaktualnia lokalna kopię strony (można użyć w programie cron)</td>
</tr>
<tr>
<td><strong>Sieć</strong></td>
<td></td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">ethtool</acronym> eth0</td>
<td>Pokazuje status urządzenia sieciowego eth0</td>
</tr>
<tr>
<td>ethtool &#8211;change eth0 autoneg off speed 100 duplex full</td>
<td>Ręcznie ustawia prędkość urządzenia sieciowego</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">iwconfig</acronym> eth1</td>
<td>Pokazuje status urządzenia bezprzewodowego eth1</td>
</tr>
<tr>
<td>iwconfig eth1 rate 1Mb/s fixed</td>
<td>Ręcznie ustawia prędkość urządzenia bezprzewodowego</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">iwlist</acronym> scan</td>
<td>Pokazuje dostępne sieci bezprzewodowe</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">ip</acronym> link show</td>
<td>Pokazuje urządzenia sieciowe</td>
</tr>
<tr>
<td>ip link set dev eth0 name wan</td>
<td>Zmienia nazwę urządzenia eth0 na wan</td>
</tr>
<tr>
<td>ip link set dev eth0 up</td>
<td>Włącza urządzenie sieciowe eth0</td>
</tr>
<tr>
<td>ip addr show</td>
<td>Pokazuje adresy urządzeń</td>
</tr>
<tr>
<td>ip addr add 1.2.3.4/24 brd + dev eth0</td>
<td>Dodaje (lub kasuje) adres IP i maskę sieciową (255.255.255.0)</td>
</tr>
<tr>
<td>ip route show</td>
<td>Pokazuje ruting</td>
</tr>
<tr>
<td>ip route add default via 1.2.3.254</td>
<td>Ustawia standardową bramkę wyjścia na 1.2.3.254</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">tc</acronym> qdisc add dev lo root handle 1:0 netem delay 20msec</td>
<td>Dodaje opóźnienie 20ms do sterownika urządzenia (przydatne w czasie testów)</td>
</tr>
<tr>
<td>tc qdisc del dev lo root</td>
<td>Usuwa opóźnienie dodane powyżej</td>
</tr>
<tr>
<td>host serwer.pl</td>
<td>Pokazuje informacje IP dla nazwy DNS albo na odwrót</td>
</tr>
<tr>
<td>hostname -i</td>
<td>Pokazuje lokalny adres ip (równoważne z host `hostname`)</td>
</tr>
<tr>
<td>whois serwer.pl</td>
<td>Pokazuje informacje whois dla nazwy lub adresu IP</td>
</tr>
<tr>
<td>netstat -tupl</td>
<td>Pokazuje usługi internetowe</td>
</tr>
<tr>
<td>netstat -tup</td>
<td>Pokazuje aktywne usługi internetowe z i do komputera</td>
</tr>
<tr>
<td><strong>Sieć systemu Windows</strong></td>
<td></td>
</tr>
<tr>
<td>smbtree</td>
<td>Pokaż komputery z Windowsem. Zobacz też polecenie findsmb</td>
</tr>
<tr>
<td>nmblookup -A 192.168.1.100</td>
<td>Pokaż windowsową nazwę (netbios) dla danego adresu ip</td>
</tr>
<tr>
<td>smbclient -L komputer_z_win</td>
<td>Pokaz katalogi współdzielone na komputerze z Windowsem lub serwerze samby</td>
</tr>
<tr>
<td>mount -t smbfs -o fmask=666,guest //komputer_z_win/udział /punkt/montowania</td>
<td>Podłącz katalog współdzielony</td>
</tr>
<tr>
<td>echo &#8216;message&#8217; | smbclient -M komp_z_win</td>
<td>Wyślij wiadomość popup do komputera z Windowsem (w XP SP2 standardowo wyłączone)</td>
</tr>
<tr>
<td><strong>Manipulacja tekstem</strong></td>
<td></td>
</tr>
<tr>
<td>sed &#8216;s/wyraz1/wyraz2/g&#8217;</td>
<td>Zastępuje wyraz1 na wyraz2</td>
</tr>
<tr>
<td>sed &#8216;s/(.*)1/12/g&#8217;</td>
<td>Zmienia dowonywyraz1 na dowolnywyraz2</td>
</tr>
<tr>
<td>sed &#8216;/ *#/d; /^ *$/d&#8217;</td>
<td>Usuwa komentarze i puste linie</td>
</tr>
<tr>
<td>sed &#8216;:a; /$/N; s/n//; ta&#8217;</td>
<td>Łączy wszystkie linie oddzielając je znakiem</td>
</tr>
<tr>
<td>sed &#8216;s/[ t]*$//&#8217;</td>
<td>Usuwa puste znaki z linii</td>
</tr>
<tr>
<td>sed &#8216;s/([`"$\])/1/g&#8217;</td>
<td>Opuszcza meta znaki powłoki aktywne wewnątrz cudzysłowowa</td>
</tr>
<tr>
<td>seq 10 | sed &#8220;s/^/      /; s/ *(.{7,})/1/&#8221;</td>
<td>Justuje numery do prawej</td>
</tr>
<tr>
<td>sed -n &#8217;1000p;<acronym title="quit ASAP">1000q</acronym>&#8216;</td>
<td>Pokazuje tysięczną linię</td>
</tr>
<tr>
<td>sed -n &#8217;10,20p;<acronym title="quit ASAP">20q</acronym>&#8216;</td>
<td>Pokazuje linie od 10 do 20</td>
</tr>
<tr>
<td>sort -t. -k1,1n -k2,2n -k3,3n -k4,4n</td>
<td>Sortuje adresy IPV4 ip</td>
</tr>
<tr>
<td>echo &#8216;Test&#8217; | tr &#8216;[:lower:]&#8216; &#8216;[:upper:]&#8216;</td>
<td>Zmienia wielkość znaków</td>
</tr>
<tr>
<td>tr -dc &#8216;[:print:]&#8216; &lt; /dev/urandom</td>
<td>Filtruje znaki nie dające się wydrukować</td>
</tr>
<tr>
<td>history | wc -l</td>
<td>Liczy wiersze</td>
</tr>
<tr>
<td><strong>Operacje na zbiorach</strong></td>
<td></td>
</tr>
<tr>
<td>sort plik1 plik2 | uniq</td>
<td><acronym title="Items in either file1 or file2">Połączenie</acronym> nieposortowane plików</td>
</tr>
<tr>
<td>sort plik1 plik2 | uniq -d</td>
<td><acronym title="Items both in file1 and file2">Część wspólna</acronym> nieposortowane plików</td>
</tr>
<tr>
<td>sort plik1 plik1 plik2 | uniq -u</td>
<td><acronym title="Items in file2 not in file1">Różnica</acronym> nieposortowane plików</td>
</tr>
<tr>
<td>sort plik1 plik2 | uniq -u</td>
<td><acronym title="Items in only one file">Symetryczna różnica</acronym> nieposortowane plików</td>
</tr>
<tr>
<td>join -a1 -a2 plik1 plik2</td>
<td>Połączenie posortowane plików</td>
</tr>
<tr>
<td>join plik1 plik2</td>
<td>Część wspólna posortowane plików</td>
</tr>
<tr>
<td>join -v2 plik1 plik2</td>
<td>Różnica posortowane plików</td>
</tr>
<tr>
<td>join -v1 -v2 file1 file2</td>
<td>Symetryczna różnica posortowane plików</td>
</tr>
<tr>
<td><strong>Metematyka</strong></td>
<td></td>
</tr>
<tr>
<td>echo &#8216;(1 + sqrt(5))/2&#8242; | bc -l</td>
<td>Proste obliczenia (obliczenie φ)</td>
</tr>
<tr>
<td>echo &#8216;pad=20; min=64; (100*10^6)/((pad+min)*8)&#8217; | bc</td>
<td>Bardziej skomplikowane obliczenia (int). To pokazuje maksymalne prędkość FastEthernet</td>
</tr>
<tr>
<td>echo &#8216;pad=20; min=64; print (100E6)/((pad+min)*8)&#8217; | python</td>
<td>Python potrafi obsłużyć notacje naukową</td>
</tr>
<tr>
<td>echo &#8216;pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)&#8217; | gnuplot -persist</td>
<td>Prędkość FastE w relacji do wielkości pakietu</td>
</tr>
<tr>
<td>echo &#8216;obase=16; ibase=10; 64206&#8242; | bc</td>
<td>Konwertuje liczby dziesiętne do szesnastkowych</td>
</tr>
<tr>
<td>echo $((0x2dec))</td>
<td>Konwertuje liczby szesnastkowe do dziesiętnych (arytmetyczne rozszerzenie powłoki)</td>
</tr>
<tr>
<td>units -t &#8217;100m/9.69s&#8217; &#8216;miles/hour&#8217;</td>
<td>Konwersja jednostek (dziesiętne do calowych)</td>
</tr>
<tr>
<td>units -t &#8217;500GB&#8217; &#8216;GiB&#8217;</td>
<td>Konwersja jednostek (z <acronym title="powers of 10">SI</acronym> do <acronym title="powers of 2">IEC</acronym>)</td>
</tr>
<tr>
<td>units -t &#8217;1 googol&#8217;</td>
<td>Definiuje jednostkę</td>
</tr>
<tr>
<td>seq 100 | (tr &#8216;n&#8217; +; echo 0) | bc</td>
<td>Dodaje kolumnę z cyframi</td>
</tr>
<tr>
<td><strong>Kalendarz</strong></td>
<td></td>
</tr>
<tr>
<td>cal -3</td>
<td>Pokazuje kalendarz</td>
</tr>
<tr>
<td>cal 9 1752</td>
<td>Pokazuje kalendarz dla danego miesiąca i roku</td>
</tr>
<tr>
<td>date -d fri</td>
<td>Pokazuje datę najbliższego piątku</td>
</tr>
<tr>
<td>date &#8211;date=&#8217;25 Dec&#8217; +%A</td>
<td>W jaki dzień wypada w tym roku Boże Narodzenie</td>
</tr>
<tr>
<td>date &#8211;date &#8217;1970-01-01 UTC 2147483647 seconds&#8217;</td>
<td>Konwertuje sekundy, które upłynęły od początku epoki uniksa w datę</td>
</tr>
<tr>
<td>TZ=&#8217;:America/Los_Angeles&#8217; date</td>
<td>Pokazuję godzinę na zachodnim wybrzeżu USA (użyj tzselect aby wybrać daną strefę czasową)</td>
</tr>
<tr>
<td>echo &#8220;mail -s &#8216;biegnij na pociąg!&#8217; moja@poczta.pl &lt; /dev/null&#8221; | at 17:45</td>
<td>Wysyła email z przypomnieniem</td>
</tr>
<tr>
<td>echo &#8220;DISPLAY=$DISPLAY xmessage cooker&#8221; | at &#8220;NOW + 30 minutes&#8221;</td>
<td>Pokazuje okienko z przypomnieniem</td>
</tr>
<tr>
<td><strong>Ustawienia lokalne</strong></td>
<td></td>
</tr>
<tr>
<td>printf &#8220;%&#8217;dn&#8221; 1234</td>
<td>Pokazuje liczbę z grupowaniem tysięcznym zgodnym z ustawieniami lokalnymi</td>
</tr>
<tr>
<td>BLOCK_SIZE=&#8217;1 ls -l</td>
<td>Pokazuje grupowanie tysięczne podczas użycia komendy ls</td>
</tr>
<tr>
<td>echo &#8220;I live in `locale territory`&#8221;</td>
<td>okazuje informacje o ustawieniach lokalnych</td>
</tr>
<tr>
<td>LANG=en_IE.utf8 locale int_prefix</td>
<td>Pokazuje lokalne informacje dla danego kraju.</td>
</tr>
<tr>
<td>locale | cut -d= -f1 | xargs locale -kc | less</td>
<td>Pokazuje pola dostępne w lokalnej bazie</td>
</tr>
<tr>
<td><strong>Kodowanie znaków</strong></td>
<td></td>
</tr>
<tr>
<td>recode -l | less</td>
<td>Pokazuje dostępne konwersje (aliasy na każdej linii)</td>
</tr>
<tr>
<td>recode windows-1252.. plik.txt</td>
<td>Windows &#8220;ansi&#8221; do lokalnego kodowania (automatyczna konwersja CRLF )</td>
</tr>
<tr>
<td>recode utf-8/CRLF.. plik.txt</td>
<td>Windows utf8 do lokalnego kodowania</td>
</tr>
<tr>
<td>recode iso-8859-15..utf8 plik_do_zmiany.txt recode iso-8859-15..utf8 plik.txt</td>
<td>Latin9 (europa zachodnia) to utf8</td>
</tr>
<tr>
<td>recode ../b64 &lt; plik.txt &gt; plik.b64</td>
<td>Kodowanie Base64</td>
</tr>
<tr>
<td>recode /qp.. &lt; plik.txt &gt; plik.qp</td>
<td>Quoted printable decode</td>
</tr>
<tr>
<td>recode ..HTML &lt; plik.txt &gt; plik.html</td>
<td>Tekst to HTML</td>
</tr>
<tr>
<td>recode -lf windows-1252 | grep euro</td>
<td>Pokazuje informacje o danym znaku</td>
</tr>
<tr>
<td>echo -n 0&#215;80 | recode latin-9/x1..dump</td>
<td>Pokazuje informacje o znaku w kodowaniu latin-9</td>
</tr>
<tr>
<td>echo -n 0x20AC | recode ucs-2/x2..latin-9/x</td>
<td>Pokazuje kodowanie latin-9</td>
</tr>
<tr>
<td>echo -n 0x20AC | recode ucs-2/x2..utf-8/x</td>
<td>Pokazuje kodowanie utf-8</td>
</tr>
<tr>
<td><strong>CD/DVD</strong></td>
<td></td>
</tr>
<tr>
<td>gzip &lt; /dev/cdrom &gt; cdrom.iso.gz</td>
<td>Tworzy skompresowaną kopię CD</td>
</tr>
<tr>
<td>mkisofs -V LABEL -r dir | gzip &gt; cdrom.iso.gz</td>
<td>Tworzy skompresowaną kopię CD z zawartości danego katalogu</td>
</tr>
<tr>
<td>mount -o loop cdrom.iso /mnt/dir</td>
<td>Podłącza (tylko odczyt) kopię CD do katalogu /mnt/dir</td>
</tr>
<tr>
<td>cdrecord -v dev=/dev/cdrom blank=fast</td>
<td>Kasuje dysk CDRW</td>
</tr>
<tr>
<td>gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom</td>
<td>Wypala CD z pliku</td>
</tr>
<tr>
<td>cdparanoia -B</td>
<td>Kopiuje ścieżki audio z CD jako pliki wav do bieżącego katalogu</td>
</tr>
<tr>
<td>cdrecord -v dev=/dev/cdrom -audio *.wav</td>
<td>Tworzy audio CD ze wszystkich plików wav z bieżącego katalogu</td>
</tr>
<tr>
<td>oggenc &#8211;tracknum=&#8217;track&#8217; track.cdda.wav -o &#8216;track.ogg&#8217;</td>
<td>Tworzy pliki ogg z plików wav</td>
</tr>
<tr>
<td><strong>Miejsce na dysku</strong></td>
<td></td>
</tr>
<tr>
<td>ls -lSr</td>
<td>Pokazuje pliki według wielkości, największe na końcu</td>
</tr>
<tr>
<td>du -s * | sort -k1,1rn | head</td>
<td>Pokazuje katalogi zajmujących największą ilość miejsca w bieżącym katalogu</td>
</tr>
<tr>
<td>df -h</td>
<td>Pokazuje wolne miejsce na podłączonych systemach plików</td>
</tr>
<tr>
<td>df -i</td>
<td>Pokazuje wolne inodes na podłączonych systemach plików</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">fdisk</acronym> -l</td>
<td>Pokazuje wielkość dysków i typ partycji (jako root)</td>
</tr>
<tr>
<td>rpm -q -a &#8211;qf &#8216;%10{SIZE}\t%{NAME}\n&#8217; | sort -k1,1n</td>
<td>Pokazuje wszystkie zainstalowane pakiety według wielkości (Bytes) w dystrybucjach używających rpm</td>
</tr>
<tr>
<td>dpkg-query -W -f=&#8217;${Installed-Size;10}\t${Package}\n&#8217; | sort -k1,1n</td>
<td>Pokazuje wszystkie zainstalowane pakiety według wielkości (KBytes) w dystrybucjach używających deb</td>
</tr>
<tr>
<td>dd bs=1 seek=2TB if=/dev/null of=ext3.test</td>
<td>Tworzy duży plik testowy (nie zajmując w ogóle miejsca).</td>
</tr>
<tr>
<td><strong>Monitorownie i debugowanie</strong></td>
<td></td>
</tr>
<tr>
<td>tail -f /var/log/messages</td>
<td>Monitoruje informacje w logu</td>
</tr>
<tr>
<td>strace -c ls &gt;/dev/null</td>
<td>Pokazuje podsumowanie/profil wywołań systemowych danej komendy</td>
</tr>
<tr>
<td>strace -f -e open ls &gt;/dev/null</td>
<td>Pokazuje wywołania systemowe danej komendy</td>
</tr>
<tr>
<td>ltrace -f -e getenv ls &gt;/dev/null</td>
<td>Pokazuje wywołania biblioteczne danej komendy</td>
</tr>
<tr>
<td><acronym title="usually in /usr/sbin/">lsof</acronym> -p <acronym title="process id of current shell">$$</acronym></td>
<td>Pokazuje ścieżki otwarte przez ten proces</td>
</tr>
<tr>
<td>lsof ~</td>
<td>Pokazuje procesy ktore mają otwartą daną ścieżkę</td>
</tr>
<tr>
<td>tcpdump not port 22</td>
<td>Pokazuje aktywność sieciową za wyjątkiem ssh</td>
</tr>
<tr>
<td>ps -e -o pid,args &#8211;forest</td>
<td>Pokazuje procesy wg hierarchii</td>
</tr>
<tr>
<td>ps -e -o pcpu,cpu,nice,state,cputime,args &#8211;sort pcpu | sed &#8216;/^ 0.0 /d&#8217;</td>
<td>Pokazuje procesy wg % użycia procesora</td>
</tr>
<tr>
<td>ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</td>
<td>Pokazuje procesy wg użycia pamięci</td>
</tr>
<tr>
<td>ps -C firefox-bin -L -o pid,tid,pcpu,state</td>
<td>Pokazuje wszystkie wątki danego procesu</td>
</tr>
<tr>
<td>ps -p 1,2</td>
<td>Pokazuje informacje dla procesu o danym id</td>
</tr>
<tr>
<td>last reboot</td>
<td>Pokazuje historię ostatnich uruchomień</td>
</tr>
<tr>
<td>free -m</td>
<td>Pokazuje ilość wolnej pamięci RAM (-m w MB)</td>
</tr>
<tr>
<td>watch -n.1 &#8216;cat /proc/interrupts&#8217;</td>
<td>Pokazuje zmiany danych aktualnie się zmieniających</td>
</tr>
<tr>
<td><strong>I</strong><strong>nformacje o systemie</strong></td>
<td></td>
</tr>
<tr>
<td>uname -a</td>
<td>Pokazuje wersje jądra</td>
</tr>
<tr>
<td>head -n1 /etc/issue</td>
<td>Pokazuje nazwę i wersję linuksa</td>
</tr>
<tr>
<td>cat /proc/partitions</td>
<td>Pokazuje partycje zarejestrowane w systemie</td>
</tr>
<tr>
<td>grep MemTotal /proc/meminfo</td>
<td>Pokazuje informacje o pamięci RAM</td>
</tr>
<tr>
<td>grep &#8220;model name&#8221; /proc/cpuinfo</td>
<td>Pokazuje informacje o procesorze</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">lspci</acronym> -tv</td>
<td>Pokazuje informacje o PCI</td>
</tr>
<tr>
<td><acronym title="usually in /sbin/">lsusb</acronym> -tv</td>
<td>Pokazuje informacje o USB</td>
</tr>
<tr>
<td>mount | column -t</td>
<td>Pokazuje systemy plików podłączone do kuputera (informacje są wyjustowane)</td>
</tr>
<tr>
<td>dmidecode -q | less</td>
<td>Pokazuje informacje SMBIOS/DMI</td>
</tr>
<tr>
<td>smartctl -A /dev/sda | grep Power_On_Hours</td>
<td>Pokazuję całościowy czas pracy dysku</td>
</tr>
<tr>
<td>hdparm -i /dev/sda</td>
<td>Pokazuje informacje o dysku sda</td>
</tr>
<tr>
<td>hdparm -tT /dev/sda</td>
<td>Testuję prędkość odczytu dysku sda</td>
</tr>
<tr>
<td>badblocks -s /dev/sda</td>
<td>Szuka popsutych bloków na dysku sda</td>
</tr>
<tr>
<td>Interaktywne</td>
<td></td>
</tr>
<tr>
<td>readline</td>
<td>Edytor linowy używany przez bash, python, bc, gnuplot</td>
</tr>
<tr>
<td>screen</td>
<td>
<table class="pixelbeat" style="height: 11px;" border="0" width="362">
<tbody>
<tr>
<td class="nw"></td>
<td>Wirtualne terminale z możliwością odłączania i podłączania</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>mc</td>
<td>Manager plików który może przeglądać rpm, tar, ftp, ssh &#8211; <a href="http://nibyblog.pl/2009/02/03/midnight-commander-wygodne-i-szybkie-zarzadzanie-plikami/" target="_blank">opisany tutaj</a></td>
</tr>
<tr>
<td>gnuplot</td>
<td>
<table class="pixelbeat" border="0">
<tbody>
<tr>
<td class="nw"></td>
<td>Interaktywny i obsługujący skrypty program do rysowania</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>links</td>
<td>Przeglądarka internetowa</td>
</tr>
<tr>
<td><strong>Różne</strong></td>
<td></td>
</tr>
<tr>
<td>set | grep nazwa_użytkownika</td>
<td>Przeszukuje aktualne ustawienia środowiska</td>
</tr>
<tr>
<td>touch -c -t 0304050607 plik</td>
<td>Zmienia datę pliku (YYMMDDhhmm)</td>
</tr>
<tr>
<td>python -m SimpleHTTPServer</td>
<td>Uruchamia prosty serwer HTTP i tworzy drzewo plików w aktualnym katalogu na http://nazwa_hosta:8000</td>
</tr>
</tbody>
</table>
<p class="info">Podziękowania dla kolegi Pádraig Brady, który udostępnił ten spis. Zachęcam do odwiedzenia jego strony <a href="http://www.pixelbeat.org/" target="_blank">pixelbeat.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/praktyczne-komendy-linux-334.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wszystkie (?) przydatne komendy Wifi w Linuksie</title>
		<link>http://www.nibyblog.pl/wszystkie-przydatne-komendy-wifi-w-linuksie-66.html</link>
		<comments>http://www.nibyblog.pl/wszystkie-przydatne-komendy-wifi-w-linuksie-66.html#comments</comments>
		<pubDate>Mon, 02 Feb 2009 04:29:30 +0000</pubDate>
		<dc:creator>Franek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Atheros]]></category>
		<category><![CDATA[Komendy]]></category>
		<category><![CDATA[Poradnik]]></category>
		<category><![CDATA[Wifi]]></category>

		<guid isPermaLink="false">http://nibyblog.pl/?p=66</guid>
		<description><![CDATA[Nie wszystkie karty / firmware obsługuje wszystkie wymienione poniżej komendy. Aby podłączyć maszynę z Linuksem do sieci WLAN za pomocą WPA, WPA2 lub 802.1X konieczne będzie użycie WPA Supplicant. [interfejs] &#8211; należy zastąpić nazwą interfejsu sieciowego, np. wlan0, ath0, eth1. Łączenie się z otwartą siecią WLAN, lub z zabezpieczoną WEP, korzystając z DHCP. iwconfig [interfejs] [...]]]></description>
			<content:encoded><![CDATA[<p class="info">Nie wszystkie karty / firmware obsługuje wszystkie wymienione poniżej komendy. Aby podłączyć maszynę z Linuksem do sieci WLAN za pomocą WPA, WPA2 lub 802.1X konieczne będzie użycie WPA Supplicant.</p>
<p><span id="more-66"></span></p>
<p class="alert">[interfejs] &#8211; należy zastąpić nazwą interfejsu sieciowego, np. wlan0, ath0, eth1.</p>
<p><strong>Łączenie się z otwartą siecią WLAN, lub z zabezpieczoną WEP,  korzystając z DHCP.</strong><br />
<code>iwconfig [interfejs] mode managed key [klucz WEP]</code></p>
<p><code>iwconfig essid "[ESSID]"</code> (ESSID &#8211; czyli nazwa sieci, z którą chcemy się połączyć)<br />
<strong><br />
</strong><code>dhclient [interfejs]</code> (Automatycznie pobieramy IP, maskę podsieci, bramę domyślną z serwera DHCP, Access Pointa)<br />
<code><br />
ping google.pl</code> (Testujemy połączenie)</p>
<p><strong>Łączenie się z otwartą siecią WLAN, lub z zabezpieczoną WEP,  manualnie ustawiając IP.</strong><br />
<code>iwconfig [interfejs] mode managed key [klucz WEP]</code> (128 bitowe szyfrowanie WEP korzysta z 26 znaków, 64 bitowe z 10)</p>
<p><code>iwconfig essid "[ESSID]"</code> (ESSID &#8211; czyli nazwa sieci, z którą chcemy się połączyć)</p>
<p><code>ifconfig [interfejs] [adres IP] netmask [maska podsieci]</code></p>
<p>route add default gw [IP bramy domyślnej]<strong> </strong>(Ustawiamy routing)</p>
<p><code>echo nameserver [Adres IP serwera DNS] | sudo tee -a /etc/resolv.conf</code><strong> </strong>(Ustawiamy serwer DNS)</p>
<p><code>ping google.pl</code> (Testujemy połączenie)</p>
<p><strong>Komendy iwconfig</strong><br />
<code>iwconfig [interfejs] mode master</code> (Ustawia kartę aby działała jako punkt dostępu w trybie act)</p>
<p><code>iwconfig [interfejs] mode managed</code> (Ustawia kartę w tryb klienta, w sieci jako access point)</p>
<p><code>iwconfig [interfejs] mode ad-hoc</code> (Ustawia kartę w tryb ad-hoc, w sieci jako access point)<br />
<strong><br />
</strong><code>iwconfig [interfejs] mode monitor</code> (Ustawia kartę w tryb RFMON)<br />
<strong><br />
</strong><code>iwconfig [interfejs] essid any</code> (Nie które karty pozwalają na wyłączenie sprawdzania ESSID)<br />
<strong><br />
</strong><code>iwconfig [interfejs] essid [Twoja nazwa sieci tutaj]</code> (Konfiguruje ESSID dla sieci)</p>
<p><code>iwconfig [interfejs] key 1111-1111-1111-1111</code> (Ustawiamy 128 bitowy klucz WEP)</p>
<p>i<code>wconfig [interfejs] key 11111111</code> (Ustawiamy 64 bitowy klucz WEP)</p>
<p><code>iwconfig [interfejs] key s:MójKlucz</code> (Karta wysyła klucz jako ciąg znaków ASCII)<br />
<strong><br />
</strong><code>iwconfig [interfejs] key off</code> (Wyłączamy klucz WEP)</p>
<p><code>iwconfig [interfejs] key open</code> (Ustawia tryb otwarty, nie jest używane uwierzytelnianie i karta może nie zaakceptować szyfrowanych sesji)</p>
<p><code>iwconfig [interfejs] channel [numer kanału]</code> (Zakres kanałów od 1 do 14)<br />
<strong><br />
</strong><code>iwconfig [interfejs] channel auto</code> (Automatyczne ustawianie kanału)<br />
<strong><br />
</strong><code>iwconfig [interfejs] freq 2.422G</code> (Ustawiamy kanał w GHz)</p>
<p><code>iwconfig [interfejs] ap 11:11:11:11:11:11</code> (Rejestracja adresu AP)</p>
<p><code>iwconfig [interfejs] rate 11M</code> (Ustawiamy prędkość połączenia)</p>
<p><code>iwconfig [interfejs] rate auto</code> (Automatyczna prędkość połączenia)<br />
<strong><br />
</strong><code>iwconfig [interfejs] rate auto 5.5M</code> (Karta będzie wykorzystać określone prędkości i wszystkie prędkości poniżej wymaganej)</p>
<p><strong>Komendy ifconfig</strong><br />
<code>ifconfig [interface] up</code> (Włączamy dany interfejs)</p>
<p><code>ifconfig [interface] down</code> (Wyłączamy dany interfejs)</p>
<p><code>ifconfig [interface] [adres IP] netmask [maska podsieci]</code>(Manualne ustawienie IP i maski)</p>
<p><code>ifconfig [interface] hw ether [MAC]</code> (Zmieniamy MAC adres karty &#8211; format MAC  11:11:11:11:11:11)</p>
<p><strong>Komendy iwlist</strong></p>
<div id="result_box" style="text-align: left;" dir="ltr">iwlist używany jest do wyświetlania niektórych dużych fragmentów informacji z bezprzewodowego interfejsu sieciowego, który nie jest wyświetlany przez iwconfig.</div>
<p><code>iwlist [interfejs] scan</code> (Podaję listę wykrytych Access Pointów)</p>
<p><code>iwlist [interfejs] channel</code> (Podaję liczbę dostępnych częstotliwości i kanałów obsługiwanych przez urządzenie)</p>
<p><code>iwlist [interfejs] rate</code> (Podaję listę wszystkich dostępnych prędkości obsługiwanych przez urządzenie)</p>
<p><code>iwlist [interfejs] key</code> (Podaję listę wszystkich obsługiwanych kluczy szyfrujących przez kartę, oraz ich długości)<br />
<strong><br />
</strong><code>iwlist [interfejs] power</code> (Podaję listę trybów oraz atrybutów zasilania danego urządzenia)</p>
<p><code>iwlist [interfejs] txpower</code> (Podaję listę dostępnych mocy połączenia)</p>
<p><code>iwlist [interfejs] retry</code> (List the transmit retry limits and retry lifetime on the device)<br />
<strong><br />
</strong><code>iwlist [interfejs] ap</code> (Podaję listę punktów dostępu w zasięgu, a opcjonalnie jakość połączenia do nich)</p>
<p>iwlist [interfejs] peers (Podaję listę perów)</p>
<p><code>iwlist [interfejs] event</code> (List the wireless events supported by this card)</p>
<p><strong>Komendy Madwifi-ng</strong><br />
MadWifi obsługuje wirtualne punkty dostępu (VAP&#8217;s), co oznacza, że można utworzyć więcej niż jedno urządzenie bezprzewodowe na bezprzewodowej karcie. Host wirtualnej karty to wlan0<br />
<code>athX - należy zastąpić nazwą interfejsu sieciowego, np. ath0, ath1.</code></p>
<p><code>wlanconfig athX destroy</code> (Usuwamy/niszczymy VAP, athX)</p>
<p><code>wlanconfig athX create wlandev wifi0 wlanmode sta</code> (Ustawiamy tryb managed mode VAP, athX)</p>
<p><code>wlanconfig athX create wlandev wifi0 wlanmode ap</code> (Ustawiamy tryb Access Point VAP, athX)</p>
<p><code>wlanconfig athX create wlandev wifi0 wlanmode adhoc</code> (Ustawiamy tryb Ad-Hoc VAP, athX)</p>
<p><code>wlanconfig athX create wlandev wifi0 wlanmode monitor</code> (Ustawiamy tryb Monitor mode VAP, athX)</p>
<p><em>Zmiana trybów pracy:</em><br />
<code>ifconfig athX down</code> (Wyłączamy dany interfejs)</p>
<p><code>wlanconfig athX destroy</code> (Usuwamy/niszczymy VAP, athX)</p>
<p><code>wlanconfig athX create wlandev wifi0 wlanmode [sta|adhoc|ap|monitor]</code> (Ustawiamy tryb pracy na sta, adhoc, ap lub monitor VAP)</p>
<p><em>Skanowanie w poszukiwaniu punktów dostępu:</em><br />
<code>modprobe wlan_scan_sta</code> (Ładujemy moduł skanowania do kernela)</p>
<p><code>wlanconfig athx list scan</code> (Podaje listę dostępnych AP)</p>
<p class="info">Na podstawie: <a href="http://wirelessdefence.org/Contents/LinuxWirelessCommands.htm" target="_blank">wirelessdefence.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nibyblog.pl/wszystkie-przydatne-komendy-wifi-w-linuksie-66.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

