Hlavní navigace

Malé hrátky z řádky

21. 1. 2008
Doba čtení: 4 minuty

Sdílet

Jak si usnadnit práci v Linuxu? Zkuste používat méně známé funkce běžně používaných programů, přidejte klávesové zkratky nebo sáhněte po šikovné utilitce. Dnes si ukážeme několik nástrojů v Midnight commanderu, lehce zabrousíme do Bashe a na závěr představíme programy mail, uuencode, last a screen.

Asi každý z nás dělá na PC spoustu nudných činností a říká si, zda by nebylo možné je zjednodušit, zautomatizovat nebo si pomoci nějakou málo známou utilitkou. Každý z nás asi něco takového používá. Myslím, že je škoda se o takové informace nepodělit. Cílem mého článku (možná i pravidelného seriálu) je ukázat takové postupy, zlepšováky a podělit se o ně.

Tipy pro Midnight commander

S commanderem asi spousta lidí pracuje denně. Někteří jej zase ze zásady nepoužívají. Ve spoustě věcí je ale velkým pomocníkem, například má v sobě scp (secure copy) klienta. Najdete jej v horním menu (klávesa F9), potom zvolte levý nebo pravý panel. Jedna z položek menu je shell link (v lokalizované verzi shell spojení). Stačí vyplnit příslušné údaje ( user@stroj), potom zadat heslo (hesla se neukládají), a jste přihlášen na vzdáleném stroji.

Snadno se potom zobrazují a kopírují data z jednoho stroje na druhý. Když chcete použít některý z dříve uskutečněných spojení, po výběru shell link zmáčkněte ctrl + h a zobrazí se historie, z které můžete vybrat. Naprosto stejně funguje i ftp klient.

Další mou oblíbenou funkcí je Directory hotlist. Když použijete kombinaci ctrl + \, objeví se seznam s adresáři a můžete se do nich rychle přepínat. Zároveň je dole menu na administraci. Možná vám to přijde zbytečné, v Bashi se pomocí tabulátoru velice rychle přepnete taky, ale i přes to má tahle věc jednu výhodu – můžete si zde uložit i výše zmíněné shell spojení, dokonce ftp a samba spojení. Když si je potom vyvoláte z hotlistu, zeptá se jen na příslušné heslo (uživatel je uložen) a jste tam. Hotlist je uchován v domovském adresáři uživatele v ~/.mc/hotlist. Já si tento soubor kopíruji na všechny servery a díky tomu mám cesty všude stejně.

Pro dnešek poslední věc k commanderu – pokud používáte kopírování textu pomocí prostředního tlačítka myši, v commanderu to moc dobře nejde – ani označování, ani vkládání. Zkuste při těchto činnostech držet klávesu shift.

Klávesové zkratky v Bashi

Teď se přesuneme do Bashe. Pro někoho možná známá a denně používaná věc. Je velmi užitečná, proto ji zde zmiňuji. Včera jste zadávali nějaký příkaz a chcete ho znovu použít. Máte několik možností:

  • Šipkou nahoru procházet naposledy volané příkazy, až narazíte na požadovaný. To je hodně zdlouhavé.
  • Použít příkaz history, ten nám zobrazí poslední použité příkazy. Pokud si pamatujete aspoň kousek příkazu, který chcete, můžete použít
    $ history | grep "cast_prikazu".
  • Opět pokud znáte část příkazu, zmáčkněte ctrl + r a začněte psát. V historii se budou vyhledávat příkazy, které obsahují zadaný text

K Bashi jestě jedna klávesová zkratka – rychlé odhlašování ze shellu. Proč psát logout nebo exit? Místo toho zmáčkněte ctrl + d. Tohle platí i pro jiné shelly. Zkratek jako je ctrl + r nebo ctrl + d je mnoho. Více napoví man bash.

Programy

Program mail možná znáte. Ve většině distribucí ale neumí poslat přílohu. Jde si však snadno pomoci programem uuencode. Když mu předáme data, transformuje je do formátu, který používá jen tisknutelné znaky a je vhodný pro posílání e-mailem. Praktický příklad – budeme si pomocí e-mailu posílat soubor pokus.bin, pošleme jej s názvem  priloha.bin:

$ uuencode pokus.bin priloha.bin | mail -s "posilam si soubor" muj@email.cz

Při zobrazení takové přílohy jsem objevil problém na některých webmailech, jinak mnou běžně používaní klienti (mozilla, thunderbird, outlook, novell groupwise) problém nemají. Já si takhle posílám některé logy nebo dump malé databáze. Samozřejmě je možné si větší přílohu zabalit:

$ gzip -c pokus.bin | uuencode priloha.gz | mail -s "posilam si soubor" muj@mail.cz

Dalším zajímavým programem je last. Ten vám vypíše, kdo a jak se za poslední dobu k serveru přihlásil. Výstup vypadá třeba takhle:

pm ttyp0 192.168.222.45 Wed Mar 29 11:14 still logged in
reboot ~ Wed Mar 29 11:10
shutdown ~ Wed Mar 29 10:57
pm ttyp0 192.168.222.45 Wed Mar 29 10:56 - shutdown (00:00)
root ttyv0 Wed Mar 29 08:22 - 08:23 (00:01)
reboot ~ Wed Mar 29 03:02

Pokud si chcete vypsat jen statistiky pro jednoho uživatele, stačí zadat last jmeno_uzivatele Ve výpisu jste si mohli postřehnout, že je tam i „uzivatel“ reboot a shutdown. Nejedná se samozřejmě o uživatele, tak je značen restart a reboot. Příkaz last reboot Vám vrátí seznam časů posledních restartů (pokud proběhly korektně a ne například výpadek energie).

Poslední velmi zajímavá utilitka, kterou si dnes ukážeme, je screen. Často ji používám, ale dlouho jsem o ní nevěděl. Nejstarší zmínku o screenu jsem našel z roku 1991, u GNU verze pak rok 1993. I přes jeho věk je to skvělý pomocník. Umožňuje vám na jednom terminálu vytvořit další virtuální terminály, přepínat mezi nimi, nechat je běžet na pozadí… Možností je spousta. Ukáži dvě věci, které používám.

První případ, kde mi screen hodně pomáhá jsou dlouho trvající kompilace. Pod svým oblíbeným FreeBSD si třeba pustím make buildworld. Když se jedná o pomalý stroj, taková kompilace poběží několik hodin. Spustím ji na jednom stroji a z jiného už těžko zkontroluji stav. Pokud ale takovou kompilaci pustím ve screenu, můžu se od stroje odhlásit, kompilace poběží dál a já se můžu i z jiného stroje k rozdělané práci vrátit.

Druhá věc je vhodná třeba při školení. Školitel pracuje na svém terminálu a studenti na svých monitorech vidí to samé.

root_podpora

Screen má mnoho dalších možností a uplatnění, více najdete v manuálovych stránkách. Již dříve na Rootu vyšel článek o screenu, kde najdete přesné postupy.

Závěr

Pokud bude zájem, vznikne pokračování. Témat je spousta, různých řešení ještě víc. V diskuzi očekávám vaše postřehy a návrhy.

Chcete pravidelný seriál na toto téma?

  • Určitě, zajímá mě to!
    87 %
  • Asi to může být užitečné.
    10 %
  • Nevím nevím
    1 %
  • Ne, je to k ničemu.
    1 %

Byl pro vás článek přínosný?

Autor článku

Petr Macek studoval aplikovanou informatiku na Jihočeské univerzitě, pracuje jako síťový specialista ve firmě Kostax, s. r. o. Baví ho především FreeBSD, sítě a monitoring Cacti.