+ All Categories
Home > Software > Základní práce s příkazovým řádkem

Základní práce s příkazovým řádkem

Date post: 22-Jan-2018
Category:
Upload: peckadesigncz
View: 1,056 times
Download: 1 times
Share this document with a friend
46
FB: facebook.com/peckadesign TW: @peckadesign ZÁKLADNÍ PRÁCE SPŘÍKAZOVÝM ŘADKEM Milan Pála PeckaDesign
Transcript
Page 1: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

ZÁKLADNÍ PRÁCE S PŘÍKAZOVÝM ŘADKEM

Milan PálaPeckaDesign

Page 2: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

Page 3: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

Page 4: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

Page 5: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

HISTORIE

Page 6: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

POSIXPortable Operating System Interface for Unix je standard pro jednotné

rozhraní systémů jak pro programátory, tak pro uživatele. Je to norma splňující certifikaci systémů UNIX a vlastní ji Linux a Mac OS X.

https://cs.wikipedia.org/wiki/Portable_Operating_System_Interface

Page 7: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

POSIX NA WINDOWSNa Windows je kolekce programů Cygwin portující

POSIX pro Windows.

https://cs.wikipedia.org/wiki/Cygwin

https://www.cygwin.com/

Page 8: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UNIXOVÝ SHELL

Textové uživatelské rozhraní, které po přihlášení uživatele vytvoří příkazový řádek.

V OS DOS byl COMMAND.COM, na dnešních Windows cmd.exe a PowerShell.

Shell interpretuje zadávané příkazy, spouští programy a umožňuje spouštět skripty.

https://cs.wikipedia.org/wiki/Unixový_shell

Page 9: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UNIXOVÝ SHELL

Syntaxe příkazů: >příkaz [přepínače] [parametry] < [vstupní soubor] > [výstup]

Přepínače: • krátké, jednoznakové: -l, -a, -h, -lah • dlouhé: --force, --format=single-column

Parametry: • neuvozené: origin/master, soubor.txt

Page 10: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

PŘÍKAZOVÁ ŘÁDKA

Prompt: uživatel@počítač:adresář#_

Page 11: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

JAK ZÍSKAT NÁPOVĚDUManuálové stránky utility

>man grep :q

Nápověda utility>grep --help

Googleman grep

Page 12: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

STDOUT, STDIN, STDERR, PIPE

>cat soubor > novy_soubor >cat soubor >> novy_soubor_pro_pridani >program > vystup.log 2> chyby.log >program 2&>1 > vystup.log >program < soubor.txt > vystup.log > >cat soubor.txt | program > vystup.log >cat chyby.log | grep “2015-11-05” | grep Notice

Page 13: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

ADRESÁŘOVÁ STRUKTURA A

SOUBORY

Page 14: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

STRUKTURA

/ - kořenový adresář /home - domovský adresář uživatelů /bin - základní programy spustitelné uživatelem /sbin - programy nespustitelné běžným uživatelem /mnt - dočasně připojené svazky /etc - konfigurační soubory /var - proměnná data

https://cs.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Page 15: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

AKTUÁLNÍ ADRESÁŘ

>pwd /Users/milan

pwd - print name of working directory

Page 16: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VÝPIS AKTUÁLNÍHO ADRESÁŘE

>ls Applications Documents Movies Snapshots >ls -lah total 1223304 drwxr-xr-x+ 74 milan staff 2,5K 2 lis 11:55 . drwxr-xr-x 6 root admin 204B 1 říj 12:45 .. -rw-r--r--@ 1 milan staff 20K 24 říj 17:53 .DS_Store drwx------ 26 milan staff 884B 2 lis 12:23 .Trash drwxr-xr-x 3 milan staff 102B 23 říj 08:15 .WebIde100 drwxr-xr-x 10 milan staff 340B 23 říj 22:18 .ssh drwx------ 5 milan staff 170B 13 bře 2015 Applications

ls - list directory contents

Page 17: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VELIKOST ADRESÁŘEdu - estimate file space usage

>du . 3328 ./.bash_sessions 24 ./.boot2docker/certs/boot2docker-vm 24 ./.boot2docker/certs >du -sh . 548M .

Page 18: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VYTVOŘENÍ ADRESÁŘE

mkdir - make directories

>mkdir novy/adresar mkdir: novy: No such file or directory >mkdir -p novy/adresar >ls novy adresar

Page 19: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

SMAZÁNÍ SOUBORU/ADRESÁŘE

rm - remove files or directories

>touch novy/soubor >rm novy/soubor >rm novy/ rm: novy/: is a directory >rm -r novy/ >rm -ir novy/ examine files in directory novy/? y

Page 20: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

KOPÍROVÁNÍ

>cp adresar1/soubor adresar2/ >ls adresar2 soubor >cp adresar1 adresar2 cp: adresar2 is a directory (not copied). >cp -r adresar1 adresar2 > ls adresar2 soubor adresar1

cp - copy files and directories

Page 21: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

TOTAL COMMANDERmc - Visual shell for Unix-like systems.

Page 22: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

PRÁCE S TEXTEM

Page 23: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VYPASÁNÍ OBSAHU SOUBORUcat - concatenate files and print on the standard output

>cat soubor Ahoj >cat -n soubor 1 Ahoj

Page 24: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VYPSÁNÍ ČÁSTI SOUBORU

head - output the first part of files

tail - output the last part of files

-n, --lines=K

-n, --lines=K -f

Page 25: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VYPSÁNÍ ČÁSTI SOUBORU

dolu: šipka dolů, mezerník nahoru: šipka nahoru, b nápověda: h vypnutí: q vyhledání: / + Enter pohyb ne výsledcích vyhledávání: n/p

