Uživatelské nástroje

Nástroje pro tento web


soubory-a-adresare

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Both sides previous revision Předchozí verze
Následující verze
Předchozí verze
soubory-a-adresare [2020/02/29 12:41]
Miroslav Bernát
soubory-a-adresare [2020/05/15 12:21]
Miroslav Bernát
Řádek 35: Řádek 35:
 ^ Obsah souboru ^ ^ ^ Obsah souboru ^ ^
 | **file** <​soubor>​ | zjistí typ datového formátu souboru (ASCII, PDF, HTML atd.), **-z** obsah komprimovaného souboru\\ ''​$ file * | grep ASCII''​ | | **file** <​soubor>​ | zjistí typ datového formátu souboru (ASCII, PDF, HTML atd.), **-z** obsah komprimovaného souboru\\ ''​$ file * | grep ASCII''​ |
-| **od** (<​soubor>​) | (**-o**) vypíše obsah binárního souboru oktálově, **-d** decimálně,​ **-x** hexadecimálně,​ **-j** <​byte>​ vypíše data od daného bytu (offsetu), **-w**<​pocet_bytu>​ zobrazí na řádku daný počet bytů; první sloupec výpisu značí tzv. offset – pořadí prvního bytu daného řádku od začátku souboru; není-li soubor uveden, čte ze STDIN\\ ''​$ od -w8 /​usr/​bin/​who''​\\ ''​$ od -j 0474360 /​usr/​bin/​find''​ | 
-| **strings** <​soubor>​ | vypíše textové řetězce obsažené zéjména uvnitř binárního souboru o minimální délce čtyř znaků\\ ''#​ strings $(which vsftpd) | egrep "​libwrap|hosts"''​\\ (zjistí, zda se program vztahuje k tcp wrappers) | 
 | **cat** (<​soubor>​) | vypíše obsah textového souboru, **-n** čísluje všechny řádky, **-b** jen řádky obsahující text; není-li soubor uveden, čte ze STDIN\\ ''​$ cat a b c  > abc''​ | | **cat** (<​soubor>​) | vypíše obsah textového souboru, **-n** čísluje všechny řádky, **-b** jen řádky obsahující text; není-li soubor uveden, čte ze STDIN\\ ''​$ cat a b c  > abc''​ |
 | **tac** (<​soubor>​) | vypíše obsah textového souboru v opačném pořadí; není-li soubor uveden, čte ze STDIN | | **tac** (<​soubor>​) | vypíše obsah textového souboru v opačném pořadí; není-li soubor uveden, čte ze STDIN |
