Byla vydána OpenIndiana 2026.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).
Americký výrobce polovodičů onsemi (ON Semiconductor) zrušil plány na rozšíření výroby v rožnovském závodě v Česku za dvě miliardy dolarů (podle aktuálního kurzu zhruba 43,5 mld. Kč). Důvodem je vývoj na trhu.
O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.
Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.
Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.
V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Tento seriál je určen pro začátečníky. Postupně se vás pokusí naučit využívat BASH.
Bourne Again SHell je standardní interpret příkazů v Linuxu založený na Bourne shell. Funguje jako rozhraní mezi uživatelem a systémem. Jelikož je součástí GNU projektu, nebylo problémem ho portovat na unixové systémy, takže se jeho znalost uplatní i mimo Linux. Jeho funkce můžeme rozdělit na 3 základní části.
V interaktivním režimu čeká na zadání příkazu od uživatele. Příkazy mohou být buď přímo zabudované v shellu nebo samostatné programy napsané téměř v libovolném programovacím jazyku.
Pomocí systémových proměnných umožňuje přizpůsobení pracovního prostředí. Některé z těchto proměnných jsou přednastaveny systémem, ostatní nastavuje uživatel např. v inicializačních souborech při spuštění shellu.
Je to také velice mocný programovací nástroj. Když nám chybí nějaký program nemusíme ho hned psát v kompilovaném jazyku (C, C++, Ada, Java), ale je možné vyřešit náš problém vytvořením skriptu. Můžeme si tím ušetřit hodně práce a nebo právě naopak. Nejprve musíme důkladně analyzovat náš problém a zvolit správné řešení.
Zjistěte, jestli máte jako implicitní shell nastaven opravdu BASH. Možností je hned několik. Poslední příkaz zjistí, jaký shell používá implicitně váš systém.
$ echo $SHELL
|
Jestliže nemáte /bin/bash nastaven jako implicitní shell, napravte to následujícím příkazem a poté spusťte BASH, protože změny se projeví až po přihlášení.
$ usermod -s /bin/bash $USER
|
Vypsání hodnot všech proměnných známých aktuálnímu interpretu
příkazů (uvedl jsem jen některé z nich, je jich samozřejmě mnohem víc
" class="emo">).
$ set
|
Proměnná $PS1 definuje tvar primárního promptu
(zobrazuje se, když shell čeká na zadání příkazu). V definici
tvaru proměnných $PSn (n = 1, 2, 3, 4) můžeme použít
sekvence se speciálním významem. Ukážeme si pouze některé z nich.
\t - systémový čas (HH:MM:SS)\u - uživatelské jméno\W - název pracovního adresáře\$ - pro roota #, jinak $
$ PS1='[\t] \W\$ '
|
Proměnná $PS2 je tvar sekundárního promptu
(zobrazuje se když shell čeká na dokončení příkazu).
Chcete-li pokračovat v zadávání příkazu na dalším řádku,
stačí napsat \ a stisknout ENTER. Středník
použijete při spušťení více příkazů najednou.
$ echo "Na dalším řádku je výpis příkazu who"; \
|
Vypsání nastavení různých módů interpretu (uvedl jsem jen dva, je
jich opět mnohem víc). Druhý příkaz zapíná mód vi
a poslední ho znovu vypíná (takovýmto způsobem lze nastavit všechny módy).
$ set -o
|
Běžící program můžeme ukončit stiskem CTRL+c a standardní
vstup (např. v níže uvedeném příkladu) můžeme ukončit stiskem CTRL+d, ale
nejdříve musíme přejít na nový řádek.
$ wc
|
Každý proces má svůj jedinečný identifikátor PID. Spuštěný proces je závislý na svém rodiči (na procesu, ze kterého byl spuštěn). Při ukončení rodiče budou
automaticky ukončeni i všichni potomci. Pomocí příkazu nohup zajistíme nezávislost pro nově spouštěný proces a pomocí & ho spustíme na pozadí.
$ nohup ./skript.sh &
|
V případě, že nyní ukončíme shell, bude proces s PID 3043 (náš skript) dál pracovat. Proces můžeme ukončit zasláním SIGTERM (dovolí procesu uložit data na disk a dobrovolně se ukončit), ale tento signál může proces ignorovat.
Existují dva signály, které ignorovat nemůže, SIGSTOP (pozastaví proces) a SIGKILL (bez milosti proces zabije). Pro zaslání signálu můžeme použít kill nebo killall (POZOR ukončí všechny procesy zadaného názvu!). Použití ukazují následující příkazy (použijeme jeden z nich).
$ kill -SIGKILL 3043
|
Stiskem CTRL+z zašleme právě běžícímu procesu signál SIGSTOP,
zadáním příkazu fg ho opět probudíme a je-li proces
na pozadí, umístí ho na popředí. Příkazem bg přesuneme
naopak proces na pozadí. Nezadáme-li identifikátor procesu, je použit
poslední použitý identifikátor v rámci aktivního shellu.
$ mp3blaster
|
/etc/shells - použitelné přihlašovací shelly/etc/adduser.conf - výchozí hodnoty pro adduser/etc/profile - načítaný při přihlášení$HOME/.bash_profile - načítaný při přihlášení$HOME/.bashrc - načítaný při startu interpretu$HOME/.bash_logout - načítaný při odhlášení$HOME/.bash_history - evidence naposledy prováděných příkazůLze jí editovat jako ve dvou nejpoužívanějších (dle mého názoru
i nejlepších) textových editorech vi, Emacs (není to "pouze"
textový editor). Implicitní je mód emacs
" class="emo">. Zmíním pouze
několik příkazů jako ukázku, zbytek si můžete dohledat v dokumentaci.
Než začnete zkoušet klávesové zkratky, ověřte si, jestli máte zapnutý
mód emacs, případně ho zapněte.
$ set -o emacs
|
ESC b - posun o jedno slovo zpětESC f - posun o jedno slovo vzadESC d - smazání následujícího slovaCTRL+Y - vložení naposledy smazané položkyCTRL+K - smazání textu do konce řádkuCTRL+R - postupné vyhledávání v historii příkazůESC < - posun na první řádek historie příkazůTAB - pokus o obecné dopnění textuTAB TAB - jestliže existuje více možností doplnění, vypíše jeESC ~ - pokus o doplnění jména uživateleCTRL+X ~ - vypíše možné alternativy doplnění jména uživateleCTRL+X $ - vypíše možné alternativy doplnění jména proměnnéCTRL+X @ - vypíše možné alternativy doplnění jména počítačeESC TAB - pokusí se doplnit text z předchozích příkazů v historiiKlávesových zkratek a příkazů je opravdu hodně. Ale nemějte strach, časem vám přejdou do krve a znalost těch nejdůležitějších (z vašeho úhlu pohledu) se pro vás stane samozřejmostí. Když provádíte nějakou činnost v systému, vždy se ji snažte provádět co nejefektivnějším a nejrychlejším způsobem. Zkuste se zamyslet, jestli by to nešlo udělat lépe.
Své nové objevy si poznamenávejte na papír, který nechávejte ležet vedle klávesnice. Budete to mít všechno hezky po ruce, než si to potřebné pro vás častým používáním zapamatujete. Tak vám z papíru budou postupně některé věci ubývat a nové zase přibývat.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Diskuse byla administrátory uzamčena
$ echo $SHELL
/bin/bash
$ cat /etc/passwd | grep $USER
fuky:x:1000:1000:Jan Fuchs,,,:/home/fuky:/bin/bash
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 čen 19 02:24 /bin/sh -> bash
zkousel jsem to zadat do konzole - jak poradcich, tak i cele najednou a porad jen command not found....
Asi to nemam cpat do konzole, ale jinam, ze?
Všimni si, že je na konzoli před blikajícím kurzorem znak $ nebo #. Znak dolaru tě informuje o tom, že jsi "obyčejný uživatel" a znak zahrádka o tom, že jsi root (tj. máš neomezená práva, tutíž můžeš konfigurovat přípdaně zničit systém jak si Ti jen zlíbí).
Před každým příkazem tedy píši tento znak, aby jsem odlišil příkaz od výstupu a naznačil jaká oprávnění musím pro jeho spuštění mít. Např. aby jsem mohl spustit příkaz usermod musím mít rootovská oprávnění.
Takže zadej příkaz:
echo $SHELL
A s velkou pravděpodobností dostaneš odpověď (tj. Tvůj shell):
/bin/bash
Už je Ti to jasné?