vod do UNIXu 3 rd round David Hoksza

  • Slides: 22
Download presentation
Úvod do UNIXu (3 rd round) David Hoksza david. hoksza@mff. cuni. cz

Úvod do UNIXu (3 rd round) David Hoksza david. hoksza@mff. cuni. cz

Utility n n n n n more, less cat head, tail echo wc diff

Utility n n n n n more, less cat head, tail echo wc diff cut paste split tr sort uniq find xargs tar (grep) (sed)

more n more +num_skip +/reg_exp file 1 [file 2…] ¡ num_skip n ¡ reg_exp

more n more +num_skip +/reg_exp file 1 [file 2…] ¡ num_skip n ¡ reg_exp n n počet přeskočených řádků vyhledání daného výrazu v každém ze souborů příkazy ¡ ENTER n ¡ SPACE n ¡ posun o obrazovku zpět (platí pro soubory) : n, : p, : f n ¡ posun o tolik, kolik SPACE a argument (číslo) mění default posun (SPACE bude nyní posouvat o hodnotu čísla) b n ¡ posun o stránku z n ¡ posun na další řádek další soubor (next), předchozí soubor (previous), výpis aktuálního souboru a řádku v n spustí textový editor na daném řádku (platí pro soubory)

less, cat n less [options] file 1 [file 2 … ] ¡ ¡ ¡

less, cat n less [options] file 1 [file 2 … ] ¡ ¡ ¡ n umožňuje zpětný pohyb příkazy společné s more a vi pohyb šipkami cat [options] file 1 [file 2 … ] ¡ ¡ nestránkovaný výpis souboru -n n ¡ číslování řádek -E n ukazuje na konci řádek $

head, tail n head [options] file 1 [file 2…] ¡ ¡ prvních 10 řádek

head, tail n head [options] file 1 [file 2…] ¡ ¡ prvních 10 řádek souboru -n N n ¡ -c N n n prvních N řádek souboru prvních N bytů souboru tail [options] file 1 [file 2…] ¡ ¡ posledních 10 řádek souboru -n N n ¡ posledních N řádek souboru -c N n posledních N bytů souboru

echo, wc n echo [options] string ¡ -n n n nevypisuje konec řádku wc

echo, wc n echo [options] string ¡ -n n n nevypisuje konec řádku wc [options] file 1 [file 2…] ¡ ¡ word count -w n ¡ -l n ¡ počet řádek -L n ¡ počet slov délka nejdelší řádky -c n počet bytů

diff n diff [options] file 1 file 2 ¡ ¡ difference porovnání obsahu 2

diff n diff [options] file 1 file 2 ¡ ¡ difference porovnání obsahu 2 souborů (adresářů) je-li file - , pak se porovnává se standardním vstupem -b n ¡ -B n ¡ rekurzivní porovnávání souborů u adresářů -x pattern n n case insensitive -r n ¡ na výstupu se zobrazí i N řádek okolí (context) -i n ¡ ignoruje prázdné řádky -C N n ¡ ignoruje počet bílých znaků u prohledávání adresářů neporovnává soubory a poadresáře vyhovující pattern diff 3 ¡ diff pro tři soubory

cut n cut [options] file 1 [file 2…] ¡ ¡ vyříznutí částí souborů po

cut n cut [options] file 1 [file 2…] ¡ ¡ vyříznutí částí souborů po řádcích -c. SEZNAM n ¡ -f. SEZNAM n ¡ n definice jednoznakového oddělovače defaultní je TAB -s n ¡ pouze pole ze seznamu -d. ODDELOVAC n ¡ pouze znaky ze seznamu pouze řádky obsahující oddělovače SEZNAM má tvar: n n N[, M, …] – n-té pole (případně též M-té, …) N- – od n-tého pole dál -N – do n-tého pole M-N – m-té až n-té pole

paste, split n paste [options] file 1 [file 2…] ¡ ¡ n složí soubory

