Bash pro začátečníky/Otázky

Jak používat klasifikační nálepkuTato stránka je součástí kurzu:
začátečníci
Příslušnost: všeobecná

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. test

Č. 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.
O.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.
O.3 Co je v adresáři udev? Ovladač jádra OS, tedy userspace /dev
O.4 Co je to "mounting"?
O.5 Co je to /dev? Označuje umístění souborů.
O.6 Jaký je minimální prostor pro spuštění OS? Asi 8 G.
O.7 Kde se nachází repositories a jak se najdou?
O.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.
O.9 Co je to snap? Snap je balíček softwaru a závislostí, snap je nástroj pro manipulaci se snapy.
O.10 Kdo vytváří snapy? Vymysleli je Ubuntu vývojáři ve verzi 16.04. Asi kdokoliv, ale ne ke všemu jsou snapy.
O.11 Co je to socket?
O.12 Co je to system daemon? Program, který stále běží, aby systému zajistil služby, které potřebuje.
O.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).
O.14 Co je to main?
O.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).
O.16 Co je to /etc/alternatives/?
O.17 Jak vypsat seznam všech příkazů?
O.18 Lze si aliasem přepsat existující příkaz? Ano, ale pokud se to neuloží do .bashrc, tak se to po restartu nezapamatuje.
O.19 Co to znamená, když v terminálu nejde psát?
O.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.
O.21 Jak rozumět zápisu užití příkazů v manuálu?
O.22 Jaká je dobrá praxe při práci v terminálu?
O.23 Jaké existují metaznaky? mezera, tabulátor, nová řádka,|, &, ;, (, ), <, >
O.24 Co jsou potom v bashi tyto závorky: []?
O.25 Co značí tečka (.)? Označuje aktuální pracovní adresář.
O.26 Co je to token? Token je sekvence, jednoho nebo více znaků.
O.27 Může se instlací upgradovat software? Ne, když instaluji jinou verzi sw, tak budu mít dvě verze a budu muset určit, která se má používat. Ale nejedná se o upgrade.
O.28 Používá Ubuntu MATE k něčemu Python?
O.29 Jak zjistím jaký mám model PC? sudo dmidecode | grep -A3 '^System Information'
O.30 Jak zjistím, kolik místa na disku zabírají soubory?
O.31 Co je to binary? Binární soubor (anglicky binary) je soubor obsahující binární člověku nesrozumitelný kód.
O.32 Co je to source file? Soubor obsahující instrukce k programu.
O.33 Jaké příkazy se používají pro vyhledávání souborů? find, whereis, which, (p)locate
O.34 Jaká jsou pravidla pro dávání řetězců do uvozovek?
O.35 Jak určím, která verze programu se bude používat.
O.36 Proč mám nainstalováno více verzí pythonu? Tedy proč obecně mít více verzí a ne jednu, která se bude upgradovat.
O.37 Co je to software-properties-common?
O.38 Co je to ppa? Znamená to Personal Package Archive, jsou to balíčky pro uživatele Ubuntu.
O.39 Jaký je rozdíl mezi ppa a repozitářem? Repozitář je kolekce balíčků na vlastním serveru, kdežto PPA je kolekce na hostovaném serveru firmy Canonical (firma, která vyvíjí Ubuntu). Následníkem PPA jsou snapy (také poskytované firmou Canonical), které jsou lépe dohledatelné a snad i bezpečnější.
O.40 Proč se musí oficiální balíčky installovat a o čem ta instalace je?
O.41 Kde se nachází balíčky?
O.42 Jakou příponu mají balíčky?
O.43 Co je to kompilace? Převod programu ze zdrojového kódu do spustitelného binárního souboru. Umožňuje optimální využití prostředků daného počítače.
O.44 Jak se updatují balíčky?
O.45 Co dělá příkaz sudo apt update? Tento příkaz updatuje informace o balíčcích dostupných na webu. Může se tak objevit nový stáhnutelný balíček, či informace, že lze některé balíčky, repetive jejich obsah upgradovat.
O.46 Jaká jsou pravidla pro tvorbu názvů příkazů?
O.47 Kde bere snap informace o balíčcích? Informace o snapech se do PC nestahují, jako informace o apt balíčcích, respektive se dají stáhnout k jednomu konkrétnímu balíčku, který se vyhledává. Ty se dají vyhledat pomocí příkazů snap find balíček, či snap search balíček.
O.48 Co to znamená nainstalovaný repozitář?
O.49 Jaké typy balíčků pro Ubuntu existují?
O.50 Jaké jsou strategie zálohování? Ideálním způsobem zálohování, je zálohovat kód v Githubu, kdy se vyrovnávají změny v kódu, což odpovídá obecné metodice nazvané differential backup, kdy se musí nejprve provést kompletní backup a pak se ukládají pouze informace o změnách. Na Linuxu takový backup umí např. program Backups. Hodně věcí jde také dělat příkazem rsync, a pak jde vytvořit skript pro pravidelné backupy a dát ho do cronu. Například u Backups je dobré některé adresáře vyjmout, protože se backupují jinde a u některých je potřeba dávat pozor, aby neobsahovali klíče a hesla, které si může někdo na uložišti otevřít (je tedy potřeba mít zabezpečené uložiště, nebo zakódovaná hesla). Dobré je zálohovat na 3 různých místech (např. PC, datadisk a cloud). Někdo také řeší způsob uložení na discích, tzn. rozmístit všude po disku/ích, kdyby se některé části disku rozbili, aby bylo možné data obvnovit? U Linuxu je dobré dělat backup nastavení systému (něktéré systémy vytváří system snapshots systému). Případně se to dělá nástrojem Timeshift. Nicméně Backups a Timeshift jsou programy a bylo by dobré, se podívat co přesně dělají a pak vytvořit například svůj vylepšený v terminálu.
O.51 Lze zálohovat pouze změny (roztřídění souborů, v dokumentech? Ano, differential backup by to měl zařídit.
O.52 V jakém pořadí Shell interpretuje příkazy a skrypty?
O.53 Kde skladovat uživatelské skripty? Patří do /usr/local/bin, kde je nepřepíší distro upgraty a další změny.
O.54 Co to je copy-region-as-kill?
O.55 Co to je kill ring?
O.56 Je nějaký intuitivnější editor než nano? Ano, třeba micro.
O.57 Jak se říká úvodníku skriptu Bashe (tedy #!/bin/bash)? Shebang a někdy též (či dříve) sharp exclamation či hashbang.
O.58 Co znamená #!/bin/bash? # je v bashi úvodníky pro komentář. #! je pak tzv. shebang, který označuje spustitelný soubor. /bin/bash je pak cesta k interpretu, kterým se má tento soubor spustit. Doslova řečeno, cesta k interpretu se pošle do shebang a tím se to celé rozchodí. V tomto případě je soubor spuštěn v shellu Bashe. Jedná se o analogii windowsovského exe souboru.
O.59 Jak začíná v Bashi kometář? Hashtagem (#).
O.60 Co je to argument a jak vypadá? Argument je část informace, která se posílá do příkazu k interpretaci. Někdy se jí říká též parametr a v Bashi jsou argumenty příkazů uvedeny v sekci Options. Jedná se tedy o řetězce, označené jako -u, -t, --timestamp atd. Jednoduchým příkladem je ls -a, tedy argument -a se posílá do příkazu ls. ls -a vypíše seznam skrytých souborů.
O.61 Jsou nějaké příkazy, které hlídají čas, nebo dělají repetitivní akce v čase? Například nástroj cron, který opakovaně spouští jiné věci.
O.62 Co je to knihovna ve smyslu Bashe? Kolekce souborů různého druhu zajišťující určitou repetitivní činnost.
O.63 Co je to rutina (angl. routine)? Jiné označení pro počítačový program.
O.64 Jaký je rozdíl mezi adresáři lib, lib32, lib64 a libx32? V lib jsou knihovny s programy v programovacím jazyce C, které využívají programy uložené v adresáři bin, kernel, nebo zařízení. lib32 a lib64 obsahují knihovny, které podporují vícečetnou architekturu. libx32, se pravděpodobně přidalo s instalací nějakých doplňků.
O.65 Co je GTK+ dialog? Nějaké dialogové okno z dílny GTK.
O.66 Jaké jsou konvence pro používání uvozovek?
O.67 Co znamená značka > a nemožnost zadat další příkaz? Například znamená pokračování příkazu na druhé řádce. Bash shell, totiž detekuje příkaz a pokud si myslí, že je nedokončený (například chybějící komentovací značka) tak nabídne takto další řádku příkazu. Vyzkočit se z toho dá např. příkazem CTRL+C.
O.68 Co dělá klávesa CTRL+SHIFT+D?
O.69 Co je to CLI?
O.70 Jaká klávesová zkratka ukončí proces v terminálu MATE, pokud použiji zkratku CTRL + C pro něco jiného? CTRL + SHIFT + C
O.71 Co jsou to keybindings?
O.72 Jak otestovat přerušení procesu?
  1. sleep 5 && echo test
  2. klávesová zkratka pro přerušení procesu
O.73 Jak se jmenuje část za příkazem? argumenty
74 Co dělá příkaz pip? Instaluje balíčky Pythonu.
75 Co je python-dev v sudo apt-get install python3-pip python-dev? python-dev je druhý balíček, který se má instalovat. Celý kód tedy instaluje dva balíčky za použití příkazu apt. Prvním je python3-pip a druhým python-dev.
76 Co je to xclip? Nástroj umožňující kopírovat něco z a do GUI pomocí X11.
77 Mohu používat naráz xclip i xsel?
77 Co značí > v terminálu? Že terminál očekává nějaký další vstup. Ukončit se dá třeba stiskem zkratky CTRL+D.
O.78 Co je .bash.d? Adresář, který obsahuje konfigurační bash scripty.
79 K čemu se využívají jednotlivé typy souborů na Linuxu?
  • /etc/ - editable text configuration - konfigurační a shellové soubory
    • /etc/alternatives/ - (pouze Debian) - symlinky na různé verze podobného sw
    • /etc/apt/ - (pouze Debian) - komfigurační soubory vztahující se k nástroji APT (Advance Package Tool)
      • /etc/apt/sources.list.d/ - doplňkové odkazy na repozitáře
      • /etc/apt/trusted.gpg.d/ - GPG klíče pro ověření autenticity balíčků
    • /etc/cron.daily/ - systémový plánovač úloh cron zajišťuje každodenní spustěžní skryptů, pokud je počítač zapnutý (ještě mohou být /cron.hourly/, /cron.weekly/, /cron.monthly/)
    • /etc/default/ - konfigurační soubory, tedy jak se mají jednotlivé služby spouštět
  • /home/juan/.cache/ - uživatelsky specifické dočasné soubory, skrytý adresář
  • /home/juan/.config/ - uživatelské konfigurační soubory
  • /snap/ - aplikace nainstalované snapem
  • /var/ - soubory, které se mohou měnit v průběhu běhu systému (odtud anglické variable, tedy var)
    • /var/lib/dpkg/ - informace a metadata o balíčcích, které využívá nástroj dpkg (balíčkovací nástroj pro Debian, který je využíván nástrojem Apt)
      • /var/lib/dpkg/info/microsoft-edge-stable.list - seznam všech souborů a adresářů, které byly nainstalované s Microsoft Edge
      • /var/lib/dpkg/info/microsoft-edge-stable.postrm - skript se spouští po odstranění balíčku, aby po něm uklidil
  • /usr/bin/ - spustitelné binární soubory a skripty
  • /usr/share/ - dokumentace, ikonky, zvuky, jazykové lokalizace programů
    • /usr/share/applications/ - soubory typu *.desktop pro GUI prostředí obsahující informace o spouštění programů
    • /usr/share/doc/ - dokumentační soubory programů
    • /usr/share/icons/ - ikony programů
    • /usr/share/man/ - manuálové stránky spustitelné příkazem man z terminálu
    • /usr/share/menu/ -
80 Jak nainstalovat Windows jako druhý operační systém?
81 Co znamená subl -?
82 Jak nainstalovat clamAV?