Hlavní navigace

Hrátky z řádky: alias, DOS, netrc a další

Petr Macek

Po delší době se opět setkáváme u pondělních hrátek z černé řádky. Dnes si ukážeme užitečný příkaz alias a také to, jak si s ním usnadnit práci. Dále pak budeme pracovat se soubory ze starého DOSu, usnadníme si práci pomocí souboru .netrc a na závěr přidáme pár hezkých netříděných tipů.

Aliasy

V našem seriálu jsme až do teď ignorovali aliasy, a přitom mohou hodně pomáhat při práci v řádce. Alias nám umožňuje vytvořit jednoduchou přezdívku složitému příkazu. Nikoho asi nebaví často zadávat ls -al. Vytvoříme si pro něj kratší alias:

# alias ll='ls -al'

Teď už pro dlouhý výpis adresáře stačí zadat jen ll. Zapsat do aliasu tedy můžeme program s parametry, ale i více příkazů, např:

# alias cl='clear;ls'

Seznam již existujících aliasů si můžeme vypsat samotným příkazem alias. Pokud chceme např. alias ll zrušit, použijeme:

# unalias ll

Vámi vytvořené aliasy si můžete zapsat třeba do ~/.profile. Pokud je chcete pro všechny uživatele systému, potom do /etc/profile.

Když začnete hledat na webu, najdete spoustu užitečných aliasů. Zde několik z nich:

# alias more='less'
# alias ls='ls -hF --color'
# alias ..='cd ..'
# alias ...='cd ../..'
# alias dus='du -sh * | sort -rn | head'

Pro výpis adresářů se může hodit toto:

# alias d='ls -d */'
# alias ld='ls -l | grep ^d'

Věřím, že čtenáři do diskuze také něco přidají.

DOS/NEDOS

Spoustu začátečníků používající zároveň Windows a Linux a v nich společná data trápí jiný formát souborů. Konkrétně znaky pro začátek nového řádku. Linux/unix používá LF (\n), starší MAC OS používal CR (\r) a DOS používá CRLF (\r\n). Když vezmeme textový soubor z Windows a chceme ho editovat ve vi, mc, … uvidíme na konci řádků toto:

nejaky text^M
dalsi text^M

Na nápravu existuje několik programů – dos2unix, unix2dos, fromdos, … Ale to jsou externí programy, které je nutné nainstalovat. Na všech systémech však máme příkazy, které to zvládnou. Pro převod z dosu do linux/unix jde použít:

# tr -d "\r" < soubor1 > soubor2

Obrácený převod:

# awk 'sub("$", "\r")' soubor.unix > soubor.dos

Ze MAC OS starších než 10 (přehozením \r a \n samozřejmě dostáváte opačný převod)

# tr '\r' '\n' < soubor1 > soubor2

Ale kdo si to má pamatovat? Tak si z toho rychle udělejte alias:

# alias fromdos="tr -d '\r' "
# alias todos="awk 'sub(\"$\",\"\r\")' "

.netrc a stahování souborů

Pokud potřebuji v řádce něco rychle stáhnout třeba z http nebo ftp, je ideální příkaz fetch. Stačí zadat fetch http://www.server.cz/neco.gzip. Podobně funguje i program wget.

U neanonymního ftp můžeme použít u obou programů soubor .netrc k zapsání autorizačních údajů. Soubor umístěte do svého domovského adresáře a práva nastavte jen pro na 0600. Jinak s ním programy odmítnou pracovat.

# cat ~/.netrc
machine ftp.server.cz
login loginname
password heslicko
machine dalsiserver.cz
login jinylogin
password jineheslo

A pak už jen stačí zavolat jen fetch ftp://ftp.server.cz/soubor.tar

Tento soubor používají i další programy, třeba midnight commander. Stačí jen napsat jméno serveru a pokud najde v .netrc stejný název serveru, použije příslušné jméno a heslo.

Denně používané věci, které se mi nevejdou do žádné kategorie

Nemám po ruce kalkulačku, ale mám bash. Můžete použít + - * / a % pro zbytek po dělení. Zkuste si:

# echo $((117 + 189))
306

Vytváříte nějaký shell skript, pak mu patrně nastavíte práva pro spuštění, třeba chmod 755. Pokud jde třeba o jednorázové spuštění, místo nastavení práv můžete takhle rovnou spustit:

# sh mujskript.sh

Když měním oprávnění k souborům a adresářům v adresářové struktuře, může se hodit parametr X. Když použijete

# chmod -R 644 *

nastaví se i práva k adresářům na 644 a členové skupiny a ostatní mají smůlu.

chmod +X *

Výše uvedený příkaz nastaví adresářům právo x (spustit/proh­ledat).

Otočení řádků v souboru. Tail normálně pracuje s pouze x posledními řádky (bajty, bloky) souboru. Při použití -r zpracuje celý soubor:

# tail -r soubor.txt > soubor_otoceny.txt

Několikrát se v diskuzi probírala vhodnost či nevhodnost tohoto zápisu:

# cat soubor | grep text

Správnější bude:

# grep text soubor

Ale setkat se můžte i se zápisem:

<soubor grep text

A to je z dnešního dílu všechno. Uvítáme v diskuzi náměty na pokračování.

Našli jste v článku chybu?

8. 9. 2008 14:34

O tomhle se tu uz nekolikrat vedla diskuze. Pro nektere je tam ta roura a prikaz cat zbytecny. Napisi to jako grep some-string smthg. Vysledek bude stejny, jen zpracovani bude asi o 0.000001s rychlejsi. Zalezi spis na tom, co Ti prijde prehlednejsi a vhodnejsi pro Tebe

9. 9. 2008 8:56

ja nemluvil o tom, ze je to nesmysl. Proste nekdo grepuje v kombinaci s catem. Ja pouzivam obe moznosti. Nekdo tady uvadel rychlost. Myslim ze velka vetsina pripadu kdy se to volam s catem je proste z radky kdy neresime nejaka velka data. Pokud opravdu potrebuju vykon, nebudu to resit shell skriptem. Ale je pravda, ze jsem ten prispevek mohl formulovat lepe :-)

Ale napada mne myslenka - spousta lidi tu kombinaci pouziva. Jak to vzniklo? Nejaka ucebnice linuxu to takhle uvadi? Nebo grep drive ne…

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

DigiZone.cz: Flix TV startuje i na Slovensku

Flix TV startuje i na Slovensku

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?