Třetí cvičení – Základní příkazy, hledání v manuálu (apropos), přesměrování, roury
Příkazy:
- Připomenutí: wildcardy
*
, ?
, [abc]
, …
- Připomenutí: přesměrování vstupu, výstupu; roury
head
, tail
apropos
(nebo man -k
)
Opakování z minula (wildcardy):
- Vypište soubory v
/etc/
, které končí na .conf
a mají v názvu net
- Spočítejte počet souborů v
/etc/
, které končí na .conf
a začínají na jedno z písmen a, i, p
- Vypište prvních 10 řádek ze souboru
/etc/passwd
(vypište posledních 10)
- Vypište prvních 15 řádek ze souboru
/etc/passwd
Cvičení:
- Vypište pomocí
ls
obsah složek v /etc/
, které mají v názvu cron
- Přesměrujte standardní výstup do souboru
/tmp/pokus
. Proč se na obrazovku stále něco vypisuje? A co to znamená?
- Zahoďte chybový výstup tohoto příkazu do černé díry v
/dev/null
- Umíte vypsat standardní výstup do konzole a současně do souboru? (zkuste hledat v manuálu "output and file")
- Vypište prvních 15 řádek ze souboru
/etc/passwd
a uložte je do souboru ve svém domovském adresáři
- Vypište ze souboru
/etc/passwd
řádky 15-20 (včetně) (pomocí pomocného souboru/pomocí roury)
- Vypište soubor (třeba
.bashrc
) reverzně (od posledního znaku posledního řádku) – nápověda: zkuste najít vhodný příkaz pomocí man -k
- Vypište pouze loginy a jména uživatelů (ze souboru
/etc/passwd
)
Zkusíme si komunikaci mezi uživateli:
- Přihlašte se vzdáleně na stejný stroj:
ssh <login>@u-pl13-0.ms.mff.cuni.cz
- Zobrazte seznam přihlášených uživatelů pomocí
who
- Napište kamarádovi/sousedovi pomocí
write
- Zkuste to samé pomocí
talk
- Na
u-pl13.ms.mff.cuni.cz
vytvořte s /tmp/
složku se svým loginem. V ní vytvořte soubor readme
s nějakým pozdravem a nastavte
práva tak, aby soubor mohli číst i jiní uživatelé. Zkuste se podívat do složky někoho jiného a přečtěte si jeho soubor.
- Pokračování: Vytvořte ve své složce složku
skryta
a v ní soubor zprava
s nějakým tajným textem. Nastavte práva tak, aby ostatní uživatelé
nemohli vylistovat obsah složky, ale aby mohli zobrazit soubor zprava
, když znají jeho cestu skryta/zprava
. Ozkoušejte pak na složce jiných
uživatelů.
*/?>
Příklady pro pokročilé:
- Vypište pouze jména uživatelů a jejich loginy (ze souboru
/etc/passwd
) v pořadí jméno a login (zkuste to pouze s použitím již probraných příkazů, awk
ani sed
ještě ne)
- Spočítejte počet řádků ve všech souborech (i skrytých) ve vašem domovském adresáři.
- Spočítejte počet řádků ve všech souborech (i skrytých) ve vašem domovském adresáři a jeho podadresářích.
- [z 1. cvičení] Napište skript, který provede množinový průnik. Na vstupu dostane dva soubory a má vypsat právě ty řádky, které se vyskytují v obou souborech. Na pořadí nezáleží.
- [z 1. cvičení] Napište skript, který provede množinový rozdíl. Na vstupu dostane dva soubory a má vypsat právě ty řádky, které se vyskytují v prvním a nevyskytují ve druhém. Na pořadí záleží (musí být stejné jako v prvním souboru).
vimtutor