+ All Categories
Home > Documents > Úvod do UNIXu ( 3 rd round)

Úvod do UNIXu ( 3 rd round)

Date post: 25-Jan-2016
Category:
Upload: berit
View: 33 times
Download: 1 times
Share this document with a friend
Description:
Úvod do UNIXu ( 3 rd round). David Hoksza [email protected]. Utility. more, less cat head, tail echo wc diff cut paste split tr sort uniq find xargs tar (grep) (sed). more. more +num_skip +/reg_exp file1 [file2…] num_skip počet přeskočených řádků reg_exp - PowerPoint PPT Presentation
22
Úvod do UNIXu (3 rd round) David Hoksza david.hoksza@mff.cuni.cz
Transcript
Page 1: Úvod do UNIXu ( 3 rd  round)

Úvod do UNIXu (3rd round)

David Hoksza

[email protected]

Page 2: Úvod do UNIXu ( 3 rd  round)

Utility

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

Page 3: Úvod do UNIXu ( 3 rd  round)

more

more +num_skip +/reg_exp file1 [file2…] num_skip

počet přeskočených řádků reg_exp

vyhledání daného výrazu v každém ze souborů příkazy

ENTER posun na další řádek

SPACE posun o stránku

z posun o tolik, kolik SPACE a argument (číslo) mění default posun (SPACE bude nyní

posouvat o hodnotu čísla) b

posun o obrazovku zpět (platí pro soubory) :n, :p, :f

další soubor (next), předchozí soubor (previous), výpis aktuálního souboru a řádku v

spustí textový editor na daném řádku (platí pro soubory)

Page 4: Úvod do UNIXu ( 3 rd  round)

less, cat

less [options] file1 [file2 … ] umožňuje zpětný pohyb příkazy společné s more a vi pohyb šipkami

cat [options] file1 [file2 … ] nestránkovaný výpis souboru -n

číslování řádek -E

ukazuje na konci řádek $

Page 5: Úvod do UNIXu ( 3 rd  round)

head, tail

head [options] file1 [file2…] prvních 10 řádek souboru -n N

prvních N řádek souboru -c N

prvních N bytů souboru

tail [options] file1 [file2…] posledních 10 řádek souboru -n N

posledních N řádek souboru -c N

posledních N bytů souboru

Page 6: Úvod do UNIXu ( 3 rd  round)

echo, wc

echo [options] string -n

nevypisuje konec řádku wc [options] file1 [file2…]

word count -w

počet slov -l

počet řádek -L

délka nejdelší řádky -c

počet bytů

Page 7: Úvod do UNIXu ( 3 rd  round)

diff

diff [options] file1 file2 difference porovnání obsahu 2 souborů (adresářů) je-li file - , pak se porovnává se standardním vstupem -b

ignoruje počet bílých znaků -B

ignoruje prázdné řádky -C N

na výstupu se zobrazí i N řádek okolí (context) -i

case insensitive -r

rekurzivní porovnávání souborů u adresářů -x pattern

u prohledávání adresářů neporovnává soubory a poadresáře vyhovující pattern diff3

diff pro tři soubory

Page 8: Úvod do UNIXu ( 3 rd  round)

cut

cut [options] file1 [file2…] vyříznutí částí souborů po řádcích -cSEZNAM

pouze znaky ze seznamu -fSEZNAM

pouze pole ze seznamu -dODDELOVAC

definice jednoznakového oddělovače defaultní je TAB

-s pouze řádky obsahující oddělovače

SEZNAM má tvar: 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

Page 9: Úvod do UNIXu ( 3 rd  round)

paste, split

paste [options] file1 [file2…] složí soubory – řádky vedle sebe -dODDELOVAC

split [options] file [prefix] rozdělení souboru po 1000 řádcích do souborů prefixaa, prefixab,

prefixac, … -aN

délka suffixu vzniklých souborů bude N -d

použijí se numerické sufixy -lN

rozděluje se po N řádcích -bN

rozděluje po N bytech -CN

z každého řádku vezme N znaků lze použít v shellovém programování pro parsování proměnných (!)

Page 10: Úvod do UNIXu ( 3 rd  round)

tr

tr [options] mna1 [mna2] translate přeloží, smaže, zmáčkne znaky z mny1 ze standardního vstupu na standardní výstup

-d smaže (delete) znaky z mny1

-s zmáčkne (squeze) posloupnost stejných znaků vyskytujících se v mně1 do jednoho

mna z1z2z3z4-z5z6 – znaky a rozsahy znaků speciální znaky

\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.

Page 11: Úvod do UNIXu ( 3 rd  round)

