Samnick Posted February 23, 2023 Share Posted February 23, 2023 Pro práci se základními příkazy budeme potřebovat BASH - interpret příkazového řádku. Nejčastějším nástrojem pro vzdálené připojení k OS s BASH z OS Windows je např: SSH, Putty, mRemoteNG. Mnoho začínajících uživatelů již při připojování zaskočí že nevidí zda-li píšou heslo, nebo alespon zástupné *** znaky. Bash nepoužívá při zadávání hesla ani jiných citlivých údajů standardní výstup na obrazovce, aby se zabránilo jejich zobrazení nebo zaznamenání. Místo toho Bash používá speciální techniku nazývanou "přímý výstup" (angl. "direct output"), když uživatel zadává heslo, kód se automaticky skryje a na obrazovce se nezobrazuje. MAN Téměř každý příkaz v Linuxu má své parametry, dle kterých defingujeme způsob výstupu daného příkazu. Aby nebylo potřeba si všechny parametry pamatovat, můžeme nejčastěji použít příkaz -help Ale pro náročnější uživatele a celkové pochopení parametrů jsou nám k většině příkazů dostupné manuálové stránky. Parametry uvedené v hranatých závorkách nejsou povinné. Je-li v závorkách uvedeno několik možností oddělených svislou čárou (znak | „ pajpa “), znamená to, že si můžeme vybrat jen jednu z nabízených možností parametruPozor! Linux je case sensitive!! "a" není "A" Adresářová struktura Aktuální adresář - ten existuje vždy, neexistuje možnost nebýt v aktuálním adresáře můžeme používat: relativní cesty cd ../../.. cat mujpodadresar/fivem.txt absolutní cesty cat /home/mujpodadresar/fivem.txt Spustitelný soubor se nehledá v aktuálním adresáři ale hledá se v cestách z proměnné PATH (= proměnná daného prostředí) # prikaz.sh i když existuje prikaz.sh, nespustí se musí se explicitně říct, že chcete pustit soubor v aktuálním adresáři ./prikaz.sh „.“ je aktuální adresář Soubory a složky v Linuxu je všechno soubor, neexistuje složka, skutečné soubory jsou data na diskuAdresář - je jen soubor se seznamem souborů a informacíSokety - jsou soubory, které reprezentují síťové spojeníZařízení - disky, partition , klávesnice, periferie Protože je vše reprezentováno jako soubor, lze se vším pracovat způsobem:open, close, read, write, delete Linux nelpí na koncovkách, jsou mu zcela jedno. Spustitelný soubor nemá žádnou koncovku "exe". Spustitelný je, pokud má nastavený příznak (x) v oprávnění souboru. Zástupné znaky Zástupné znaky lze používat i na úrovni bash Shell vždy rozloží příkaz, která až následně vyvolá a zpracuje. * - cokoliv, i nic ? - jeden znak [a-f], [0-9] – jen určitý znak z dané množiny cat *.txt je ve skutečnosti: # cat a.txt b.txt c.txt ..atd Vstupy a výstupy Každý proces v Linux má 2 vstupy a 3 výstupy Vstupy (do procesu vstupuje) parametry na příkazovém řádku standardní vstup (stdin) Výstupy standardní výstup (stdout) chybový výstup (stderr) návratová hodnoty ● stdin, stdout a strerr lze různě propojovat a přesměrovávat a ukládat Ve výchozím stavu je v Linuxu stdin napojen vždy na klávesnici program < vstup.txt roura (pipe) | (pajpa) propojí stdout procesu nalevo se stdin procesu vpravo cat vstup.txt | grep ‚pepa‘ Pajp může být více a slouží k různému „filtrování“ a hledání v obsahu (např logu) Několik primitivních prográmků se spojí v silný nástroj cat soubor.txt | grep “Jiri“ | sort | head -n 10 Vezme jen řádky obsahující „Jiri“, setřídí, vypíše prvních 10 Např cat soubor.txt | bzip2 > soubor.txt.bz2 Ve výchozím stavu je vždy v Linuxu stdout nasměrován na obrazovku (terminál) program > vysledky.txt přesměrování do souboru (soubor se vytvoří či přepíše) program >> vysledky.txt přidání na konec souboru Např yes >> yes Přesměrování na vstup jiného programu (roura) program | tee vysledek.txt tee čte vstup, zapisuje jej do souboru a posílá na výstup STDERR - Proč má Linux dvě výstupové hodnoty? Proč nestačí mít jen jednu? Standardně nechceme aby se nám míchal obsah výstupu. Cílem je oddělit standardní výstup a chybový výstup program > vystup.txt výstup končí v souboru, chyby se vypisují na obrazovku program 2> chyby.txt výstup končí na obrazovce, chyby se zapisují do souboru program 2>&1 > vystup.txt obojí dostanu do souboru, nejprve přesměruji stderr do stdout, stdout pak do souboru Ukázka základních příkazů: man, cd, pwd, mkdir, rmdir, ls, cat, chmod/chown, reboot, date, free, uptime, top/htop, kill, nice, ps, time, useradd, su, passwd, host, ping man: zobrazí nápovědu k danému příkazu man ls cd: změní aktuální pracovní adresář cd /home/user/directory pwd: zobrazí aktuální pracovní adresář pwd mkdir: vytvoří nový adresář mkdir new_directory rmdir: odstraní prázdný adresář rmdir empty_directory ls: vypíše obsah aktuálního adresáře ls cat: vypíše obsah souboru cat file.txt chmod/chown: změní oprávnění přístupu nebo vlastníka souboru/adresáře chmod 755 file.txt chown user:group file.txt reboot: restartuje systém reboot date: zobrazí aktuální datum a čas date free: zobrazí informace o paměti free uptime: zobrazí čas běhu systému uptime top/htop: zobrazí informace o běžících procesech a jejich využití systémových zdrojů top htop kill: ukončí běžící proces kill 1234 nice: nastavuje prioritu běžícího procesu nice -n 10 command ps: zobrazí seznam běžících procesů ps aux time: měří časovou náročnost běžícího procesu time command useradd: vytvoří nového uživatele useradd newuser su: přepíná uživatele su username passwd: změní heslo uživatele passwd username host: zobrazí informace o doméně host example.com ping: testuje konektivitu sítě ping google.com 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.