Jump to content

Linux - Základní příkazy


Samnick

Recommended Posts

1.png.a65642d50afcaf041b8a227688b964f3.png

 

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í parametru
Pozor! 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 disku
Adresář - 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

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...