https://cs.wikipedia.org/wiki/Less_(Unix)

less

Page 26: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

NANOnano − Nano’s ANOther editor, an enhanced free Pico clone

>nano soubor

^X Exit, Y, Enter ^G Get Help

Page 27: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VIM

>vim soubor

vim - Vi IMproved, a programmers text editor

Command mode:i

Insert modeEsc

:vVisual mode

Esc:q - quit :q! - force quit :wq :x - write and quit

Shell

yy yank current line dd delete line p paste below cursor P paste above cursor

Page 28: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

VIM JAKO IDE

Page 29: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UŽIVATELSKÁ OPRAVÁNĚNÍ

https://cs.wikipedia.org/wiki/Přístupová_oprávnění_v_Unixu

Page 30: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UŽIVATELSKÁ OPRÁVNĚNÍ

Typ právaSymbolické vyjádřeníé

Binární vyjádření

Oktalové vyjádření

Čtení r 1OO 4

Zápis w O1O 2

Spuštění x OO1 1

Page 31: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UŽIVATELSKÁ OPRÁVNĚNÍ

Soubor Binární vyjádření

Čtení Čtení ze souboru Čtení adresáře

Zápis Zápis ze souboru Vytvoření, mazání, přejmenování souborů

Spuštění Spuštění Vstup do adresáře

Page 32: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UŽIVATELSKÁ OPRÁVNĚNÍ

644

Vlastník Skupina Ostatní

rwx r - - r - -421 OOO OOO

777

Vlastník Skupina Ostatní

rwx rwx rwx421 421 421

Page 33: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

>ls -la celkem 9,5M drwx------ 2 root root 4,0K led 17 2015 .aptitude -rw------- 1 root root 15K říj 28 14:31 .bash_history -rw-r--r-- 1 root root 568 led 24 2015 .bashrc drwxr-xr-x 2 root root 4,0K zář 30 22:17 cert

1. Typ souboru – pomlčka označuje obyčejný soubor, 'd' je adresář, 'l' symbolický odkaz 2. Oprávnění pro vlastníka, skupinu a ostatní uživatel (vždy tři oprávnění). Pokud není některé oprávnění

přiděleno, objeví se při výpisu pomlčka (–). 3. Počet odkazů na i-uzel (inode) 4. Vlastník objektu 5. Skupina, které objekt patří 6. Velikost objektu 7. Datum a čas poslední změny objektu 8. Název objektu

UŽIVATELSKÁ OPRÁVNĚNÍ

Page 34: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

KDO JSEM>whoami pecka >who milan console Nov 4 08:21 milan ttys000 Nov 4 08:31 >cat /etc/passwd ## # User Database ## nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0:System Administrator:/var/root:/bin/sh >cat /etc/group ## # Group Database # nobody:*:-2: nogroup:*:-1:

Page 35: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

UTILITY

Page 36: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

CRONcron -- daemon to execute scheduled commands

crontab --tables for driving cron

> crontab -u uzivatel -l # m h dom m dow command

03 * * * * php elasticsearch/delete-entities.php

> crontab -e

Page 37: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

GREPgrep - print lines matching a pattern

>tail -n 1000 log/error.log | grep Notice [2015-11-04 10-47-05] PHP Notice: Undefined index: onlyPublic in /var/www/vhosts/… [2015-11-04 10-47-10] PHP Notice: Undefined index: onlyPublic in /var/www/vhosts/…

-v, —invert-match -i, —ignore-case -n, —line-number

-A NUM, —after-context=NUM -B NUM, —before-context=NUM -C NUM, -NUM, —context=NUM

-R, -r, —recursive: grep -r hleadnyVyraz cesta

Page 38: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

SSHssh -- OpenSSH SSH client (remote login program)

>ssh uzivatel@pocitac uzivatel@pocitac >

Page 39: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

Metody autentizace: 1. Public key authentication 2. Password

SSH

Konfigurace pro ssh se získává z: 1. parametrů příkazu 2. ~/.ssh/config 3. /etc/ssh/ssh_config

Page 40: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

Host nazevHosta HostName server.cz IdentityFile ~/.ssh/.id_rsa PasswordAuthentication yes|no Port 22 User uzivatel

SSHCONFIG

Struktura souboru config:

Page 41: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

ssh-keygen - authentication key generation, management and conversion

SSH-KEYGEN

>ssh-keygen >ssh-keygen -t rsa -b 4096 -C "[email protected]"

https://help.github.com/articles/generating-ssh-keys/

>ls -la ~/.ssh/ -rw-r--r-- 1 milan staff 1040 23 říj 19:50 config -rw------- 1 milan staff 1675 25 črv 2014 id_rsa -rw-r--r-- 1 milan staff 407 12 čvc 2014 id_rsa.pub

Page 42: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

SSH

Zapamatovaní vzdálení uživatelé: ~/.ssh/known_hosts

Povolení uživatelé pro připojení: ~/.ssh/authorized_keys

Page 43: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

SCPscp - secure copy (remote file copy program)

>scp host:vzdalenySoubor lokalniCesta

>scp -r host:vzdalenaCesta lokalniCesta

Page 44: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

SSH NA WINDOWS

http://www.putty.org/

Putty, Puttygen, Pageant

Page 45: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

screen — Multiplex a physical terminal between several processes (typically interactive shells).

>screen -r >screen -l >screen -S nazev

>screen ^A D - detach ^D - logout

SCREEN

Page 46: Základní práce s příkazovým řádkem

FB: facebook.com/peckadesign TW: @peckadesign

DĚKUJI ZA POZORNOST

Milan Pála

Máte dotazy? E-mail: [email protected]


Recommended