Řádek 49: Řádek 47:
 | **grep** <​vyraz>​ (<​soubor/​adresar>​) | vyhledá v textovém souboru řetězce, které obsahují daný výraz (vypíše vždy celý řádek), **-v** naopak vypíše řádky, které daný řetězec neobsahují,​ **-n** vypíše číslo řádku, **-c** vypíše pouze počet řádků obsahujících daný výraz, **-l** vypíše pouze jména souborů obsahujících shodný výraz, **-L** naopak vypíše jen jména souborů neobsahujících daný výraz, **-i** ignoruje velikost písmen, **-f** <​soubor>​ čte výrazy z daného souboru (na každém řádku jeden), **-o** vypíše jen tu část řádku, odpovídající výrazu, **-E** obdoba příkazu „egrep“,​ **-R** rekurzivně,​ **-w** vyhledá celá slova, jimž výraz vyhovuje, **--color** barevně zvýrazní odpovídající řetězec; není-li soubor uveden, čte ze STDIN\\ ''​$ grep linux notes''​ / ''​cat notes | grep linux''​\\ ''​$ ls -l | grep '​^d'''​\\ ''​$ grep '​^P.*r$'​ notes''​\\ ''​$ grep -E '​AB|CD'​ notes''​\\ ''​$ grep -R linux ~/​data''​ | | **grep** <​vyraz>​ (<​soubor/​adresar>​) | vyhledá v textovém souboru řetězce, které obsahují daný výraz (vypíše vždy celý řádek), **-v** naopak vypíše řádky, které daný řetězec neobsahují,​ **-n** vypíše číslo řádku, **-c** vypíše pouze počet řádků obsahujících daný výraz, **-l** vypíše pouze jména souborů obsahujících shodný výraz, **-L** naopak vypíše jen jména souborů neobsahujících daný výraz, **-i** ignoruje velikost písmen, **-f** <​soubor>​ čte výrazy z daného souboru (na každém řádku jeden), **-o** vypíše jen tu část řádku, odpovídající výrazu, **-E** obdoba příkazu „egrep“,​ **-R** rekurzivně,​ **-w** vyhledá celá slova, jimž výraz vyhovuje, **--color** barevně zvýrazní odpovídající řetězec; není-li soubor uveden, čte ze STDIN\\ ''​$ grep linux notes''​ / ''​cat notes | grep linux''​\\ ''​$ ls -l | grep '​^d'''​\\ ''​$ grep '​^P.*r$'​ notes''​\\ ''​$ grep -E '​AB|CD'​ notes''​\\ ''​$ grep -R linux ~/​data''​ |
 | **egrep** / **grep -E** <​vyraz>​ (<​soubor/​adresar>​) | vyhledá v textovém souboru řetězce za použití rozšířených regulárních výrazů; není-li soubor uveden, čte ze STDIN\\ ''#​ egrep -v '​^[#;​]|^$'​ *conf*''​\\ (vypíše všechny řádky v konfiguračních souborech, které nejsou zakomentované nebo prázdné)\\ ''​$ egrep -o '​^[^:​]+'​ /​etc/​passwd''​\\ (vypíše všechny uživatele v systému) | | **egrep** / **grep -E** <​vyraz>​ (<​soubor/​adresar>​) | vyhledá v textovém souboru řetězce za použití rozšířených regulárních výrazů; není-li soubor uveden, čte ze STDIN\\ ''#​ egrep -v '​^[#;​]|^$'​ *conf*''​\\ (vypíše všechny řádky v konfiguračních souborech, které nejsou zakomentované nebo prázdné)\\ ''​$ egrep -o '​^[^:​]+'​ /​etc/​passwd''​\\ (vypíše všechny uživatele v systému) |
