1 / 22

Úvod do UNIXu ( 3 rd round)

Úvod do UNIXu ( 3 rd round). David Hoksza david.hoksza@mff.cuni.cz. 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

berit
Download Presentation

Úvod do UNIXu ( 3 rd round)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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)

  4. 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 $

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

  6. 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ů

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

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

  9. 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 (!)

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

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

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

  13. 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ě

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

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

  16. 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)

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

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

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

  20. tar (1) • archivace adresářů • taroperation [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

  21. 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/

  22. Ú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?

More Related