Linux terminál pro začátečníky

Z Wikiverzity
Skočit na navigaci Skočit na vyhledávání

Kurz je organizován tak, že vy sami si určujete tempo jakým to zvládáte a vracíte se opakovaně k jednotlivým sekcím. Nejasnosti, nebo jak se na této stránce chovat, můžete psát na diskusní stránku. Pokyny jsou psány kurzivou a ty prosím neměněte. Kurz nevytváří odborník!

Co je to linux terminál?[editovat]

Projeďte web a napište sem v pár větách co to je linux terminál.

Jak něco udělat?[editovat]

Terminál si otevřeme stiskem CTRL + ALT + T (nebo jinak, pokud jsme si změnili klávesovou zkratku).

Pokud nenastartuje systém, lze terminál otevřit i přes GRUB. Do GRUBu se vztoupí při startu BIOSu opakovaným tisknutím klávesy SHIFT (někdy to trvá než se člověk strefí). Jednotlivé úkoly si můžete ozkoušet níže. Dobrou praxí je, se podívat, co jednotlivé příkazy dělají. Terminál je mocný nástroj a pokud byste jen příklazy opisovali slepě z webu, můžete si zadělat problémy. Pokud níže nenajdete řešení svěho problému, tak ho zapište a zkuste najít na webu řešení. Případně si můžete najít řešení i k úkolům, které níže to řešení nemají.

Č. Co Jak Poznámky
J.1 Jak vyprázdnit koš? cd

rm -rf .local/share/Trash

Pro odmazání adresáře Trash, je potřeba být ve výchozí složce, dostanu se tam zadáním příkazu cd
2 Jak zobrazit nápovědu k příkazu? man (příkaz), help (příkaz), (příkaz) --help Cesty jsou různé, protože nexistuje povinnost vytvářet manuály k příkazům (například příkaz echo má manuál, příkaz cd nikoliv). man je nástroj, který zobrazuje po stránkách existující soubory manuálů příkazů (například man echo zobrazí manuál k příkazu echo). help zobrazí seznam vestavěných příkazů (help) a případě k nim i nápovědu (např. help cd). Samotný help nemá manuál, takže nápověda k help se volá help help. Některé příkazy mají sami funkci nápovědy volatelnou, přes --help, nebo -h. Zde je nutno ale podotknout, že -h může mít i jiné funkce. Problém pak nastává, pokud tyto funkce nejsou popsány v nápovědě k příkazu (např. v nápovědě příkazu cd není uvedeno, že --help dá nápovědu). -- v bash znamená, že nemají být interpretovány další možnosti, protože nechceme aby nápověda zmizela a probíhaly další operace.
3 Jak zobrazit skryté adresáře? ls -a Možno též dir -a
5 Jak zjistit kolik mám volného místa? df -Th

df -h -t (systém souborů)

  1. Zjistíme systém souborů, který bude uveden vedle názvu pro disk (SDAx) s největším přiděleným prostorem. Funkce -T vypíše názvy souborových systémů, funkce -h výpis zpřehlední.
  2. Zjistí informace o disku a uspořádá je (funkce -h). Funkcí -t odfiltrujeme ostatní (např. dočasné systémy souborů tmpfs, které mění velikost podle potřeby)
6 Jak najdu nápovědu pro cd? help cd Postupujeme dle J.2. Pokud nenajdeme manuál po zadání příkazu man, zkoušíme další možnost, tedy příkaz help.
7 Jak nainstalovat KdenLive? sudo snap find kdenlive

(heslo)

sudo snap install kdenlive

  1. příkaz hledá snap s kdenlive
  2. druhý ho nainstaluje
8 Jak spustit program? echo $PATH
  1. v PATH je cesta k adresáři programu --> název programu
  2. v PATH není cesta k adresáři programu --> doskákat do adresáře - chmod a+x název programu - ./název programu
PATH voláme proto, aby jsme nepoškodili systém pro případ, kdy by program měl stejný název jako nějaký příkaz v terminálu. Pokud program v PATH není, je tedy z tohoto důvodu i rychlosti výhodného ho do PATH přidat (viz otázka 25).
9 Jak najít program? whereis (název)