-| **sed** (<​adresa>​) <​prikaz>​ (<​soubor>​) | filtruje a edituje text neinteraktivní formou (využití zejména ve skriptech), **-E** umožní použití rozšířených regulárních výrazů, **-f** <​soubor>​ provede skript obsažený v daném souboru, **-i** provede změny přímo v souboru (jinak je nutné změny uložit použitím přesměrování),​ **-n** nevypíše výstup na STDOUT; adresa představuje buď pořadové číslo řádku od začátku vstupu (např. 1,10 = rozmezí řádků), znak  „$“ (poslední řádek vstupu) či vzorek (regulární výraz) ohraničený z obou stran oddělovačem – standardně „/“; příkaz **s** nahradí vzorek následujícím výrazem ohraničeným oddělovači (jen první vyhovující vzorek), //n// právě //n//tý výskyt vzorku, **g** nahradí vzorek globálně, u každého výskytu, **a** přidá výraz pod řádek se zadaným vzorkem, <​n>​**p** vypíše daný řádek souboru (s volbou „-n”), **d** smaže celý řádek obsahující daný výraz, **!**<​prikaz>​ provede příkaz pro všechny adresy, kromě adres uvedených; není-li soubor uveden, čte ze STDIN\\ ''​$ echo "11 x, 22 x, 33 x" | sed '​s/​x/​y/​2'''​\\ (nahradí pouze druhý výskyt řetězce „x“ řetězcem „y“)\\ ''​$ sed -i '​s/​retezec1/​retezec2/​g'​ soubor''​\\ (nahradí první řetězec druhým v celém souboru)\\ ''​$ sed 's/ \+/​\t/​g'​ test1 > test2''​\\ (nahradí v souboru různý počet mezer jedním tabulátorem)\\ ''​$ echo "Log retention:"​ $(sed -n '​3p;​6p'​ /​etc/​logrotate.conf)''​\\ (vypíše 3. a 6. řádek souboru)\\ ''​$ sed '/​dev/​!d'​ soubor''​\\ (vypíše řádky obsahující výraz „dev“)\\ ''​$ sed -i '​1,​10d'​ soubor''​\\ (smaže prvních 10 řádků souboru)\\ ''​$ sed -i '​5,​$d'​ soubor''​\\ (smaže vše od 5. řádku až po konec souboru)\\ ''​$ sed '​1,/​START/​d'​ soubor''​\\ (smaže vše do slova „START“ včetně)\\ ''​$ sed '​1,/​STOP/​!d'​ soubor''​\\ (smaže vše od slova „STOP“)\\ ''​$ sed '/​^#/​d;​ /^$/d' soubor1 > soubor2''​\\ ''​$ sed -E '/​^(#​|$)/​d'​ soubor1 > soubor2''​\\ (odstraní v souboru komentáře a prázdné řádky)\\ ''#​ sed -i '/​auth%%[[:​blank:​]]%%\+required%%[[:​blank:​]]%%\+pam_deny.so/a auth\trequired\tpam_tally2.so deny=5'​ /​etc/​pam.d/​system-auth-ac''​\\ (přidá výraz pod řádek se zadaným vzorkem)\\ ''​$ sed '/​^[^#​]*\(sha[25]\|md5\)/​!d'​ /​etc/​pam.d/​system-auth /​etc/​pam.d/​common-password 2> /dev/null | egrep -o "​sha[1256]{3}|md5"​ || sed '/​^[^#​]*ENCRYPT_METHOD/​!d'​ /​etc/​login.defs''​\\ (zobrazí šifrovací algoritmus pro nově vytvořená hesla) |+| **sed** (<​adresa>​) <​prikaz>​ (<​soubor>​) | filtruje a edituje text neinteraktivní formou (využití zejména ve skriptech), **-E** umožní použití rozšířených regulárních výrazů, **-f** <​soubor>​ provede skript obsažený v daném souboru, **-i** provede změny přímo v souboru (jinak je nutné změny uložit použitím přesměrování),​ **-n** nevypíše výstup na STDOUT; adresa představuje buď pořadové číslo řádku od začátku vstupu (např. 1,10 = rozmezí řádků), znak  „$“ (poslední řádek vstupu) či vzorek (regulární výraz) ohraničený z obou stran oddělovačem – standardně „/“; příkaz **s** nahradí vzorek následujícím výrazem ohraničeným oddělovači (jen první vyhovující vzorek), //n// právě //n//tý výskyt vzorku, **g** nahradí vzorek globálně, u každého výskytu, **a** přidá výraz pod řádek se zadaným vzorkem, <​n>​**p** vypíše daný řádek souboru (s volbou „-n”), **d** smaže celý řádek obsahující daný výraz, **!**<​prikaz>​ provede příkaz pro všechny adresy, kromě adres uvedených; není-li soubor uveden, čte ze STDIN\\ ''​$ echo "11 x, 22 x, 33 x" | sed '​s/​x/​y/​2'''​\\ (nahradí pouze druhý výskyt řetězce „x“ řetězcem „y“)\\ ''​$ sed -i '​s/​retezec1/​retezec2/​g'​ soubor''​\\ (nahradí první řetězec druhým v celém souboru)\\ ''​$ sed 's/ \+/​\t/​g'​ test1 > test2''​\\ (nahradí v souboru různý počet mezer jedním tabulátorem)\\ ''​$ echo "Log retention:"​ $(sed -n '​3p;​6p'​ /​etc/​logrotate.conf)''​\\ (vypíše 3. a 6. řádek souboru)\\ ''​$ sed '/​dev/​!d'​ soubor''​\\ (vypíše řádky obsahující výraz „dev“)\\ ''​$ sed -i '​1,​10d'​ soubor''​\\ (smaže prvních 10 řádků souboru)\\ ''​$ sed -i '​5,​$d'​ soubor''​\\ (smaže vše od 5. řádku až po konec souboru)\\ ''​$ sed '​1,/​START/​d'​ soubor''​\\ (smaže vše do slova „START“ včetně)\\ ''​$ sed '​1,/​STOP/​!d'​ soubor''​\\ (smaže vše od slova „STOP“)\\ ''​$ sed '/​^#/​d;​ /^$/d' soubor1 > soubor2''​\\ ''​$ sed -E '/​^(#​|$)/​d'​ soubor1 > soubor2''​\\ (odstraní v souboru komentáře a prázdné řádky)\\ ''#​ sed -i '/​auth%%[[:​blank:​]]%%\+required%%[[:​blank:​]]%%\+pam_env.so/a auth\trequired\tpam_tally2.so deny=5'​ /​etc/​pam.d/​system-auth-ac''​\\ (přidá výraz pod řádek se zadaným vzorkem)\\ ''​$ sed '/​^[^#​]*\(sha[25]\|md5\)/​!d'​ /​etc/​pam.d/​system-auth /​etc/​pam.d/​common-password 2> /dev/null | egrep -o "​sha[1256]{3}|md5"​ || sed '/​^[^#​]*ENCRYPT_METHOD/​!d'​ /​etc/​login.defs''​\\ (zobrazí šifrovací algoritmus pro nově vytvořená hesla) |
 | **awk** '<​program>'​ (<​soubor>​) | filtruje text neinteraktivní formou (využití zejména ve skriptech); program je série pravidel obsahující vzorek, akci či obojí, akce je uzavřena do „{}“; **-f** <​soubor>​ čte program z daného souboru, **-F** <​retezec>​ určí oddělovač položek vstupu, **-v** <​promenna>​=<​hodnota>​ nastaví danou proměnnou v rámci programu; mezi vestavěné proměnné patří **NR** počet záznamů (řádků) oddělených novým řádkem, **NF** počet položek na řádku oddělených oddělovačem (implicitně bílým místem), na jednotlivé položky se odkazuje $1, $2 atd., $0 odkazuje na celý záznam, **RS** definuje oddělovač záznamů, **FS** definuje oddělovač položek, **ORS** definuje výstupní oddělovač záznamů, **OFS** definuje výstupní oddělovač položek; pro porovnání řetězců slouží operátory **==** je rovno, **!=** není rovno, **<** méně než, **>** více než, **<=** méně než nebo rovno, **>=** více než nebo rovno; regulární výrazy jsou uzavřeny v „/​“„/​“,​ pro porovnání se používá **~** vzorek odpovídá RE, **!~** vzorek neodpovídá RE;  **||** logické „nebo“, **&&​** logické „a“; není-li soubor uveden, čte ze STDIN\\ ''​$ awk '/​nameserver/​ {print}'​ /​etc/​resolv.conf''​\\ (vypíše ze souboru řádky obsahující „nameserver“)\\ ''​$ awk '​{print $1, $2}' /​etc/​fstab''​\\ (vypíše každé první a druhé slovo všech řádků souboru)\\ ''​$ awk -F ":"​ '​{print $1, $7}' /​etc/​passwd''​\\ (vypíše všechny uživatele a jejich přihlašovací shell)\\ ''​$ awk '​{print $1 > "​soubor1";​ print $2 > "​soubor2"​}'​ test''​\\ (přesměruje výpis prvního a druhého slova do souborů)\\ ''​$ awk '​length > 10' seznam.txt''​\\ (vypíše řádky delší než deset znaků)\\ ''​$ awk 'NF < 5' seznam.txt''​\\ (vypíše řádky kratší než pět slov)\\ ''​$ awk 'NR == 5' error.log''​\\ (vypíše 5. řádek souboru)\\ ''​$ awk 'NR == 5, NR == 10' album''​\\ (vypíše 5. až 10. řádek souboru)\\ ''​$ awk '​{print NR,"​->",​NF}'​ seznam.txt''​\\ (vypíše počet slov u každého řádku souboru)\\ ''​$ ls -l | grep "​^-"​ | awk '{sum += $5} END {print sum/​1024/​1024}'''​\\ (vypíše velikost všech souborů v pracovním adresáři v MB)\\ ''#​ ne=$(awk -F ":"​ '{if (length($2) > 2 && ($5 == ""​ || $5 >= 99999)) print $1}' /​etc/​shadow);​ %%[[ -z "​$ne"​ ]]%% && echo "​NONE"​ || echo "​$ne"​ | tr " " "​\n"''​\\ (vypíše uživatele s neomezenou dobou platnosti hesla)\\ ''​$ sed '/​^[^:​]/​!d'​ /​etc/​inittab | awk -F "#"​ '​{print $1}' | awk -F ":"​ '{if %%(($4 !~ /^\// && $4 !~ /^$/) || ($4 ~ /​[|]+.?​[^/​]/​ && $4 !~ /^$/))%% print $4}'''​\\ (vyhledá v souboru příkazy, které nejsou uvedeny absolutní cestou) | | **awk** '<​program>'​ (<​soubor>​) | filtruje text neinteraktivní formou (využití zejména ve skriptech); program je série pravidel obsahující vzorek, akci či obojí, akce je uzavřena do „{}“; **-f** <​soubor>​ čte program z daného souboru, **-F** <​retezec>​ určí oddělovač položek vstupu, **-v** <​promenna>​=<​hodnota>​ nastaví danou proměnnou v rámci programu; mezi vestavěné proměnné patří **NR** počet záznamů (řádků) oddělených novým řádkem, **NF** počet položek na řádku oddělených oddělovačem (implicitně bílým místem), na jednotlivé položky se odkazuje $1, $2 atd., $0 odkazuje na celý záznam, **RS** definuje oddělovač záznamů, **FS** definuje oddělovač položek, **ORS** definuje výstupní oddělovač záznamů, **OFS** definuje výstupní oddělovač položek; pro porovnání řetězců slouží operátory **==** je rovno, **!=** není rovno, **<** méně než, **>** více než, **<=** méně než nebo rovno, **>=** více než nebo rovno; regulární výrazy jsou uzavřeny v „/​“„/​“,​ pro porovnání se používá **~** vzorek odpovídá RE, **!~** vzorek neodpovídá RE;  **||** logické „nebo“, **&&​** logické „a“; není-li soubor uveden, čte ze STDIN\\ ''​$ awk '/​nameserver/​ {print}'​ /​etc/​resolv.conf''​\\ (vypíše ze souboru řádky obsahující „nameserver“)\\ ''​$ awk '​{print $1, $2}' /​etc/​fstab''​\\ (vypíše každé první a druhé slovo všech řádků souboru)\\ ''​$ awk -F ":"​ '​{print $1, $7}' /​etc/​passwd''​\\ (vypíše všechny uživatele a jejich přihlašovací shell)\\ ''​$ awk '​{print $1 > "​soubor1";​ print $2 > "​soubor2"​}'​ test''​\\ (přesměruje výpis prvního a druhého slova do souborů)\\ ''​$ awk '​length > 10' seznam.txt''​\\ (vypíše řádky delší než deset znaků)\\ ''​$ awk 'NF < 5' seznam.txt''​\\ (vypíše řádky kratší než pět slov)\\ ''​$ awk 'NR == 5' error.log''​\\ (vypíše 5. řádek souboru)\\ ''​$ awk 'NR == 5, NR == 10' album''​\\ (vypíše 5. až 10. řádek souboru)\\ ''​$ awk '​{print NR,"​->",​NF}'​ seznam.txt''​\\ (vypíše počet slov u každého řádku souboru)\\ ''​$ ls -l | grep "​^-"​ | awk '{sum += $5} END {print sum/​1024/​1024}'''​\\ (vypíše velikost všech souborů v pracovním adresáři v MB)\\ ''#​ ne=$(awk -F ":"​ '{if (length($2) > 2 && ($5 == ""​ || $5 >= 99999)) print $1}' /​etc/​shadow);​ %%[[ -z "​$ne"​ ]]%% && echo "​NONE"​ || echo "​$ne"​ | tr " " "​\n"''​\\ (vypíše uživatele s neomezenou dobou platnosti hesla)\\ ''​$ sed '/​^[^:​]/​!d'​ /​etc/​inittab | awk -F "#"​ '​{print $1}' | awk -F ":"​ '{if %%(($4 !~ /^\// && $4 !~ /^$/) || ($4 ~ /​[|]+.?​[^/​]/​ && $4 !~ /^$/))%% print $4}'''​\\ (vyhledá v souboru příkazy, které nejsou uvedeny absolutní cestou) |
 | **tee** (<​soubor>​) | čte ze STDIN a zapisuje na STDOUT a případně do daného souboru, **-a** nepřepíše obsah souboru, výstup přidá na jeho konec\\ ''​$ ls | tee /tmp/test | wc -l''​\\ (výstup příkazu „ls“ zapíše do souboru „/​tmp/​test“,​ na STDOUT zobrazí pouze počet řádků)\\ ''​$ who | sort | tee -a log1 log2''​\\ (setříděný výstup příkazu „who“ zapíše jak na STDOUT, tak do souborů „log1“ a „log2“) | | **tee** (<​soubor>​) | čte ze STDIN a zapisuje na STDOUT a případně do daného souboru, **-a** nepřepíše obsah souboru, výstup přidá na jeho konec\\ ''​$ ls | tee /tmp/test | wc -l''​\\ (výstup příkazu „ls“ zapíše do souboru „/​tmp/​test“,​ na STDOUT zobrazí pouze počet řádků)\\ ''​$ who | sort | tee -a log1 log2''​\\ (setříděný výstup příkazu „who“ zapíše jak na STDOUT, tak do souborů „log1“ a „log2“) |
