Příkazová řádka je uživatelské rozhranní, ve kterém uživatel komunikuje s počítačem podobně jako při psaní programu, tj. píše příkazy, které počítač vykonává tak, jako když programátor píše program (recept), který následně spustí.
V případě přímého ovládání počítače a interakce s operačním systémem je využito interaktivního režimu, ve kterém počítač reaguje na každý příkaz, který je v příkazové řádce napsán a odeslán počítači ke zpracování klávesou “Enter”.
Data jsou v počítači uložena ve formě souborů, k nímž je přístup uživatelů zprostředkován operačním systémem. Proto základní práce s počítačem spočívá v interakci s operačním systémem a práci se soubory.
Příkazová řádka je přítomna ve všech operačních systémech. Ve Windows je příkazová řádka přístupna pomocí programu cmd.exe nebo modernější varianty PowerShell.exe, případně alternativou Z-shell. Na systémech unixového typu běží příkazová řádka jako tzv. shell dostupný buď přímo v textovém režimu, nebo přes emulátory z grafického rozhranní (na Linuxu Xterm, Gnome terminal, Konsole …, na OS X terminal). Příkazová řádka umožňuje základní ovládání operačního systému (procházení adresářové struktury, práce se soubory, vyhledávání …), poskytuje rozhranní uživatelským programům a hlavně umožňuje řetězit vstupy a výstupy jednotlivých programů.
prikaz [přepínače] [parametry|argumenty|jména souboru(ů)]
| Příkaz | Používané přepínače | Význam |
|---|---|---|
ls | -l -t | vypíše obsah aktuálního pracovního adresáře (list directory contents) |
cd | změní aktuální pracovní adresář (change directory) | |
pwd | vypíše absolutní adresu aktuálního pracovního adresáře (print working directory name) | |
tree | vypíše strukturu aktuálního pracovního adresáře včetně podadresářů formou stromu |
| Příkaz | Používané přepínače | Význam |
|---|---|---|
mkdir | Vytvoří adresář zadaného jména (make directories ) | |
cp | -r | Zkopíruje soubor zadaného jména (copy files) |
mv | Přesune (přejmenuje) soubor zadaného jména (move files) | |
rm | -r -f | Odstraní soubor zadaného jména (remove directory entries) |
touch | | Vytvoří soubor zadaného jména, pokud takový existuje, jinak aktualizuje tzv. modification time. |
man touch, případně návod touch —-help.
| Příkaz | Používané přepínače | Význam |
|---|---|---|
man | Vypíše manuálovou stránku zadaného příkazu. | |
find | Vyhledá soubor zadaného jména v aktuálním adresáři. | |
locate | Jako find, ale hledá v kompletní adresářové struktuře vytvořené databáze. |
|
cat | Vypíše obsah souboru jako text | |
echo | Vypíše obsah argument na standardní výstup, např. návratovou hodnota posledního příkazu echo $? nebo proměnná prostředí echo $HOME nebo echo $PWD. |
|
hexdump | -C | Vypíše obsah souboru v hexadecimálním tvaru doplněný o adresy paměti. |
Adresář (anglicky directory) je objektem souborového systému s přesně definovaným umistěním v rámci hiearchie souborů. Složka (folder) je motivována grafickým rozhraním reprezentující nějaký konkrétní adresář. https://en.wikipedia.org/wiki/Directory_(computing)#Folder_metaphor.
Například domovský adresáře uživatele user najdeme typicky v adresáři /home/user. Složku Dokumenty můžeme například najít na grafického rozhraní a podle volby jazyka prostředí může odkazovat na /home/user/Documents nebo jinou složkou, třeba i vzdálený adresář.
prg a v něm lab01. Ideálně přímo v domovském adresáři, alternativně například ve složce Documents.
prg vytvořte adresář lab01.
lab01 vytvořte textový soubor se jménem prg-lab01.txt
~/ctu-fee, kde symbol ~ reprezentuje domovský adresář, tež odkazovaný v proměnné prostředí HOME, odkazované např. printenv $HOME.
prg-lab01.txt přejmenujte na main.c.
➜ ~ pwd
/home/jf
➜ mkdir -p prg/lab01
➜ touch prg/lab01/prg-lab01.txt
➜ tree prg
prg
└── lab01
└── prg-lab01.txt
1 directory, 1 file
➜ mkdir ctu-fee
➜ mv prg/lab01 $HOME/ctu-fee/prg-lab01
➜ cd ctu-fee/prg-lab01
➜ pwd
/home/jf/ctu-fee/prg-lab01
➜ ls
prg-lab01.txt
➜ mv prg-lab01.txt main.c
➜ cd
➜ tree ctu-fee
ctu-fee
└── prg-lab01
└── main.c
1 directory, 1 file
Jednotlivé kroky můžete kontrolovat například pohledem grafického správce souborů.
prg-lab01.sh, který provede uvedené kroky v posloupnosti, ale místo domovského adresáře umístě podadresáře a soubory do pracovního prostoru /tmp, například odkazovaného /tmp/$PWD.
chmod +x prg-lab01.sh pro přímé spuštění ve stylu ./prg-lab01.sh nebo jej můžete spustit v rámci konkrétní instance příkazového interpretu např. . ./prg-lab01.sh.
cd pro změnu aktuálního pracovního adresáře, můžete se k předchozím adresáři vrátit cd -, viz například https://www.youtube.com/watch?v=zvKRKU-ex6g.
dst=/tmp/$HOME použitelnou třeba v mkdir -p $dsts/prg/lab01.
. ./prg-lab01.sh
/tmp/home/jf/prg
└── lab01
└── prg-lab01.txt
1 directory, 1 file
/tmp/home/jf/ctu-fee
└── prg-lab01
└── main.c
1 directory, 1 file