dpkg --list

Pokud whereis nefunguje, můžeme zkusit dpkg --list a následně interní funkcí v terminálu hledat podle předpokládaného názvu.
10 Jak nainstalovat Wine? lscpu

sudo apt install wine64

  1. v kroku 1 zjistíme jaký máme systém. pokud je tam 32, 64 máme 64
  2. pak ho zadáme za wine
11 Jak zjistit, kolik ja na disku volného místa? df -h Jde i df, ale df -h (human) je čitelnější.
12 Jak zobrazím strom adresářů? Nebo si najít defaultní strukturu na webu.
13 Jak zobrazím obsah adresáře, který se vejde na jednu stránku?
14 Jak nainstalovat R? Na webu R je nápověda.
15 Jak zjistím jakou mám verzi? cat /etc/os-release Vypíše informace k verzi.
16 Jak nainstalovat Gephi? sudo snap find gephi

(heslo)

sudo snap install gephi

  1. příklaz hledá snap (balíček) s gephi
  2. příkaz nainstaluje gephi
17 Jak odinstalovat Gephi? sudo snap remove gephi

sudo apt-get autoremove

Druhý krok odinstaluje nepoužívané dependencies a je dobré ho udělat.
18 Jak najít package?
19 Jan nainstalovat OpenRefine? - Jelikož nemá snap, zjistím po zadání "sudo snap find refine", musím použít jinou cestu instalace. Zdá se, že se OpenRefine neinstaluje. Pouze se stáhne, rozbalí a spustí přes terminál příkazem ./refine ve složce OR. Otevře se v záložce prohlížeče.
20 Jak najít snap?
21 Jak najít nainstalované balíčky (snapy)? sudo snap list
21 Jak se přemísťovat ve stromu adresářů? ls

cd (název adresáře)/cd ..

  1. vypíše aresáře soubory v aktuálním adresáři
  2. přejde do daného adresáře/odzkouší o jeden adresář níž
22 Jak přidat tiskárnu do Opery? Stačí pouze přidat v systému. Pokud je ale Opera snapem, je potřeba udělit jejímu balíčku práva.
23 Jak vytvořit iso flašku?
24 Jak zjistím jakou mám verzi Javy? java -version
25 Jak přidat program do PATH?
26 Jak updatovat Javu?
  1. sudo apt update
  2. sudo apt install default-jre
  1. updatuje repozitáře
  2. nainstaluje defaultní jre (?)
27 Jak odinstalovat gscan2pdf?
  1. sudo apt get remove gscan2pdf
  2. y+enter
28 Jak nainstalovat program, který není ve snapu?
29 Jak nainstalovat Edge? Ověřené řešení viz: https://www.omgubuntu.co.uk/2021/01/how-to-install-edge-on-ubuntu-linux
30 Jak nainstalovat ET na Ubuntu 22?
31 Jak restartovat počítač?
32 Jak nainstalovat OBS Studio?
33 Jan nainstalovat gscan2pdf?
  1. sudo apt update
  2. sudo apt-add-repository ppa:jeffreyratcliffe/ppa
  3. sudo apt install gscan2pdf
  1. dobrá praxe je updatovat systém
  2. pak se stáhne patřičný repozitář
  3. následně se gscan2pdf nainstaluje
34 Jak nainstalovat aplikaci eObcanka?
35 Jak vyberu konkrétní screen, ke kterému se chci připojit?
36 Jak po napsání něčeho, rychle vložit již někde napsaný řetězec?
37 Jak vypsat soubory určitého typu na celém PC a zastavit vždy po pokrytí celé stránky?
38 Jak najít název souboru jinak volatelný přes man bash? whereis bash Ve výpisu je to třeti řetězec. Například při zadání whereis bash, dostaneme výpis

bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz kde bash: je název (příkazu), /usr/bin/bash je cesta k binárnímu souboru a /usr/share/man/man1/bash.1.gz je cesta ke stránce s manuálem.

39 Jak zjistit informace o souboru? stat (název souboru)

file (název souboru)