paste, split n paste [options] file 1 [file 2…] ¡ ¡ n složí soubory – řádky vedle sebe -d. ODDELOVAC split [options] file [prefix] ¡ ¡ rozdělení souboru po 1000 řádcích do souborů prefixaa, prefixab, prefixac, … -a. N n ¡ -d n ¡ rozděluje po N bytech -CN n ¡ rozděluje se po N řádcích -b. N n ¡ použijí se numerické sufixy -l. N n ¡ délka suffixu vzniklých souborů bude N z každého řádku vezme N znaků lze použít v shellovém programování pro parsování proměnných (!)

tr n tr [options] mna 1 [mna 2] ¡ ¡ ¡ n -d ¡

tr n tr [options] mna 1 [mna 2] ¡ ¡ ¡ n -d ¡ n smaže (delete) znaky z mny 1 -s ¡ n translate přeloží, smaže, zmáčkne znaky z mny 1 ze standardního vstupu na standardní výstup zmáčkne (squeze) posloupnost stejných znaků vyskytujících se v mně 1 do jednoho mna ¡ ¡ z 1 z 2 z 3 z 4 -z 5 z 6 – znaky a rozsahy znaků speciální znaky n n n n n n … newline r … return t … tab [: alnum: ] … písmena a číslice [: alpha: ] … písmena [: digit: ] … číslice [: lower: ] … lower-case písmena [: upper: ] … upper-case písmena [: space: ] … mezery [: punct: ] … , . : ; atd.

sort n sort [options] file ¡ ¡ setřídí řádky textu -b n ¡ -d

sort n sort [options] file ¡ ¡ setřídí řádky textu -b n ¡ -d n ¡ numericky – podle hodnoty čísel a ne podle slovníkového pořadí -r n ¡ ignoruje velikost písmen -n n ¡ uvažuje pouze mezery a písmena (dictionary) -f n ¡ ignoruje úvodní mezery reverse -o file_name n výstup do souboru

uniq n uniq [options] [filein [fileout]] ¡ ¡ obsahuje-li vstup za sebou duplicitní řádky,

uniq n uniq [options] [filein [fileout]] ¡ ¡ obsahuje-li vstup za sebou duplicitní řádky, pak vypíše pouze jedenkrát -c n ¡ prefixuje řádky počtem opakování -u n vypíše pouze neduplicitní (následné) řádky

find (1) n n vyhledávání souborů find [options] path [expr] ¡ -P n ¡

find (1) n n vyhledávání souborů find [options] path [expr] ¡ -P n ¡ -L n ¡ soubor odpovídá regulárnímu výrazu -iregex pattern n ¡ case insensitive verze lname -regex pattern n ¡ soubor je symbolický link, jehož cíl má tvar vzoru -ilname pattern n ¡ case insensitive verze name -lname pattern n ¡ vyhledání souborů s daným vzorem (speciální znaky “? *[]”) -iname pattern n ¡ nejdříve prohledávat podadresáře -name pattern n ¡ následovat symbolické linky -d n ¡ nenásledovat symbolické linky (default) case insensitive verze regex -wholename pattern n pattern se vztahuje ne pouze k souboru, ale k celé cestě

find (2) n -size [+|-]N[unit] ¡ n -type ¡ ¡ ¡ n přístup k

find (2) n -size [+|-]N[unit] ¡ n -type ¡ ¡ ¡ n přístup k souboru naspoledy před 24*N hodinami -cmin, -cnewer, -mtime, -mnewer ¡ n soubor je novější, než poslední změna souboru file -atime [+|-] N ¡ n přístup k souboru naposledy před N minutami -anewer file ¡ n prohledává od úrovně M, resp. do úrovně N -amin [+|-]N ¡ n d …adresář f … soubor l … symbolický link -mindepth M, -maxdepth N ¡ n c … byty, k … kilobyty, M … megabyty, G … gigabyty viz. axxx, pro změnu údajů o souboru (c), resp. samotného souboru (m) -empty ¡ prázdný soubor

find (3) n -gid N, -uid N ¡ n -group name, -user name ¡

