Základní příkazy Unixu: Porovnání verzí
(Založení článku) |
(→Ostatní: příloha v mail) |
||
(Není zobrazeno 21 mezilehlých verzí od stejného uživatele.) | |||
Řádka 1: | Řádka 1: | ||
+ | '''Základní příkazy Unixu''' obsahují příkazy, které umožňují efektivně pracovat v příkazovém řádku, zejména při zpracování textových dat. V seznamu jsou postupně představeny různé kategorie příkazů. Text je součástí série článků [[Linux#Práce s Linuxem|Práce s Linuxem]]. Čtenář zde navazuje na předchozí články (zejména [[Příkazový řádek v Unixu]] a [[Základní informace o systému]]). Základní zde uvedené příkazy jsou využity v dalších článcích ([[BASH: Přesměrování]], [[BASH: Kolony]]). | ||
+ | |||
== Příkazy pro práci s adresáři == | == Příkazy pro práci s adresáři == | ||
− | ls [cesta] | + | |
+ | ;ls [cesta]: | ||
* výpis obsahu adresáře | * výpis obsahu adresáře | ||
* přepínače: | * přepínače: | ||
− | ** <TT>-a</TT> vypíše všechny soubory v adresáři včetně souborů, které začínají tečkou (tzv. skryté soubory) | + | ** <TT>-a </TT> vypíše všechny soubory v adresáři včetně souborů, které začínají tečkou (tzv. skryté soubory) |
− | ** -l dlouhý výpis (včetně práv, počet hardlinek, vlastníka, skupiny, délky, času poslední modifikace) | + | ** <TT>-l </TT> dlouhý výpis (včetně práv, počet hardlinek, vlastníka, skupiny, délky, času poslední modifikace) |
− | ** -t setřídí výpis podle data poslední modifikace, od nejnovějších ke starším | + | ** <TT>-t </TT> setřídí výpis podle data poslední modifikace, od nejnovějších ke starším |
− | ** -u setřídí výpis podle času posledního přístupu k souboru, od nejnovějších ke starším | + | ** <TT>-u </TT> setřídí výpis podle času posledního přístupu k souboru, od nejnovějších ke starším |
− | ** -r opačný způsob třídění | + | ** <TT>-r </TT> opačný způsob třídění |
− | ** -F přidat znak k souborům určující jejich typ, normálním nic (spustitelný*, adresář/, symbolická linky@, FIFO|, socket=) | + | ** <TT>-F </TT> přidat znak k souborům určující jejich typ, normálním nic (spustitelný*, adresář/, symbolická linky@, FIFO|, socket=) |
− | ** -R rekurzivní výpis podadresářů | + | ** <TT>-R </TT> rekurzivní výpis podadresářů |
− | ** -L vypsat soubor, na který ukazuje linka místo linky samotné (kombinace -RL jde i za linky) | + | ** <TT>-L </TT> vypsat soubor, na který ukazuje linka místo linky samotné (kombinace -RL jde i za linky) |
− | ** -d vypíše adresáře jako ostaní soubory místo jejich obsahu | + | ** <TT>-d </TT> vypíše adresáře jako ostaní soubory místo jejich obsahu |
− | ** -f netřídit obsah adresáře | + | ** <TT>-f </TT> netřídit obsah adresáře |
− | ** -i vypíše číslo i-nodu každého souboru | + | ** <TT>-i </TT> vypíše číslo i-nodu každého souboru |
− | mkdir [adresář] | + | ;mkdir [adresář]: |
* vytvoření adresáře | * vytvoření adresáře | ||
* přepínače: | * přepínače: | ||
− | ** -p rekurzivní vytváření (více adresářů najednou) | + | ** <TT>-p </TT> rekurzivní vytváření (více adresářů najednou) |
− | rmdir [adresář] | + | ;rmdir [adresář]: |
* smazání adresáře | * smazání adresáře | ||
* adresář musí být prázdný (mazání neprázdných adresářů - viz: rm -r) | * adresář musí být prázdný (mazání neprázdných adresářů - viz: rm -r) | ||
− | cd [adresář] | + | ;cd [adresář]: |
* změna aktuálního adresáře | * změna aktuálního adresáře | ||
* bez parametru přepne do domácího adresáře | * bez parametru přepne do domácího adresáře | ||
− | |||
− | |||
− | |||
− | pwd | + | cd dir přepne do adresáře se jménem <code>dir</code> (absolutní nebo relativní cesta) |
+ | cd .. přepne do nadřízeného adresáře | ||
+ | cd - přepne do adresáře, ve kterém jsme byli naposledy (krok zpět) | ||
+ | cd ~/dir označuje adresář dir ve vlastním domácím adresáři | ||
+ | cd ~huzva označuje domácí adresář uživatele s přihlašovacím jménem huzva | ||
+ | |||
+ | ;pwd: | ||
* výpis aktuálního adresáře | * výpis aktuálního adresáře | ||
− | du | + | ;du: |
* vypíše obsazený prostor (výsledek v kB) | * vypíše obsazený prostor (výsledek v kB) | ||
* přepínače | * přepínače | ||
− | ** -s spočítat jen výsledek za celý podstrom adresářů | + | ** <TT>-s </TT> spočítat jen výsledek za celý podstrom adresářů |
− | ** -h výstup v jednotkách (kB, MB, GB apod.) | + | ** <TT>-h </TT> výstup v jednotkách (kB, MB, GB apod.) |
== Příkazy pro práci se soubory == | == Příkazy pro práci se soubory == | ||
− | cp [soubor1] [cílové_jméno] | + | ;cp [soubor1] [cílové_jméno] |
− | cp [soubor1] [soubor2] [soubor3] ... [cílový adresář] | + | ;cp [soubor1] [soubor2] [soubor3] ... [cílový adresář]: |
* kopírování souboru(ů), cíl musí být vždy uveden (tečka označuje aktuální adresář) | * kopírování souboru(ů), cíl musí být vždy uveden (tečka označuje aktuální adresář) | ||
* přepínače: | * přepínače: | ||
− | ** -r rekurzivní kopírování podadresářů | + | ** <TT>-r </TT> rekurzivní kopírování podadresářů |
− | ** -i interaktivní (při přepisu souboru se ptá) | + | ** <TT>-i </TT> interaktivní (při přepisu souboru se ptá) |
− | ** -a zachovává čas, vlastníka, skupinu, přístupová práva (používá se k archivaci) | + | ** <TT>-a </TT> zachovává čas, vlastníka, skupinu, přístupová práva (používá se k archivaci) |
− | mv [původní_jméno] [nové_jméno] | + | ;mv [původní_jméno] [nové_jméno]: |
* přejmenování souboru a jeho případný přesun | * přejmenování souboru a jeho případný přesun | ||
* přesouvat adresáře lze jen v rámci jednoho filesystému (jednoho oddílu, resp. partition - jinak je nutné soubory kopírovat) | * přesouvat adresáře lze jen v rámci jednoho filesystému (jednoho oddílu, resp. partition - jinak je nutné soubory kopírovat) | ||
− | rm [soubor] | + | ;rm [soubor]: |
* smazání souboru | * smazání souboru | ||
* přepínače: | * přepínače: | ||
− | ** -i interaktivní (každé mazání bude vyžadovat souhlas uživatele) | + | ** <TT>-i </TT> interaktivní (každé mazání bude vyžadovat souhlas uživatele) |
− | ** -f na nic se neptej a mazej | + | ** <TT>-f </TT> na nic se neptej a mazej |
− | ** -r rekurzivní mazání včetně podadresářů | + | ** <TT>-r </TT> rekurzivní mazání včetně podadresářů |
− | |||
− | |||
− | |||
− | hexdump [soubor] | + | SMRTELNÉ: rm -rf .* (vyhoví i dvě tečky - příkaz maže i v nadřízených adresářích) |
+ | SPRÁVNĚ: rm -rf .[^.]* | ||
+ | |||
+ | ;hexdump [soubor]: | ||
* hexadecimální výpis bajtů v souboru | * hexadecimální výpis bajtů v souboru | ||
* přepínače: | * přepínače: | ||
− | ** -C kromě hexadecimálního výstupu vypíše i ASCII reprezentaci znaků (kromě řídících znaků) | + | ** <TT>-C </TT> kromě hexadecimálního výstupu vypíše i ASCII reprezentaci znaků (kromě řídících znaků) |
+ | |||
+ | ;find [adresář] [podmínka] [operace]: | ||
+ | * rekurzivní prohledávání stromu adresářů a souborů | ||
+ | * podmínka: | ||
+ | ** <TT>-name </TT> soubor nalezení souboru dle jména. Lze použít metaznaky *,?,[], musí však být uzavřeny do apostrofů nebo uvozovek nebo uvozeny zpětným lomítkem, aby byly interpretovány příkazem find a ne expandovány shellem. Varianta -iname soubor ignoruje velká/malá písmena | ||
+ | ** <TT>-user </TT> jméno hledá se soubor, jehož vlastníkem je uživatel jméno | ||
+ | ** <TT>-type </TT> typ hledá soubory daného typu, kde typ nabývá hodnoty: | ||
+ | *** <TT>f </TT> obyčejný soubor | ||
+ | *** <TT>d </TT> adresář | ||
+ | *** <TT>l </TT> linka | ||
+ | ** <TT>-atime n </TT> hledají se soubory, ke kterým bylo před n dny naposledy přistupováno | ||
+ | ** <TT>-mtime n </TT> hledají se soubory, do kterých byl před n dny proveden poslední zápis | ||
+ | ** <TT>-links n </TT> hledá se soubor se specifikovaným počtem odkazů (linků) | ||
+ | ** <TT>-size n </TT> hledají se soubory o velikosti n jednotek, kde jednotka je standardně 512 bajtů nebo se dá určit písmenem, které následuje těsně za číslem: | ||
+ | *** <TT>c </TT> v bajtech | ||
+ | *** <TT>k </TT> v kilobajtech | ||
+ | ** <TT>-a </TT> operátor logického součinu ("a") | ||
+ | ** <TT>-o </TT> operátor logického součtu ("nebo") | ||
+ | ** <TT>! </TT> negace | ||
+ | * pokud je před číselným výrazem (výše označeno jako n) uveden znak + (plus), znamená to že se budou hledat soubory, u nichž kritérium přesahuje danou hodnotu. Pokud je před číselným výrazem znak - (mínus), budou se hledat soubory s kritériem nedosahujícím danou hodnotu. | ||
+ | * operace: | ||
+ | ** <TT>-print </TT> zobrazení jmen souborů, které byly vybrány (GNU find nalezené soubory zobrazuje i bez tohoto parametru) | ||
+ | ** <TT>-exec příkaz </TT> se soubory vybranými podle kritéria bude proveden uvedený příkaz, ve kterém znaky {} reprezentují jméno vybraného souboru, text příkazu musí být ukončen mezerou, zpětným lomítkem a středníkem \; | ||
+ | |||
+ | # nalezení souborů, které mají v názvu obsažen řetězec „conn“ | ||
+ | find /proc -name \*conn\* | ||
+ | # nalezení souborů, které byly čteny nejdéle před 60 minutami | ||
+ | find /etc -type f -amin -60 | ||
+ | # vypsání adresářů, které nepatří skupině „root“ | ||
+ | find /etc -type d -not -group root -exec ls -ld {} \; | ||
== Textové utility == | == Textové utility == | ||
− | cat [soubor] | + | ;cat [soubor]: |
* vypsání obsahu souboru | * vypsání obsahu souboru | ||
+ | * přepínače: | ||
+ | ** <TT>-n </TT> očíslovat na výstupu řádky (viz též příkaz <code>nl</code>) | ||
− | tac [soubor] | + | ;tac [soubor]: |
* vypsání obsahu souboru s obráceným pořadím řádků | * vypsání obsahu souboru s obráceným pořadím řádků | ||
− | head [soubor] | + | ;head [soubor]: |
* výpis začátku souboru (stadardně 10 řádků) | * výpis začátku souboru (stadardně 10 řádků) | ||
* přepínače: | * přepínače: | ||
− | ** <TT>-číslo počet</TT> vypsaných řádků od začátku souboru | + | ** <TT>-číslo počet </TT> vypsaných řádků od začátku souboru |
− | ** <TT>-c číslo</TT> počet vypsaných bajtů od začátku souboru | + | ** <TT>-c číslo </TT> počet vypsaných bajtů od začátku souboru |
− | tail [soubor] | + | ;tail [soubor]: |
* výpis konce souboru (stadardně 10 řádků) | * výpis konce souboru (stadardně 10 řádků) | ||
* přepínače: | * přepínače: | ||
− | ** -číslo počet vypsaných řádků od konce souboru | + | ** <TT>-číslo </TT> počet vypsaných řádků od konce souboru |
− | ** -cčíslo počet vypsaných bajtů od konce souboru | + | ** <TT>-cčíslo </TT> počet vypsaných bajtů od konce souboru |
− | ** -f na konci souboru čekej a zobrazuj přírustky | + | ** <TT>-f </TT> na konci souboru čekej a zobrazuj přírustky |
− | file [soubor] | + | ;file [soubor]: |
* určí typ souboru podle jeho obsahu (spustitelný, GIF, ZIP, text, prázdný, linka, ...) | * určí typ souboru podle jeho obsahu (spustitelný, GIF, ZIP, text, prázdný, linka, ...) | ||
− | * definice typů je v souboru /etc/magic | + | * definice typů je v souboru <TT>/etc/magic</TT> (resp. <TT>/usr/share/magic</TT>) |
− | stat [soubor] | + | ;stat [soubor]: |
* vypíše obsah inodu (vlastník, poslední změna souboru a inodu, velikost, přístupová práva, atd.) | * vypíše obsah inodu (vlastník, poslední změna souboru a inodu, velikost, přístupová práva, atd.) | ||
− | strings [soubor] | + | ;strings [soubor]: |
* vypíše řetězce z binárního souboru | * vypíše řetězce z binárního souboru | ||
− | wc [soubor] | + | ;wc [soubor]: |
* vypíše počet řádků, slov a písmen v souboru | * vypíše počet řádků, slov a písmen v souboru | ||
* přepínače: | * přepínače: | ||
− | ** -l počet řádků | + | ** <TT>-l </TT> počet řádků |
− | ** -w počet slov | + | ** <TT>-w </TT> počet slov |
− | ** -c počet znaků | + | ** <TT>-c </TT> počet znaků |
− | touch [soubor] | + | ;touch [soubor]: |
* mění datum poslední modifikace souboru | * mění datum poslední modifikace souboru | ||
* když soubor neexistuje, je vytvořen nový s nulovou délkou | * když soubor neexistuje, je vytvořen nový s nulovou délkou | ||
* přepínače: | * přepínače: | ||
− | ** -t MMDDhhmm[[SS]RR][.ss] použít tento čas | + | ** <TT>-t MMDDhhmm[[SS]RR][.ss] </TT> použít tento čas |
− | cut [soubor] | + | ;cut [soubor]: |
* vertikální řez souborem | * vertikální řez souborem | ||
* přepínače: | * přepínače: | ||
− | ** -bpozice pozice vyříznutí podle sloupců počítáno od 1 | + | ** <TT>-bpozice </TT> pozice vyříznutí podle sloupců počítáno od 1 |
− | ** -fpoložky položky (implicitní oddělovač je tabelátor) | + | ** <TT>-fpoložky </TT> položky (implicitní oddělovač je tabelátor) |
− | ** -dznak definuje znak jako oddělovač položek (tj. jiný, než tabelátor) | + | ** <TT>-dznak </TT> definuje znak jako oddělovač položek (tj. jiný, než tabelátor) |
* tvar seznamu položek (pozic): | * tvar seznamu položek (pozic): | ||
− | ** 2-5 druhá až pátá položka (pozice) | + | ** <TT>2-5 </TT> druhá až pátá položka (pozice) |
− | ** -5 první až pátá položka (pozice) | + | ** <TT>-5 </TT> první až pátá položka (pozice) |
− | ** 1,7 první a sedmá položka | + | ** <TT>1,7 </TT> první a sedmá položka |
− | nl [soubor] | + | ;nl [soubor]: |
* očíslovat řádky souboru (výstupu) | * očíslovat řádky souboru (výstupu) | ||
− | join [soubor1] [soubor2] | + | ;join [soubor1] [soubor2]: |
* tiskne na výstup odpovídající řádky obou souborů podle společné identifikace | * tiskne na výstup odpovídající řádky obou souborů podle společné identifikace | ||
* přepínače: | * přepínače: | ||
− | ** -1 sloupec z prvního souboru slučovat podle identifikace ze zadaného sloupce | + | ** <TT>-1 </TT> sloupec z prvního souboru slučovat podle identifikace ze zadaného sloupce |
− | ** -2 sloupec z druhého souboru slučovat podle identifikace ze zadaného sloupce | + | ** <TT>-2 </TT> sloupec z druhého souboru slučovat podle identifikace ze zadaného sloupce |
− | ** -t oddělovač použít jiný oddělovač v vstupních a výstupních souborech | + | ** <TT>-t </TT> oddělovač použít jiný oddělovač v vstupních a výstupních souborech |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Filtry == | == Filtry == | ||
− | less [soubor] ... | + | ;less [soubor] ...: |
* vstup opisuje na výstup po stránkách, lepší a novější varianta příkazu more | * vstup opisuje na výstup po stránkách, lepší a novější varianta příkazu more | ||
* název je slovní hříčka: program méně umí více, než program více, který toho umí méně, než program méně (more znamená anglicky více a less znamená méně) | * název je slovní hříčka: program méně umí více, než program více, který toho umí méně, než program méně (more znamená anglicky více a less znamená méně) | ||
* ovládací klávesy: | * ovládací klávesy: | ||
− | ** mezera posun o stránku vpřed | + | ** <TT>mezera </TT> posun o stránku vpřed |
− | ** b posun o stránku zpět | + | ** <TT>b </TT> posun o stránku zpět |
− | ** q konec programu | + | ** <TT>q </TT> konec programu |
− | ** :n skočí na následující soubor uvedený na příkazové řádce | + | ** <TT>:n </TT> skočí na následující soubor uvedený na příkazové řádce |
− | ** /řetězec hledat řetězec směrem dopředu | + | ** <TT>/řetězec </TT> hledat řetězec směrem dopředu |
− | ** ?řetězec hledat řetězec směrem dozadu | + | ** <TT>?řetězec </TT> hledat řetězec směrem dozadu |
− | ** n hledat další výskyt řetězce (v původním směru hledání) | + | ** <TT>n </TT> hledat další výskyt řetězce (v původním směru hledání) |
− | ** N hledat další výskyt řetězce v opačném směru, než bylo zadáno původní hledání | + | ** <TT>N </TT> hledat další výskyt řetězce v opačném směru, než bylo zadáno původní hledání |
− | ** F čeká a zobrazuje přírustky v souboru - obdoba příkazu tail -f soubor | + | ** <TT>F </TT> čeká a zobrazuje přírustky v souboru - obdoba příkazu tail -f soubor |
− | dos2unix | + | ;dos2unix: |
* provádí konverzi DOSového formátu konce řádku - znaky CR (Carriage Return - návrat vozíku tiskárny, kód 0x0D hexadecimálně, resp. 13 decimálně) a LF (Line Feed - posun papíru v tiskárně o jeden řádek, tj. 0x0A hexadecimálně, resp. 10 decimálně) do formátu konce řádků v Unixu (jen znak CR) | * provádí konverzi DOSového formátu konce řádku - znaky CR (Carriage Return - návrat vozíku tiskárny, kód 0x0D hexadecimálně, resp. 13 decimálně) a LF (Line Feed - posun papíru v tiskárně o jeden řádek, tj. 0x0A hexadecimálně, resp. 10 decimálně) do formátu konce řádků v Unixu (jen znak CR) | ||
− | + | dos2unix soubor.txt | |
− | + | dos2unix < soubor.dos > soubor.unx | |
− | unix2dos | + | ;unix2dos: |
* provádí konverzi z Unixového formátu konce řádku (znak LF) na formát DOSu (znaky CR a LF) | * provádí konverzi z Unixového formátu konce řádku (znak LF) na formát DOSu (znaky CR a LF) | ||
− | tee [soubor] | + | ;tee [soubor]: |
* filtr - opisuje vstup do souboru a zároveň na obrazovku | * filtr - opisuje vstup do souboru a zároveň na obrazovku | ||
* přepínače: | * přepínače: | ||
− | ** -a nový text se připojí na konec souboru | + | ** <TT>-a </TT> nový text se připojí na konec souboru |
− | sort [+číslo] [přepínače] [soubor] | + | ;sort [+číslo] [přepínače] [soubor]: |
* filtr - třídění vstupu | * filtr - třídění vstupu | ||
* přepínače: | * přepínače: | ||
− | ** -n setřídění numerické (pokud jsou číselné hodnoty) | + | ** <TT>-n </TT> setřídění numerické (pokud jsou číselné hodnoty) |
− | ** -r setřídění sestupné | + | ** <TT>-r </TT> setřídění sestupné |
− | ** -b ignorovat počáteční mezery | + | ** <TT>-b </TT> ignorovat počáteční mezery |
− | ** -f nebudou se rozlišovat malá a velká písmena (velká písmena jsou převáděna na malá) | + | ** <TT>-f </TT> nebudou se rozlišovat malá a velká písmena (velká písmena jsou převáděna na malá) |
− | ** -k číslo určuje sloupec, od kterého se posuzuje pořadí při třídění (číslovány od 1) | + | ** <TT>-k </TT> číslo určuje sloupec, od kterého se posuzuje pořadí při třídění (číslovány od 1) |
− | ** -k číslo1,číslo2 určuje rozsah sloupců pro třídění | + | ** <TT>-k </TT> číslo1,číslo2 určuje rozsah sloupců pro třídění |
− | ** -tznak určení znaku, který odděluje jednotlivé sloupce | + | ** <TT>-tznak </TT> určení znaku, který odděluje jednotlivé sloupce |
− | ** -u z výstupního souboru budou vyloučeny duplicitní řádky (pro posouzení duplicit se porovnávají pouze klíče) | + | ** <TT>-u </TT> z výstupního souboru budou vyloučeny duplicitní řádky (pro posouzení duplicit se porovnávají pouze klíče) |
− | uniq [paramery] [soubor] | + | ;uniq [paramery] [soubor]: |
* filtr - odstraňuje duplicitní řádky ze setříděného vstupu | * filtr - odstraňuje duplicitní řádky ze setříděného vstupu | ||
* přepínače: | * přepínače: | ||
− | ** -číslo přeskočí se zadaný počet řádků od začátku | + | ** <TT>-číslo </TT> přeskočí se zadaný počet řádků od začátku |
− | ** -u budou se vypisovat pouze řádky, které nejsou duplicitní | + | ** <TT>-u </TT> budou se vypisovat pouze řádky, které nejsou duplicitní |
− | ** -d budou se vypisovat pouze řádky, které jsou duplicitní | + | ** <TT>-d </TT> budou se vypisovat pouze řádky, které jsou duplicitní |
− | ** -c na začátku každého řádku se vypíše počet výskytů | + | ** <TT>-c </TT> na začátku každého řádku se vypíše počet výskytů |
− | grep [výraz] [soubor] | + | ;grep [výraz] [soubor]: |
* hledá výraz v souboru a vypisuje řádky, které ho obsahují | * hledá výraz v souboru a vypisuje řádky, které ho obsahují | ||
* přepínače: | * přepínače: | ||
− | ** -c vypíše počet řádků, ve kterých byl nalezen vzor | + | ** <TT>-c </TT> vypíše počet řádků, ve kterých byl nalezen vzor |
− | ** -i ignoruje rozdíly mezi malými a velkými písmeny | + | ** <TT>-i </TT> ignoruje rozdíly mezi malými a velkými písmeny |
− | ** -l zobrazuje pouze jména souborů, ve kterých byl nalezen vzor | + | ** <TT>-l </TT> zobrazuje pouze jména souborů, ve kterých byl nalezen vzor |
− | ** -n zobrazí čísla řádků obsahujících vzor | + | ** <TT>-n </TT> zobrazí čísla řádků obsahujících vzor |
− | ** -s potlačen chybový výstup | + | ** <TT>-s </TT> potlačen chybový výstup |
− | ** -v vypíše řádky neobsahující vzor | + | ** <TT>-v </TT> vypíše řádky neobsahující vzor |
− | ** -r rekurzivní hledání v podadresářích | + | ** <TT>-r </TT> rekurzivní hledání v podadresářích |
− | ** -q nalezený řádek se nevypisuje - používá se např. v testech ve skriptech, kde jen testujeme návratový kód, tj. nalezeno - pravda (0), nenalezeno - nepravda (1) | + | ** <TT>-q </TT> nalezený řádek se nevypisuje - používá se např. v testech ve skriptech, kde jen testujeme návratový kód, tj. nalezeno - pravda (0), nenalezeno - nepravda (1) |
* při specifikaci hledaného řetězce lze použít regulární výraz, ve kterém lze použít následující speciální znaky (doporučuji zapisovat regulární výraz do uvozovek či apostrofů): | * při specifikaci hledaného řetězce lze použít regulární výraz, ve kterém lze použít následující speciální znaky (doporučuji zapisovat regulární výraz do uvozovek či apostrofů): | ||
− | + | ^ začátek řádku | |
− | + | $ konec řádku | |
− | + | . libovolný znak | |
− | + | * libovolný počet opakování předchozího znaku | |
− | + | [] právě jeden znak z množiny znaků uvedených v těchto závorkách, při specifikaci lze použít následující dva speciální znaky: | |
− | + | - používá se pro označení intervalu znaků z množiny ASCII (např. a-z, 0-9) | |
− | + | ^ negace výčtu znaků | |
− | + | \ potlačení speciálního významu následujícího znaku | |
+ | |||
+ | Příklady regulárních výrazů: | ||
− | + | ^# řádky začínající znakem křížek (hash) | |
+ | ^$ prázdné řádky | ||
+ | ^.$ řádky obsahující právě jeden znak | ||
+ | ^[a-z]*$ řádky obsahující pouze malá písmena | ||
+ | \.[0-9] výraz označuje tečku následovanou číslicí | ||
− | + | Příklady použití: | |
− | + | ||
− | + | grep '[hs]d[a-z]$' /proc/partitions # vypíše seznam pevných disků a jejich velikostí (v KiB) | |
− | + | ||
− | + | ;iconv: | |
+ | * filtr - konverze kódování | ||
+ | * přepínače: | ||
+ | ** <TT>-l </TT> vypíše seznam kódování (cp1250, utf8, iso8859-2, …) | ||
+ | ** <TT>-f xx</TT> kódování znaků na vstupu (zadejte místo „xx“) | ||
+ | ** <TT>-t </TT> kódování znaků na výstupu | ||
+ | |||
+ | Příklady použití: | ||
+ | |||
+ | iconv -f cp1250 -t utf8 < vstup.txt > vystup.txt | ||
== Porovnávání souborů == | == Porovnávání souborů == | ||
− | cmp | + | |
+ | ;cmp: | ||
* porovnává dva soubory po jednotlivých bajtech, ohlásí první rozdílný bajt | * porovnává dva soubory po jednotlivých bajtech, ohlásí první rozdílný bajt | ||
* přepínače: | * přepínače: | ||
− | ** -s potlačení výstupu o nalezených odchylkách | + | ** <TT>-s </TT> potlačení výstupu o nalezených odchylkách |
− | diff soubor1 soubor2 | + | ;diff soubor1 soubor2: |
* porovnává dva soubory po jednotlivých řádcích a hledá rozdíly mezi nimi | * porovnává dva soubory po jednotlivých řádcích a hledá rozdíly mezi nimi | ||
− | * vypisuje změněné řádky, výstup se používá jako vstup pro program patch | + | * vypisuje změněné řádky, výstup se používá jako vstup pro program <code>patch</code> |
* přepínače: | * přepínače: | ||
− | ** -u unifikovaný výstup (používá se nejčastěji, modifikované řádky jsou odlišeny znaky plus a mínus, které vyjadřují, zda byl řádek smazán nebo přidán; změněné řádky jsou obklopeny původními,aby se při použití programu patch poznalo, je-li zpracovávaný soubor ve stavu, který byl zachycen programem diff) | + | ** <TT>-u </TT> unifikovaný výstup (používá se nejčastěji, modifikované řádky jsou odlišeny znaky plus a mínus, které vyjadřují, zda byl řádek smazán nebo přidán; změněné řádky jsou obklopeny původními,aby se při použití programu <code>patch</code> poznalo, je-li zpracovávaný soubor ve stavu, který byl zachycen programem diff) |
− | ** -r rekurzivní běh | + | ** <TT>-r </TT> rekurzivní běh |
− | ** -N zahrnuty i nové soubory | + | ** <TT>-N </TT> zahrnuty i nové soubory |
* popis standardního výstupu programu (unifikovaný formát viz výše): | * popis standardního výstupu programu (unifikovaný formát viz výše): | ||
− | Ve výpisu je nejdříve údaj o typu a rozsahu nalezených změn, poté následuje výpis řádek z obou souborů: znak | + | Ve výpisu je nejdříve údaj o typu a rozsahu nalezených změn, poté následuje výpis řádek z obou souborů: znak < označuje řádky prvého souboru, znak > označuje řádky druhého souboru. Údaj o typu a rozsahu změn má tuto strukturu m x n, kde: |
− | + | m označuje čísla řádek prvního souboru | |
− | + | n označuje čísla řádek druhého souboru | |
− | + | x může nabývat hodnot: | |
− | + | a přidání řádků k prvnímu souboru | |
− | + | d zrušení řádků z druhého souboru | |
− | + | c změna znaků na řádcích | |
Např. zápis 8,20 c 8,22 označuje že na řádcích 8 až 20 z prvního souboru byly provedeny změny, které jsou zapsány na řádcích 8 až 22 druhého souboru (současně byly dva řádky vloženy). | Např. zápis 8,20 c 8,22 označuje že na řádcích 8 až 20 z prvního souboru byly provedeny změny, které jsou zapsány na řádcích 8 až 22 druhého souboru (současně byly dva řádky vloženy). | ||
− | comm [-123] soubor1 soubor2 | + | ;comm [-123] soubor1 soubor2: |
− | |||
* zjišťuje, které řádky ve dvou setříděných souborech jsou stejné | * zjišťuje, které řádky ve dvou setříděných souborech jsou stejné | ||
* výstup obsahuje tři vzájemně se prolínající sloupce s následujícím významem: | * výstup obsahuje tři vzájemně se prolínající sloupce s následujícím významem: | ||
Řádka 271: | Řádka 299: | ||
** 3. sloupce - řádek je v obou souborech | ** 3. sloupce - řádek je v obou souborech | ||
* přepínače: | * přepínače: | ||
− | ** -123 potlačí výstup příslušného sloupce (např. -13 propustí na standardní výstup pouze druhý sloupec) | + | ** <TT>-123 </TT> potlačí výstup příslušného sloupce (např. -13 propustí na standardní výstup pouze druhý sloupec) |
+ | |||
+ | ;patch: | ||
+ | * nástroj na zahrnutí změn podle výstupu nástroje <code>diff</code> do zvoleného souboru | ||
+ | ** <TT>-b přípona</TT> uložit zálohu souboru s udanou příponou | ||
+ | ** <TT>-R </TT> reverzní změna (též pokud někdo porovnal příkazem <code>diff</code> soubory obráceně) | ||
+ | |||
+ | == Ostatní == | ||
+ | |||
+ | ;clear: | ||
+ | * smazání obrazovky (lze použít i kombinaci kláves CTRL+l) | ||
+ | |||
+ | ;mail příjemce: | ||
+ | * odeslání e-mailu, parametrem je e-mailová adresa příjemce | ||
+ | * nejsou-li poskytnuty potřebné údaje, přepne se do interaktivního režimu, a v něm se zeptá na příjemce, subjekt a tělo e-mailu | ||
+ | ** subjekt a příjemce je možné specifikovat na příkazovém řádku | ||
+ | ** tělo e-mailu lze předat na standardní vstup | ||
+ | * přepínače: | ||
+ | ** <code>-s </code> určení subjektu (víceslovný do uvozovek) | ||
+ | ** <code>-a </code> určení souboru s přílohou, lze opakovat pro zadání více příloh (podpora jen v novějších verzích příkazu <code>mail</code>) | ||
+ | |||
+ | mail -s "Test 1" rene.huzva@pslib.cz < /etc/motd # tělo je soubor /etc/motd | ||
+ | echo Tělo e-mailu | mail -s "Test 2" rene.huzva@pslib.cz # tělo je standardní vstup skrze rouru od příkazu echo | ||
+ | |||
+ | ;mutt: | ||
+ | * klient pro čtení/posílání elektronické pošty | ||
+ | * příjemce je zadán jako parametr | ||
+ | ** <code>-s </code> určení subjektu (víceslovný do uvozovek) | ||
+ | ** <code>-a </code> určení souboru s přílohou, lze opakovat pro zadání více příloh | ||
+ | * pokud je <code>mutt</code> spuštěn v interaktivním režimu, spouští se pro vytvoření zprávy standardně editor VI, a proto je vhodné před spuštěním nastavit proměnnou prostředí <code>EDITOR</code> (nebo <code>VISUAL</code>) | ||
+ | |||
+ | mutt -s "Test 2" -a /etc/passwd rene.huzva@pslib.cz < telo-emailu.txt | ||
+ | export EDITOR=mcedit | ||
+ | mutt -s "Test 2" -a /etc/passwd rene.huzva@pslib.cz | ||
+ | |||
+ | [[Kategorie:Práce s Linuxem]] |
Aktuální verze z 27. 2. 2015, 08:43
Základní příkazy Unixu obsahují příkazy, které umožňují efektivně pracovat v příkazovém řádku, zejména při zpracování textových dat. V seznamu jsou postupně představeny různé kategorie příkazů. Text je součástí série článků Práce s Linuxem. Čtenář zde navazuje na předchozí články (zejména Příkazový řádek v Unixu a Základní informace o systému). Základní zde uvedené příkazy jsou využity v dalších článcích (BASH: Přesměrování, BASH: Kolony).
Obsah
Příkazy pro práci s adresáři
- ls [cesta]
- výpis obsahu adresáře
- přepínače:
- -a vypíše všechny soubory v adresáři včetně souborů, které začínají tečkou (tzv. skryté soubory)
- -l dlouhý výpis (včetně práv, počet hardlinek, vlastníka, skupiny, délky, času poslední modifikace)
- -t setřídí výpis podle data poslední modifikace, od nejnovějších ke starším
- -u setřídí výpis podle času posledního přístupu k souboru, od nejnovějších ke starším
- -r opačný způsob třídění
- -F přidat znak k souborům určující jejich typ, normálním nic (spustitelný*, adresář/, symbolická linky@, FIFO|, socket=)
- -R rekurzivní výpis podadresářů
- -L vypsat soubor, na který ukazuje linka místo linky samotné (kombinace -RL jde i za linky)
- -d vypíše adresáře jako ostaní soubory místo jejich obsahu
- -f netřídit obsah adresáře
- -i vypíše číslo i-nodu každého souboru
- mkdir [adresář]
- vytvoření adresáře
- přepínače:
- -p rekurzivní vytváření (více adresářů najednou)
- rmdir [adresář]
- smazání adresáře
- adresář musí být prázdný (mazání neprázdných adresářů - viz: rm -r)
- cd [adresář]
- změna aktuálního adresáře
- bez parametru přepne do domácího adresáře
cd dir přepne do adresáře se jménem dir
(absolutní nebo relativní cesta)
cd .. přepne do nadřízeného adresáře
cd - přepne do adresáře, ve kterém jsme byli naposledy (krok zpět)
cd ~/dir označuje adresář dir ve vlastním domácím adresáři
cd ~huzva označuje domácí adresář uživatele s přihlašovacím jménem huzva
- pwd
- výpis aktuálního adresáře
- du
- vypíše obsazený prostor (výsledek v kB)
- přepínače
- -s spočítat jen výsledek za celý podstrom adresářů
- -h výstup v jednotkách (kB, MB, GB apod.)
Příkazy pro práci se soubory
- cp [soubor1] [cílové_jméno]
- cp [soubor1] [soubor2] [soubor3] ... [cílový adresář]
- kopírování souboru(ů), cíl musí být vždy uveden (tečka označuje aktuální adresář)
- přepínače:
- -r rekurzivní kopírování podadresářů
- -i interaktivní (při přepisu souboru se ptá)
- -a zachovává čas, vlastníka, skupinu, přístupová práva (používá se k archivaci)
- mv [původní_jméno] [nové_jméno]
- přejmenování souboru a jeho případný přesun
- přesouvat adresáře lze jen v rámci jednoho filesystému (jednoho oddílu, resp. partition - jinak je nutné soubory kopírovat)
- rm [soubor]
- smazání souboru
- přepínače:
- -i interaktivní (každé mazání bude vyžadovat souhlas uživatele)
- -f na nic se neptej a mazej
- -r rekurzivní mazání včetně podadresářů
SMRTELNÉ: rm -rf .* (vyhoví i dvě tečky - příkaz maže i v nadřízených adresářích) SPRÁVNĚ: rm -rf .[^.]*
- hexdump [soubor]
- hexadecimální výpis bajtů v souboru
- přepínače:
- -C kromě hexadecimálního výstupu vypíše i ASCII reprezentaci znaků (kromě řídících znaků)
- find [adresář] [podmínka] [operace]
- rekurzivní prohledávání stromu adresářů a souborů
- podmínka:
- -name soubor nalezení souboru dle jména. Lze použít metaznaky *,?,[], musí však být uzavřeny do apostrofů nebo uvozovek nebo uvozeny zpětným lomítkem, aby byly interpretovány příkazem find a ne expandovány shellem. Varianta -iname soubor ignoruje velká/malá písmena
- -user jméno hledá se soubor, jehož vlastníkem je uživatel jméno
- -type typ hledá soubory daného typu, kde typ nabývá hodnoty:
- f obyčejný soubor
- d adresář
- l linka
- -atime n hledají se soubory, ke kterým bylo před n dny naposledy přistupováno
- -mtime n hledají se soubory, do kterých byl před n dny proveden poslední zápis
- -links n hledá se soubor se specifikovaným počtem odkazů (linků)
- -size n hledají se soubory o velikosti n jednotek, kde jednotka je standardně 512 bajtů nebo se dá určit písmenem, které následuje těsně za číslem:
- c v bajtech
- k v kilobajtech
- -a operátor logického součinu ("a")
- -o operátor logického součtu ("nebo")
- ! negace
- pokud je před číselným výrazem (výše označeno jako n) uveden znak + (plus), znamená to že se budou hledat soubory, u nichž kritérium přesahuje danou hodnotu. Pokud je před číselným výrazem znak - (mínus), budou se hledat soubory s kritériem nedosahujícím danou hodnotu.
- operace:
- -print zobrazení jmen souborů, které byly vybrány (GNU find nalezené soubory zobrazuje i bez tohoto parametru)
- -exec příkaz se soubory vybranými podle kritéria bude proveden uvedený příkaz, ve kterém znaky {} reprezentují jméno vybraného souboru, text příkazu musí být ukončen mezerou, zpětným lomítkem a středníkem \;
# nalezení souborů, které mají v názvu obsažen řetězec „conn“ find /proc -name \*conn\* # nalezení souborů, které byly čteny nejdéle před 60 minutami find /etc -type f -amin -60 # vypsání adresářů, které nepatří skupině „root“ find /etc -type d -not -group root -exec ls -ld {} \;
Textové utility
- cat [soubor]
- vypsání obsahu souboru
- přepínače:
- -n očíslovat na výstupu řádky (viz též příkaz
nl
)
- -n očíslovat na výstupu řádky (viz též příkaz
- tac [soubor]
- vypsání obsahu souboru s obráceným pořadím řádků
- head [soubor]
- výpis začátku souboru (stadardně 10 řádků)
- přepínače:
- -číslo počet vypsaných řádků od začátku souboru
- -c číslo počet vypsaných bajtů od začátku souboru
- tail [soubor]
- výpis konce souboru (stadardně 10 řádků)
- přepínače:
- -číslo počet vypsaných řádků od konce souboru
- -cčíslo počet vypsaných bajtů od konce souboru
- -f na konci souboru čekej a zobrazuj přírustky
- file [soubor]
- určí typ souboru podle jeho obsahu (spustitelný, GIF, ZIP, text, prázdný, linka, ...)
- definice typů je v souboru /etc/magic (resp. /usr/share/magic)
- stat [soubor]
- vypíše obsah inodu (vlastník, poslední změna souboru a inodu, velikost, přístupová práva, atd.)
- strings [soubor]
- vypíše řetězce z binárního souboru
- wc [soubor]
- vypíše počet řádků, slov a písmen v souboru
- přepínače:
- -l počet řádků
- -w počet slov
- -c počet znaků
- touch [soubor]
- mění datum poslední modifikace souboru
- když soubor neexistuje, je vytvořen nový s nulovou délkou
- přepínače:
- -t MMDDhhmm[[SS]RR][.ss] použít tento čas
- cut [soubor]
- vertikální řez souborem
- přepínače:
- -bpozice pozice vyříznutí podle sloupců počítáno od 1
- -fpoložky položky (implicitní oddělovač je tabelátor)
- -dznak definuje znak jako oddělovač položek (tj. jiný, než tabelátor)
- tvar seznamu položek (pozic):
- 2-5 druhá až pátá položka (pozice)
- -5 první až pátá položka (pozice)
- 1,7 první a sedmá položka
- nl [soubor]
- očíslovat řádky souboru (výstupu)
- join [soubor1] [soubor2]
- tiskne na výstup odpovídající řádky obou souborů podle společné identifikace
- přepínače:
- -1 sloupec z prvního souboru slučovat podle identifikace ze zadaného sloupce
- -2 sloupec z druhého souboru slučovat podle identifikace ze zadaného sloupce
- -t oddělovač použít jiný oddělovač v vstupních a výstupních souborech
Filtry
- less [soubor] ...
- vstup opisuje na výstup po stránkách, lepší a novější varianta příkazu more
- název je slovní hříčka: program méně umí více, než program více, který toho umí méně, než program méně (more znamená anglicky více a less znamená méně)
- ovládací klávesy:
- mezera posun o stránku vpřed
- b posun o stránku zpět
- q konec programu
- :n skočí na následující soubor uvedený na příkazové řádce
- /řetězec hledat řetězec směrem dopředu
- ?řetězec hledat řetězec směrem dozadu
- n hledat další výskyt řetězce (v původním směru hledání)
- N hledat další výskyt řetězce v opačném směru, než bylo zadáno původní hledání
- F čeká a zobrazuje přírustky v souboru - obdoba příkazu tail -f soubor
- dos2unix
- provádí konverzi DOSového formátu konce řádku - znaky CR (Carriage Return - návrat vozíku tiskárny, kód 0x0D hexadecimálně, resp. 13 decimálně) a LF (Line Feed - posun papíru v tiskárně o jeden řádek, tj. 0x0A hexadecimálně, resp. 10 decimálně) do formátu konce řádků v Unixu (jen znak CR)
dos2unix soubor.txt dos2unix < soubor.dos > soubor.unx
- unix2dos
- provádí konverzi z Unixového formátu konce řádku (znak LF) na formát DOSu (znaky CR a LF)
- tee [soubor]
- filtr - opisuje vstup do souboru a zároveň na obrazovku
- přepínače:
- -a nový text se připojí na konec souboru
- sort [+číslo] [přepínače] [soubor]
- filtr - třídění vstupu
- přepínače:
- -n setřídění numerické (pokud jsou číselné hodnoty)
- -r setřídění sestupné
- -b ignorovat počáteční mezery
- -f nebudou se rozlišovat malá a velká písmena (velká písmena jsou převáděna na malá)
- -k číslo určuje sloupec, od kterého se posuzuje pořadí při třídění (číslovány od 1)
- -k číslo1,číslo2 určuje rozsah sloupců pro třídění
- -tznak určení znaku, který odděluje jednotlivé sloupce
- -u z výstupního souboru budou vyloučeny duplicitní řádky (pro posouzení duplicit se porovnávají pouze klíče)
- uniq [paramery] [soubor]
- filtr - odstraňuje duplicitní řádky ze setříděného vstupu
- přepínače:
- -číslo přeskočí se zadaný počet řádků od začátku
- -u budou se vypisovat pouze řádky, které nejsou duplicitní
- -d budou se vypisovat pouze řádky, které jsou duplicitní
- -c na začátku každého řádku se vypíše počet výskytů
- grep [výraz] [soubor]
- hledá výraz v souboru a vypisuje řádky, které ho obsahují
- přepínače:
- -c vypíše počet řádků, ve kterých byl nalezen vzor
- -i ignoruje rozdíly mezi malými a velkými písmeny
- -l zobrazuje pouze jména souborů, ve kterých byl nalezen vzor
- -n zobrazí čísla řádků obsahujících vzor
- -s potlačen chybový výstup
- -v vypíše řádky neobsahující vzor
- -r rekurzivní hledání v podadresářích
- -q nalezený řádek se nevypisuje - používá se např. v testech ve skriptech, kde jen testujeme návratový kód, tj. nalezeno - pravda (0), nenalezeno - nepravda (1)
- při specifikaci hledaného řetězce lze použít regulární výraz, ve kterém lze použít následující speciální znaky (doporučuji zapisovat regulární výraz do uvozovek či apostrofů):
^ začátek řádku $ konec řádku . libovolný znak * libovolný počet opakování předchozího znaku [] právě jeden znak z množiny znaků uvedených v těchto závorkách, při specifikaci lze použít následující dva speciální znaky: - používá se pro označení intervalu znaků z množiny ASCII (např. a-z, 0-9) ^ negace výčtu znaků \ potlačení speciálního významu následujícího znaku
Příklady regulárních výrazů:
^# řádky začínající znakem křížek (hash) ^$ prázdné řádky ^.$ řádky obsahující právě jeden znak ^[a-z]*$ řádky obsahující pouze malá písmena \.[0-9] výraz označuje tečku následovanou číslicí
Příklady použití:
grep '[hs]d[a-z]$' /proc/partitions # vypíše seznam pevných disků a jejich velikostí (v KiB)
- iconv
- filtr - konverze kódování
- přepínače:
- -l vypíše seznam kódování (cp1250, utf8, iso8859-2, …)
- -f xx kódování znaků na vstupu (zadejte místo „xx“)
- -t kódování znaků na výstupu
Příklady použití:
iconv -f cp1250 -t utf8 < vstup.txt > vystup.txt
Porovnávání souborů
- cmp
- porovnává dva soubory po jednotlivých bajtech, ohlásí první rozdílný bajt
- přepínače:
- -s potlačení výstupu o nalezených odchylkách
- diff soubor1 soubor2
- porovnává dva soubory po jednotlivých řádcích a hledá rozdíly mezi nimi
- vypisuje změněné řádky, výstup se používá jako vstup pro program
patch
- přepínače:
- -u unifikovaný výstup (používá se nejčastěji, modifikované řádky jsou odlišeny znaky plus a mínus, které vyjadřují, zda byl řádek smazán nebo přidán; změněné řádky jsou obklopeny původními,aby se při použití programu
patch
poznalo, je-li zpracovávaný soubor ve stavu, který byl zachycen programem diff) - -r rekurzivní běh
- -N zahrnuty i nové soubory
- -u unifikovaný výstup (používá se nejčastěji, modifikované řádky jsou odlišeny znaky plus a mínus, které vyjadřují, zda byl řádek smazán nebo přidán; změněné řádky jsou obklopeny původními,aby se při použití programu
- popis standardního výstupu programu (unifikovaný formát viz výše):
Ve výpisu je nejdříve údaj o typu a rozsahu nalezených změn, poté následuje výpis řádek z obou souborů: znak < označuje řádky prvého souboru, znak > označuje řádky druhého souboru. Údaj o typu a rozsahu změn má tuto strukturu m x n, kde:
m označuje čísla řádek prvního souboru n označuje čísla řádek druhého souboru x může nabývat hodnot: a přidání řádků k prvnímu souboru d zrušení řádků z druhého souboru c změna znaků na řádcích
Např. zápis 8,20 c 8,22 označuje že na řádcích 8 až 20 z prvního souboru byly provedeny změny, které jsou zapsány na řádcích 8 až 22 druhého souboru (současně byly dva řádky vloženy).
- comm [-123] soubor1 soubor2
- zjišťuje, které řádky ve dvou setříděných souborech jsou stejné
- výstup obsahuje tři vzájemně se prolínající sloupce s následujícím významem:
- 1. sloupec - řádek je v prvním souboru, není ve druhém
- 2. sloupec - řádek je ve druhém souboru, není v prvním
- 3. sloupce - řádek je v obou souborech
- přepínače:
- -123 potlačí výstup příslušného sloupce (např. -13 propustí na standardní výstup pouze druhý sloupec)
- patch
- nástroj na zahrnutí změn podle výstupu nástroje
diff
do zvoleného souboru- -b přípona uložit zálohu souboru s udanou příponou
- -R reverzní změna (též pokud někdo porovnal příkazem
diff
soubory obráceně)
Ostatní
- clear
- smazání obrazovky (lze použít i kombinaci kláves CTRL+l)
- mail příjemce
- odeslání e-mailu, parametrem je e-mailová adresa příjemce
- nejsou-li poskytnuty potřebné údaje, přepne se do interaktivního režimu, a v něm se zeptá na příjemce, subjekt a tělo e-mailu
- subjekt a příjemce je možné specifikovat na příkazovém řádku
- tělo e-mailu lze předat na standardní vstup
- přepínače:
-
-s
určení subjektu (víceslovný do uvozovek) -
-a
určení souboru s přílohou, lze opakovat pro zadání více příloh (podpora jen v novějších verzích příkazumail
)
-
mail -s "Test 1" rene.huzva@pslib.cz < /etc/motd # tělo je soubor /etc/motd echo Tělo e-mailu | mail -s "Test 2" rene.huzva@pslib.cz # tělo je standardní vstup skrze rouru od příkazu echo
- mutt
- klient pro čtení/posílání elektronické pošty
- příjemce je zadán jako parametr
-
-s
určení subjektu (víceslovný do uvozovek) -
-a
určení souboru s přílohou, lze opakovat pro zadání více příloh
-
- pokud je
mutt
spuštěn v interaktivním režimu, spouští se pro vytvoření zprávy standardně editor VI, a proto je vhodné před spuštěním nastavit proměnnou prostředíEDITOR
(neboVISUAL
)
mutt -s "Test 2" -a /etc/passwd rene.huzva@pslib.cz < telo-emailu.txt export EDITOR=mcedit mutt -s "Test 2" -a /etc/passwd rene.huzva@pslib.cz