Řádek 68: Řádek 66:
 | **convmv** <​soubor/​adresar>​ | změní typ kódování jména souboru/​adresáře,​ **-f** <​zdrojovy_kod>​ určí původní kód, **-t** <​cilovy_kod>​ určí nový kód, **-i** interaktivní režim, **-r** rekurzivně,​ **--notest** zajistí skutečné překódování souboru\\ ''​$ convmv --notest -f cp1250 -t UTF-8 *''​ | | **convmv** <​soubor/​adresar>​ | změní typ kódování jména souboru/​adresáře,​ **-f** <​zdrojovy_kod>​ určí původní kód, **-t** <​cilovy_kod>​ určí nový kód, **-i** interaktivní režim, **-r** rekurzivně,​ **--notest** zajistí skutečné překódování souboru\\ ''​$ convmv --notest -f cp1250 -t UTF-8 *''​ |
 | **recode** <​zdrojovy_kod>​**..**<​cilovy_kod>​ <​soubor>​ | změní typ kódování textových souborů, **-l** vypíše typy kódování,​ **-f** potlačí chybový výstup, **-v** podrobný výpis\\ ''​$ echo '​Výpis jmen všech souborů'​ | recode -f UTF-8..flat''​\\ ''​$ recode ..HTML < page.txt > page.html''​\\ ''​$ find . -name "​*.txt"​ -exec recode cp1250..UTF-8 '​{}'​ \;''​ | | **recode** <​zdrojovy_kod>​**..**<​cilovy_kod>​ <​soubor>​ | změní typ kódování textových souborů, **-l** vypíše typy kódování,​ **-f** potlačí chybový výstup, **-v** podrobný výpis\\ ''​$ echo '​Výpis jmen všech souborů'​ | recode -f UTF-8..flat''​\\ ''​$ recode ..HTML < page.txt > page.html''​\\ ''​$ find . -name "​*.txt"​ -exec recode cp1250..UTF-8 '​{}'​ \;''​ |
 +| **od** (<​soubor>​) | (**-o**) vypíše obsah binárního souboru oktálově, **-d** decimálně,​ **-x** hexadecimálně,​ **-j** <​byte>​ vypíše data od daného bytu (offsetu), **-w**<​pocet_bytu>​ zobrazí na řádku daný počet bytů; první sloupec výpisu značí tzv. offset – pořadí prvního bytu daného řádku od začátku souboru; není-li soubor uveden, čte ze STDIN\\ ''​$ od -w8 /​usr/​bin/​who''​\\ ''​$ od -j 0474360 /​usr/​bin/​find''​ |
 +| **strings** <​soubor>​ | vypíše textové řetězce obsažené zéjména uvnitř binárního souboru o minimální délce čtyř znaků\\ ''#​ strings $(which vsftpd) | egrep "​libwrap|hosts"''​\\ (zjistí, zda se program vztahuje k tcp wrappers) |
 +| **msgfmt** <​soubor>​.po | převede textový soubor do binárního formátu, **-o** <​soubor>​.mo určí výstupní soubor\\ ''​$ msgfmt -o woocommerce-cs_CZ.mo woocommerce-cs_CZ.po''​ |
 | **convert** <​zdroj>​ <cil> | změní formát souborů, případně i jejich velikost\\ ''​$ convert image.tif image.jpg''​\\ ''​$ IFS=',';​ cmds="​hostname -s,​date,​ifconfig -a"; for cmd in $cmds; do { echo "​[$USER@${HOSTNAME} ${PWD/#​$HOME/​~}]"​ "​${cmd}";​};​ eval "​${cmd}";​ done > info.txt && convert -background black -fill white info.txt info.png''​\\ (vytvoří printscreen terminálu se zadanými příkazy) | | **convert** <​zdroj>​ <cil> | změní formát souborů, případně i jejich velikost\\ ''​$ convert image.tif image.jpg''​\\ ''​$ IFS=',';​ cmds="​hostname -s,​date,​ifconfig -a"; for cmd in $cmds; do { echo "​[$USER@${HOSTNAME} ${PWD/#​$HOME/​~}]"​ "​${cmd}";​};​ eval "​${cmd}";​ done > info.txt && convert -background black -fill white info.txt info.png''​\\ (vytvoří printscreen terminálu se zadanými příkazy) |
 | **aplay** <​soubor>​ | přehraje daný audio soubor | | **aplay** <​soubor>​ | přehraje daný audio soubor |