find (3) n -gid N, -uid N ¡ n -group name, -user name ¡ n soubory s právy právě mod (oktalově nebo znakově) -perm –mod ¡ n soubor patří skupině, resp. uživateli name -perm mod ¡ n GID, resp. UID souboru je N soubory s právem alespoň mod -perm /mod ¡ soubory, kde alespoň jedna skupina splňuje definovaný mód

find (4) n akce ¡ -print n ¡ -fprint file n ¡ nevstoupí do

find (4) n akce ¡ -print n ¡ -fprint file n ¡ nevstoupí do nalezeného adresáře -exec command ; n ¡ smaže nalezené soubory -prune n ¡ vytiskne nalzené soubory v ls formátu -delete n ¡ vytiskne nalezené soubory v zadané formě (c styl) -ls n ¡ vytiskne nalezené soubory do douboru -printf format n ¡ vytiskne nalezené soubory (default) s nalezenými soubory provede příkaz command (všechny jsou argumentem příkazu) -exec command {} ; n s nalezenými soubory provede příkaz command (po jednom)

find (5) n operátory ¡ () n ¡ !, not n ¡ musí platit

find (5) n operátory ¡ () n ¡ !, not n ¡ musí platit expr 1 i expr 2 expr 1 -o expr 2, expr 1 –or expr 2 n ¡ negace expr 1 expr 2, expr 1 -a expr 2, expr 1 –and expr 2 n ¡ určuje prioritu platí expr 1 nebo expr 2 expr 1, expr 2 n provede expr 1 a pak expr 2

find (6) n n n find ~/ -name '*. txt' find /tmp/ -name ‘*.

find (6) n n n find ~/ -name '*. txt' find /tmp/ -name ‘*. txt' -exec grep “www. ” ; find ~/ -name 'core*' -delete; find. -name "rc. conf" -exec rm '{}' ; find /usr/src -not ( -name "*. h" -o -name ". *. c" ) print find ~ -type f ( -name “*. php” -fprint php_files , name “*. js” -fprint javascript_files )

xargs n xargs [options] command ¡ ¡ provede příkaz a jako parametry doplní řetězce

xargs n xargs [options] command ¡ ¡ provede příkaz a jako parametry doplní řetězce ze standardního vstupu oddělené mezerou (jako na výrobní lince) -d Z n ¡ -a file n ¡ jako oddělovač se použije znak Z parametry se budou číst ze souboru -i command …{} … n n opakuje příkaz pro každou řádku se standardního vstupu a její obsah vloží místo {} ls – 1 *. [ch] | xargs –i cp {} {}. bak

tar (1) n n archivace adresářů tar operation [options] file [dir] ¡ operace n

tar (1) n n archivace adresářů tar operation [options] file [dir] ¡ operace n -c ¡ n -x ¡ n append -v ¡ ¡ list … vypíše obsah archivu -r ¡ n extract -t ¡ n create verbose … podrobnější informace o procesu options n -C dir ¡ n -f file ¡ n pracuje se souborem file -z ¡ n přepnutí do adresáře dir zabalí/extrahuje za pomozi aplikace gzip -j ¡ zabalí/extrahuje za pomozi aplikace bzip 2

tar (2) n n n tar –cf dir. tar dir tar –czf dir. tar.

tar (2) n n n tar –cf dir. tar dir tar –czf dir. tar. gz dir tar –t –f dir. tar. gz tar –xjf dir. tar. bz 2 file tar –xjf dir. tar. bz 2 –C dir 1/

Úkol n n n vypište loginy všech uživatelů systému vypište UID a domovské adresáře

Úkol n n n vypište loginy všech uživatelů systému vypište UID a domovské adresáře všech uživatelů nahraďte oddělovače v /etc/passwd za tabulátory vyberte soubor a změnte ho tak, aby obsahoval pouze velká písmena setřiďte /etc/passwd podle loginů Jak smazat nalezené soubory bez použití přepínače –delete v find?