Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
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é?