Bash pro začátečníky/Jak něco udělat
Tato stránka je součástí kurzu: | |
začátečníci | |
Příslušnost: všeobecná |
Jak něco udělat?
editovatTerminá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 |
J.2 | Jak zobrazit nápovědu k příkazu? | man příkaz , help příkaz , info příkaz , příkaz --help , příkaz -?
|
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.
|
J.3 | Jak zobrazit skryté adresáře? | ls -a | Možno též dir -a |
J.5 | Jak zjistit kolik mám volného místa? | df -Th
df -h -t (systém souborů) |
|
J.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 .
|
J.7 | Jak nainstalovat KdenLive? | sudo snap find kdenlive
(heslo)
|
|
J.8 | Jak spustit program? | echo $PATH
|
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). |
J.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. |
J.10 | Jak nainstalovat Wine? | lscpu
sudo apt install wine64 |
|
J.11 | Jak zjistit, kolik ja na disku volného místa? | df -h | Jde i df, ale df -h (human) je čitelnější. |
J.12 | Jak zobrazím strom adresářů? | Nebo si najít defaultní strukturu na webu. | |
J.13 | Jak zobrazím obsah adresáře, který se vejde na jednu stránku? | ||
J.14 | Jak nainstalovat R? | Na webu R je nápověda. | |
J.15 | Jak zjistím jakou mám verzi? | cat /etc/os-release | Vypíše informace k verzi. |
J.16 | Jak nainstalovat Gephi? | sudo snap find gephi
(heslo) sudo snap install gephi |
|
J.17 | Jak odinstalovat Gephi? | sudo snap remove gephi
sudo apt-get autoremove |
Druhý krok odinstaluje nepoužívané dependencies a je dobré ho udělat. |
J.18 | Jak najít package (balíček)? |
|
Je nutno dodat, že se nerozlišuje hledání na webu, nebo hledání v počítači, protože informace o balíčcích pro příkaz apt jsou umístěny v počítači, ale samotné balíčky jsou umístěny na webu. Proto je dobré před samotným hledáním balíčku tyto informace updatovat přes apt get update . Jak najít balíček typu snap (J20), ppa či jiný je vysvětleno jinde.
|
J.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. |
J.20 | Jak najít snap? | snap find něco
|
něco nahradíme názvem hledaného softwaru |
J.21 | Jak najít nainstalované balíčky (snapy)? | sudo snap list | |
J.21 | Jak se přemísťovat ve stromu adresářů? | ls
cd (název adresáře)/cd .. |
|
J.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. | |
J.23 | Jak vytvořit iso flašku? | ||
J.24 | Jak zjistím jakou mám verzi Javy? | java -version | |
J.25 | Jak přidat program do PATH? |
|
|
J.26 | Jak updatovat Javu? |
|
|
J.27 | Jak odinstalovat gscan2pdf? |
|
|
J.28 | Jak nainstalovat program, který není ve snapu? | ||
J.29 | Jak nainstalovat Edge? | Ověřené řešení viz: https://www.omgubuntu.co.uk/2021/01/how-to-install-edge-on-ubuntu-linux | |
J.30 | Jak nainstalovat ET na Ubuntu 22? | ||
J.31 | Jak restartovat počítač? | ||
J.32 | Jak nainstalovat OBS Studio? | ||
J.33 | Jan nainstalovat gscan2pdf? |
|
|
J.34 | Jak nainstalovat aplikaci eObcanka? | ||
J.35 | Jak vyberu konkrétní screen, ke kterému se chci připojit? | ||
J.36 | Jak po napsání něčeho, rychle vložit již někde napsaný řetězec? | ||
J.37 | Jak vypsat soubory určitého typu na celém PC a zastavit vždy po pokrytí celé stránky? | ||
J.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
|
J.39 | Jak zjistit informace o souboru? | stat (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 .
|
J.40 | Jak rozbalit archiv gzip do určitého místa? | cp (původní umístění) (nové umístění)
|
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 .
|
J.41 | Jak upgradovat balíčky? |
|
|
J.42 | Jak zobrazit význam barev u příkazu ls? | ||
J.43 | Jak vypsat pouze adresáře? | ls -d */
|
-d jako directory má ve skutečnosti funkci zamezit zobrazení obsahu adresářů. Cesta za tím, pak zajišťuje výpis adresářů. Je to proto, že synopse příkazu ls je ls [OPTION]... [FILE]... |
J.44 | Jak upgradovat Python? | ||
J.45 | Jak zařídit, aby v terminálu fungovali zkratky CTRL+C a CTRL+V ?
|
V Terminálu: Edit: Keyboard Shortcuts...: poklikat na Copy a stisknout CTRL+C a to samé udělat s CTLR+V
|
|
J.46 | Jak zjistím, jestli mám nainstalovaný Python? | Začnu psát python a někde uprostřed kliknu na TAB. Tím dojde k doplnění případného řetězce.
|
Pokud dojde k doplnění řetězce, například pyt na python3 , vím, že mám minimálně Python verze 3x.
|
J.47 | Jak zjistím, jaké verze Pythonu mám nainstalované? | ls /usr/bin/python*
|
|
J.48 | Jaký je rozdíl mezi knihovnami a binárními soubory? | ||
J.49 | Jak nainstalovat nejnovější verzi Python? | ||
J.50 | Jak nainstalovat IDLE? |
|
|
J.51 | Jak zjistit, jestli něco není příkaz? | text + TAB
|
Začnu psát text a stisknu TAB, když mi to něco doplní, tak ten příkaz už existuje. Například p +TAB nic, py +TAB nic, pyt +TAB hodí python3
|
J.52 | Jak vytvořit alias? | ||
J.53 | Jak updatovat informace o ppa balíčcích? | ||
J.54 | Jak převést pdf do OCR? |
|
|
J.55 | Jak vytvořit shortcut pro příkaz? | ||
J.56 | Jak nainstalovat Avidemux? |
|
|
J.57 | Jak smazat adresář? |
|
|
J.58 | Jak nainstalovat software, který je pouze pro Windows? | ||
J.59 | Jak odinstalovat Avidemux sestavený ze zdrojového kódu? |
|
Pokud byl softare nainstalován zkombilováním binárních souborů, měl by ten, kdo nabízí nápovědu k instalaci uvádět i nápovědu k odinstalaci. V opačném případě je možné zkusit ručně odmazat některé soubory s Avidemuxem související, ale doporučuje se předtím zazálohovat systém. |
J.60 | Jak vytvořit spustitelný příkaz pro program? |
|
CHYBNÉ ŘEŠENÍ, FUNGUJE POUZE DOČASNĚ, NUTNÉ PŘEPSAT.
|
J.61 | Jak spustit MATE Calculator? | mate-calc
|
|
J.62 | Jak přenést do popředí MATE Calculator po stisku klávesnice kalkulačka? | ||
J.63 | Jak zobrazím práva k souboru? | ls -l název souboru
|
|
J.64 | Jak zobrazím informace o balíčku apt? | sudo apt-cache show název balíčku
|
|
J.65 | Jak otevřít Visual Code Studio z terminálu? | code
|
|
J.66 | Jak vytvořit někde soubor? | ||
J.67 | Jak updatovat RStudio? |
|
|
J.68 | Jak zadat zkratky CTRL+C a CTRL+V ve všech Bash shellech (např. i RStudio)? | ||
J.69 | Jak restartovat program? | ||
J.70 | Jak downgradovat program? | ||
J.71 | Jak vytvořit prázdný soubor? | touch název soboru
|
|
J.72 | Jak spočítat počet slov v textu? | ||
J.73 | Kde najdu soubory s rozložením klávesnic? | Obvykle v /usr/share/X11/xkb/symbols .
|
|
J.74 | Jak otevřít bashrc? | název textového editoru ~/.bashrc
|
Takže například micro ~/.bashrc , kde micro je název textového editoru ve kterém se bashrc otevře.
|
J.75 | Jak zjistím, které rozložení právě používám? | textový prohlížeč /etc/default/keyboard
|
Tedy například micro /etc/default/keyboard .
|
J.76 | Jak vyprázdnit paměť při kopírování? | ||
J.77 | Jak nainstalovat uživatelské rozvržení ze souboru v xkb? | ||
J.78 | Jak zkopírovat soubor z jednoho místa do druhého? | cp cesta ke zdrojovému souboru cesta k cílovému souboru
|
V praxi to může vypadat následovně: sudo cp diskD/Studium/Programování/cz-qwertz-prog-nnumbers-layout /usr/share/X11/xkb/symbols/ . Tedy soubor cz-qwertz-prog-nnumbers-layout kopíruji z adresáře Programování do adresáře symbols. Sudo tam dávám proto, že do složky usr může kopírovat pouze admin.
|
J.79 | Jak zobrazím obsah či inofrmace o knihovně libnotify ?
|
locate libnotify
|
Vyjedou mi všechny adresáře a soubory obsahující řetězec libnotify . Mohu se tak i podívat co je v adresářích libnotify* .
|
J.80 | Jak zjistím svůj default editor? | sudo update-alternatives --config editor
|
Default pro všechny uživatele má nejvyšší prioritu, pro konkrétnního uživatele je označen hvězdičkou. Zápis může vypadat následovně: Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/micro 100 auto mode
* 1 /bin/ed -100 manual mode
2 /usr/bin/code 0 manual mode
3 /usr/bin/micro 100 manual mode
4 /usr/bin/vim.tiny 15 manual mode
update-alternatives . První editor je globální pro všechny uživatele což se pozná i tím, že má nejvyšší prioritu. Priorita se určuje při instalaci, nebo se dá dodatečně změnit. Druhý editor má hvězdičku, tzn. že se použije jako default, všude tam, kde ho použije aktuální přihlášený editor. Nicméně některé aplikace využívající administrátorská práva, mohou použít právě editor pod číslem 0 . Záporná priority (v tomto případě editor ed -100 ) se dává těm editorům, které by se neměli stát defaultními.
|
J.81 | Jak přidat Micro do výběru select-editor ?
|
|
|
J.82 | Jak vyextrahovat data z tabulky obsahující určitý řetězec? |
|
|
J.83 | Jak odstranit z EXIFu fotky souřadnice? | ||
J.84 | Jak zmenšit rozlišení fotek? |
|
|
J.85 | Jak zobrazit rozložení klávesových zkratek v terminálu? | ||
J.86 | Jak hledat v manuálu? |
|
|
J.89 | Jak vyhledat nápovědu pro man(7)? | man 7 man
|
man man mi většinou hodí pouze sekci 1 manuálu k příkazu man . Pokud chci jinou sekci, jako například 7, musím psát man 7 man . Sedmá sekce se v manuálových stránkách označuje jako man(7).
|
J.90 | Jak si vytisknout manuálovou stránku? |
|
|
J.91 | Jak zobrazit dostupné tiskárny? | lpstat -p
|
|
J.92 | Jak vytisknout pouze část manuálové stránky? | ||
J.93 | Jak smazat soubor? | rm název souboru
|
Pokud jsem ve složce, kde je soubor umístěn, jinak se tam musím přemístit prostřednictvím cd .
|
J.94 | Jak provést více příkazů po sobě a zadat to na jednom řádku? | Ano, použitím logického operátoru && . Ten zajistí, že provedení prvního příkazu, bude zajištěno až po zdárném provedení prvního příkazu. Syntax tedy je 1. příkaz && 2. příkaz .
|
Příkladem může být skopírování souboru s jeho následným smazáním, tedy cp cesta k souboru cílový adresář souboru && rm cesta k původnímu souboru. Tedy po zadání cp "oznameni do okna.py" Tkinter/ && rm "oznameni do okna.py" příkaz cp zkopíruje soubor oznameni do okna.py do adresáře Tkinter a následně tento soubor v původním umístění smaže. Uživatel se tedy v tomto případě nacházel v adresáři, kde byl původní skript, proto nezadával cestu k souboru v případě příkazu rm , respetive cesta byl samotný název souboru.
|
J.95 | Jak smazat soubor v jiném než aktuálním adresáři? | Tak že se zadá cesta, např. rm Tkinter/vstup.py , smaže soubor vstup.py v adresáři Tkinter.
|
|
J.96 | Jak založit adresář? | mkdir název adresáře
|
|
J.97 | Jak přejmenovat soubor? | mv název souboru nový název souboru
|
Např. mv test.py "kalkulacka pokus.py" přejmenuje soubor test.py na kalulacka pokus.py.
|
J.98 | Jak nainstalovat Zotero? |
|
|
J.99 | Jak si zobrazit obsah terminálu i po jeho zavření? | ||
J.100 | Jak přidat tiskárnu? |