Záleží na tom co chceme zjistit. Například stat poskytné různé statistické informace o souboru, ale už neumí dobře určit formát souboru. Na dotaz "stat  -c  --format=%F (soubor)" třeba odpoví, že se jedná o běžný soubor. Pokud potřebujeme zjistit a jaký soubor se jedná, je tedy lepší použít příkaz file.
40 Jak rozbalit archiv gzip do určitého místa? cp (původní umístění) (nové umístění)

gunzip (název archivu)

Jelikož funkce gunzip neumožňuje rozbalit archiv do určitého místa, je potřeba tuto operaci provést v krocích a nejprve daný archiv do určitého místa překopírovat příkazem cp.
41 Jak upgradovat balíčky? sudo apt updatesudo apt upgrade(sudo apt autoremove)
  1. synchronizuje index balíčků
  2. stáhne dostupné updaty balíčků
  3. pokud výpis hlásí, že některé balíčky není potřeba, je možné je odebrat

Otázky[editovat]

Při práci s terminálem mohou vyvstat i různé otázky, které se nevejdou do sekce Jak něco udělat. Nebojte se a klidně zapište své otázky níže.

Č. Otázka? Odpověď Poznámky
O.1 Co je to snap? Snap je balíček softwaru a závislostí, snap je nástroj pro manipulaci se snapy.
2 Co je adresář "/dev/sda5" a případně sda1? Označují části disků. /dev/sda je disk a sda 1 a 5 jsou jeho části.
3 Co je v adresáři udev? Ovladač jádra OS, tedy userspace /dev
4 Co je to "mounting"?
5 Co je to /dev? Označuje umístění souborů.
6 Jaký je minimální prostor pro spuštění OS? Asi 8 G.
7 Kde se nachází repositories a jak se najdou?
8 Co je to distro a jak ho zjistím? Distro, je distribution, tedy operační systém využívající Linux kernel. Takže například Ubuntu je distro. V příkazovém řádku stačí zadat cat /etc/*-release.
9 Co je to snap? Snap je balíček softwaru a závislostí, snap je nástroj pro manipulaci se snapy.
10 Kdo vytváří snapy? Vymysleli je Ubuntu vývojáři ve verzi 16.04. Asi kdokoliv, ale ne ke všemu jsou snapy.
11 Co je to socket?
12 Co je to system daemon? Program, který stále běží, aby systému zajistil služby, které potřebuje.
13 Co je to $PATH? Proměnná prostředí, která systému říká ve kterém adresáři hledat, když uživatel zadává příkazy v terminálu. Obsahuje soubor, kde jsou v textové podobě uloženy texty k adresářům (path - cesta k adresáři).
14 Co je to main?
15 Co v ls označuje světle modrá barva? Symbolický odkaz, měkký odkaz, přesměrování - soubor obsahující odkaz na jiný soubor či adresář (může obsahovat i síťový odkaz).
16 Co je to /etc/alternatives/?
17 Jak vypsat seznam všech příkazů?
18 Lze si aliasem přepsat existující příkaz? Ano, ale pokud se to neuloží do .bashrc, tak se to po restartu nezapamatuje.
19 Co to znamená, když v terminálu nejde psát?
20 Co v bashi znamená --? Pokyn jádru neinterpretovat další možnosti (vyjma pozičních parametrů (parametr, který začíná číslem (vejma nuly))). Některé příkazy to ovšem nemusí akceptovat, jako například vestavěný příkaz echo.
21 Proč se text v konzoli nevykresluje tak jak by měl podle manuálu? Například boltem a kurzivou.
22 Jak rozumět synopsi v manuálech jednotivých příkazů? Které znaky se vypisují a které ne?
23 Jaké jsou způsoby zvýraznění syntaxe?

Chybová hlášení[editovat]

Při práci s terminálem narazíme na celou řadu chybových hlášení, je dobré jim rozumět.

Č. Hlášení Vysvětlení
CH.1 Exception in thread "main" java.lang.UnsatisfiedLinkError Chybové hlášení Javy. Program volá jinou verzi Javy, než je k dispozici v PATH. Pokud tedy máme správnou verzi Javy, ale nemáme ji v PATH (viz O.13) nebude to fungovat.
CH.2 bash: cd: java: Not a directory
3 No remote refs found similar to ‘flathub’
4 E: Unable to locate package

Problémy[editovat]

1: Nejde otevřít adresář[editovat]

  • tak nakonec se zjistilo, že se nejedná o adresář (modře po příkazu ls), ale o redirekt (světle modře) - prostě na tom černém pozadí ty barvy nejsou tak zřetelný

2: Nejde spustit VicuñaUploader[editovat]

  • stáhnu si verzi, robalím, poklikám na soubor "vicuna" a nic (otevře se terminál a zase zavře)
  • při spuštění programu z terminálu, tedy J.8, mit hlásí chybu CH.1
    • tato chyba může být způsobena tím, že je nainstalova headles java, opravím to přeinstalací normální javy, například příkazem
      sudo apt install openjdk-17-jdk
      
    • případně se dají doinstalovat další součásti javy, viz návody

3: V terminálu je tilda (~) a nejde v něm pracovat[editovat]

  • jediné na co terminál reaguje je enter, ale vždy vypíše novou řádku s uživatelským jménem ukončeným tildou
  • může jít o to, že je poškozen systém adresářů, protože došlo k vybytí při zapnutí systému
  • některé příkazy ale fungují
  • ŘEŠENÍ: nakonec se ale ukázalo, že LT funguje a že písmo mělo stejnou barvu jako pozadí a nebylo vidět.

Dobrá praxe[editovat]

Jaká je dobrá praxe při správně Ubuntu systému.

  • před každou instalací spustit update:
    sudo apt update
    
  • po odinstalování sw:
    sudo apt-get autoremove
    

Poznámky[editovat]

Příkazy[editovat]

Č. Příkaz Co znamená Česky Co dělá Příklad Popis příkladu Poznámky
1 man manual nápověda Pokud existuje manuál k příkazům, zobrazí, ho. man rm vypíše nápovědu k příkazu rm Pokud manuál neexistuje, lze zkusit příkaz help
2 ls
3 dir
4 rm remove odebrat
5 cd change (the working) directory změnit pracovní adresář umožňuje přesouvat se mezi adresáři cd .. vrátí se ve stromu adresářů o jednu zpět
6 du odhadne obsazení disků
7 df disk free volný disk ukazuje obsazenost disku
8 sudo superuser do superuser dělá spustí příkaz jako superuser
9 find find najít hledá soubor napříč adresáři
10 clear clear vyčistit vyčistí obrazovku clear vyčistí obrazovku
11 exit exit opustit ukončí proces exit zavře terminál
12 whereis where is kde je najde program, ovšem programu musí být v PATH whereis gimp najde adresáře, kde je GIMP
13 lscpu list CPU vypiš CPU vypíše informace o PC lscpu vypíše parametry hardwaru
14 apt advanced package tool pokročilý nástroj balíčků nástroj pro zjednodušenou práci s balíčky sudo apt update
15 install
16 cat
17 dpkg debian package (manager) nástroj pro balíčky debian nástroj pro manipulaci s balíčky debian
18 connect connect spojení Zahájí spojení do zásuvky (socket)
19 systemctl Operuje s nástrojem systemd
20 chmod change file mod bits
22 source Příkaz spouštějící určitý soubor v konkrétním jádře
23 ll
24 help help nápověda Pokud má daný příkaz nápovědu, tak ji vypíše na obrazovku. help cd nabídne kompletní nápovědu pro příkaz cd

Nástroje[editovat]

Č. Název Co to znamená Česky Co to umí Poznámky
1 snap Nástroj pro manipulaci se snapy (tj. balíčky)
2 cups Open source sw zajišťující komunikaci od editoru (Word) do tiskárny.
3 systemd Je to systémový démon (viz O 12), který se spouští hned při startu.
4 fwupd Je systémový démon
5 apt Nástroj pro manipulaci s debs (tj. balíčky)

Další (slovníček)[editovat]

  • snap - zkratka pro Snap package, balíček
  • Snap - nástroj pro manipulaci se snapy, tj. balíčky
  • package -

Odkazy[editovat]

Externí odkazy[editovat]