sort

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

ignoruje úvodní mezery -d

uvažuje pouze mezery a písmena (dictionary) -f

ignoruje velikost písmen -n

numericky – podle hodnoty čísel a ne podle slovníkového pořadí -r

reverse -o file_name

výstup do souboru

Page 12: Úvod do UNIXu ( 3 rd  round)

uniq

uniq [options] [filein [fileout]] obsahuje-li vstup za sebou duplicitní

řádky, pak vypíše pouze jedenkrát -c

prefixuje řádky počtem opakování -u

vypíše pouze neduplicitní (následné) řádky

Page 13: Úvod do UNIXu ( 3 rd  round)

find (1)

vyhledávání souborů find [options] path [expr]

-P nenásledovat symbolické linky (default)

-L následovat symbolické linky

-d nejdříve prohledávat podadresáře

-name pattern vyhledání souborů s daným vzorem (speciální znaky “?*[]”)

-iname pattern case insensitive verze name

-lname pattern soubor je symbolický link, jehož cíl má tvar vzoru

-ilname pattern case insensitive verze lname

-regex pattern soubor odpovídá regulárnímu výrazu

-iregex pattern case insensitive verze regex

-wholename pattern pattern se vztahuje ne pouze k souboru, ale k celé cestě

Page 14: Úvod do UNIXu ( 3 rd  round)

find (2)

-size [+|-]N[unit] c … byty, k … kilobyty, M … megabyty, G … gigabyty

-type d …adresář f … soubor l … symbolický link

-mindepth M, -maxdepth N prohledává od úrovně M, resp. do úrovně N

-amin [+|-]N přístup k souboru naposledy před N minutami

-anewer file soubor je novější, než poslední změna souboru file

-atime [+|-] N přístup k souboru naspoledy před 24*N hodinami

-cmin, -cnewer, -mtime, -mnewer viz. axxx, pro změnu údajů o souboru (c), resp. samotného souboru (m)

-empty prázdný soubor

Page 15: Úvod do UNIXu ( 3 rd  round)

find (3)

-gid N, -uid N GID, resp. UID souboru je N

-group name, -user name soubor patří skupině, resp. uživateli name

-perm mod soubory s právy právě mod (oktalově nebo znakově)

-perm –mod soubory s právem alespoň mod

-perm /mod soubory, kde alespoň jedna skupina splňuje definovaný

mód

Page 16: Úvod do UNIXu ( 3 rd  round)

find (4)

akce -print

vytiskne nalezené soubory (default) -fprint file

vytiskne nalezené soubory do douboru -printf format

vytiskne nalezené soubory v zadané formě (c styl) -ls

vytiskne nalzené soubory v ls formátu -delete

smaže nalezené soubory -prune

nevstoupí do nalezeného adresáře -exec command \;

s nalezenými soubory provede příkaz command (všechny jsou argumentem příkazu)

-exec command {} \; s nalezenými soubory provede příkaz command (po jednom)

Page 17: Úvod do UNIXu ( 3 rd  round)

find (5)

operátory ()

určuje prioritu !, not

negace expr1 expr2, expr1 -a expr2, expr1 –and expr2

musí platit expr1 i expr2 expr1 -o expr2, expr1 –or expr2

platí expr1 nebo expr2 expr1, expr2

provede expr1 a pak expr2

Page 18: Úvod do UNIXu ( 3 rd  round)

find (6)

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 \)

Page 19: Úvod do UNIXu ( 3 rd  round)

xargs

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 jako oddělovač se použije znak Z

-a file parametry se budou číst ze souboru

-i command …{} … {} … opakuje příkaz pro každou řádku se standardního

vstupu a její obsah vloží místo {} ls –1 *.[ch] | xargs –i cp {} {}.bak

Page 20: Úvod do UNIXu ( 3 rd  round)

tar (1)

archivace adresářů tar operation [options] file [dir]

operace -c

create -x

extract -t

list … vypíše obsah archivu -r

append -v

verbose … podrobnější informace o procesu options

-C dir přepnutí do adresáře dir

-f file pracuje se souborem file

-z zabalí/extrahuje za pomozi aplikace gzip

-j zabalí/extrahuje za pomozi aplikace bzip2

Page 21: Úvod do UNIXu ( 3 rd  round)

tar (2)

tar –cf dir.tar dir tar –czf dir.tar.gz dir tar –t –f dir.tar.gz tar –xjf dir.tar.bz2 file tar –xjf dir.tar.bz2 –C dir1/

Page 22: Úvod do UNIXu ( 3 rd  round)

Úkol

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?


Recommended