SlideShare a Scribd company logo
1 of 46
Download to read offline
FB: facebook.com/peckadesign TW: @peckadesign
ZÁKLADNÍ PRÁCE
S PŘÍKAZOVÝM ŘADKEM
Milan Pála

PeckaDesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
HISTORIE
FB: facebook.com/peckadesign TW: @peckadesign
POSIX
Portable 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
FB: facebook.com/peckadesign TW: @peckadesign
POSIX NA WINDOWS
Na Windows je kolekce programů Cygwin portující
POSIX pro Windows.
https://cs.wikipedia.org/wiki/Cygwin
https://www.cygwin.com/
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
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
FB: facebook.com/peckadesign TW: @peckadesign
PŘÍKAZOVÁ ŘÁDKA
Prompt: uživatel@počítač:adresář#_
FB: facebook.com/peckadesign TW: @peckadesign
JAK ZÍSKAT NÁPOVĚDU
Manuálové stránky utility
>man grep
:q
Nápověda utility
>grep --help
Google
man grep
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
FB: facebook.com/peckadesign TW: @peckadesign
ADRESÁŘOVÁ STRUKTURA
A
SOUBORY
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
FB: facebook.com/peckadesign TW: @peckadesign
AKTUÁLNÍ ADRESÁŘ
>pwd
/Users/milan
pwd - print name of working directory
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
FB: facebook.com/peckadesign TW: @peckadesign
VELIKOST ADRESÁŘE
du - estimate file space usage
>du .
3328 ./.bash_sessions
24 ./.boot2docker/certs/boot2docker-vm
24 ./.boot2docker/certs
>du -sh .
548M .
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
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
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
FB: facebook.com/peckadesign TW: @peckadesign
TOTAL COMMANDER
mc - Visual shell for Unix-like systems.
FB: facebook.com/peckadesign TW: @peckadesign
PRÁCE S TEXTEM
FB: facebook.com/peckadesign TW: @peckadesign
VYPASÁNÍ OBSAHU SOUBORU
cat - concatenate files and print on the standard output
>cat soubor
Ahoj
>cat -n soubor
1 Ahoj
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
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
FB: facebook.com/peckadesign TW: @peckadesign
NANO
nano − Nano’s ANOther editor, an enhanced free Pico clone
>nano soubor
^X Exit, Y, Enter
^G Get Help
FB: facebook.com/peckadesign TW: @peckadesign
VIM
>vim soubor
vim - Vi IMproved, a programmers text editor
Command mode
:i
Insert mode
Esc
:v
Visual 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
FB: facebook.com/peckadesign TW: @peckadesign
VIM JAKO IDE
FB: facebook.com/peckadesign TW: @peckadesign
UŽIVATELSKÁ OPRAVÁNĚNÍ
https://cs.wikipedia.org/wiki/Přístupová_oprávnění_v_Unixu
FB: facebook.com/peckadesign TW: @peckadesign
UŽIVATELSKÁ OPRÁVNĚNÍ
Typ práva
Symbolické
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
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
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 rwx
421 421 421
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Í
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:
FB: facebook.com/peckadesign TW: @peckadesign
UTILITY
FB: facebook.com/peckadesign TW: @peckadesign
CRON
cron -- 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
FB: facebook.com/peckadesign TW: @peckadesign
GREP
grep - 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
FB: facebook.com/peckadesign TW: @peckadesign
SSH
ssh -- OpenSSH SSH	 client (remote login program)
>ssh uzivatel@pocitac
uzivatel@pocitac >
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
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:
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 "your_email@example.com"
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
FB: facebook.com/peckadesign TW: @peckadesign
SSH
Zapamatovaní vzdálení uživatelé: ~/.ssh/known_hosts
Povolení uživatelé pro připojení: ~/.ssh/authorized_keys
FB: facebook.com/peckadesign TW: @peckadesign
SCP
scp - secure copy (remote file copy program)
>scp host:vzdalenySoubor lokalniCesta
>scp -r host:vzdalenaCesta lokalniCesta
FB: facebook.com/peckadesign TW: @peckadesign
SSH NA WINDOWS
http://www.putty.org/
Putty, Puttygen, Pageant
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
FB: facebook.com/peckadesign TW: @peckadesign
DĚKUJI ZA POZORNOST
Milan Pála
Máte dotazy?
E-mail: milan.pala@peckadesign.cz

More Related Content

Viewers also liked

Jak se Megapixelu vyplatil responzivní design
Jak se Megapixelu vyplatil responzivní designJak se Megapixelu vyplatil responzivní design
Jak se Megapixelu vyplatil responzivní design
PeckaDesign.cz
 

Viewers also liked (9)

Zvýší vám rich snippety návštěvnost?
Zvýší vám rich snippety návštěvnost?Zvýší vám rich snippety návštěvnost?
Zvýší vám rich snippety návštěvnost?
 
Základy SQL
Základy SQLZáklady SQL
Základy SQL
 
Michal Horák: Zanechte dojem a odlište se
Michal Horák: Zanechte dojem a odlište seMichal Horák: Zanechte dojem a odlište se
Michal Horák: Zanechte dojem a odlište se
 
Personalizace inzerátů pomocí web miningu
Personalizace inzerátů pomocí web mininguPersonalizace inzerátů pomocí web miningu
Personalizace inzerátů pomocí web miningu
 
Využití OpenRefine při automatizaci PPC kampaní
Využití OpenRefine při automatizaci PPC kampaníVyužití OpenRefine při automatizaci PPC kampaní
Využití OpenRefine při automatizaci PPC kampaní
 
Jak se Megapixelu vyplatil responzivní design
Jak se Megapixelu vyplatil responzivní designJak se Megapixelu vyplatil responzivní design
Jak se Megapixelu vyplatil responzivní design
 
PPC Camp 2015 Workshop Google Spreadsheets Petr Bureš
PPC Camp 2015 Workshop Google Spreadsheets Petr BurešPPC Camp 2015 Workshop Google Spreadsheets Petr Bureš
PPC Camp 2015 Workshop Google Spreadsheets Petr Bureš
 
PPC pro začátečníky
PPC pro začátečníkyPPC pro začátečníky
PPC pro začátečníky
 
Bashop.cz případová studie Marketing Festival
Bashop.cz případová studie Marketing FestivalBashop.cz případová studie Marketing Festival
Bashop.cz případová studie Marketing Festival
 

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

Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Develcz
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
Patrik Votoček
 
2015 03 09 - ka_i pro hg
2015 03 09 - ka_i pro hg2015 03 09 - ka_i pro hg
2015 03 09 - ka_i pro hg
Radek Maca
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
Jiří Mareš
 

Similar to Základní práce s příkazovým řádkem (20)

Sysops tipy pro lepší WP
Sysops tipy pro lepší WPSysops tipy pro lepší WP
Sysops tipy pro lepší WP
 
Bezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konferenceBezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konference
 
Péhápkaři v Pecce: phpDay2018 Verona - Jan Kadeřábek - 16. 5. 2018
Péhápkaři v Pecce: phpDay2018 Verona - Jan Kadeřábek - 16. 5. 2018Péhápkaři v Pecce: phpDay2018 Verona - Jan Kadeřábek - 16. 5. 2018
Péhápkaři v Pecce: phpDay2018 Verona - Jan Kadeřábek - 16. 5. 2018
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnosti
 
MicroPython IoT vlaxa
MicroPython IoT vlaxaMicroPython IoT vlaxa
MicroPython IoT vlaxa
 
Zdroje informací a podpora pro IBM WebSphere Portal
Zdroje informací a podpora pro IBM WebSphere PortalZdroje informací a podpora pro IBM WebSphere Portal
Zdroje informací a podpora pro IBM WebSphere Portal
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
 
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
 
WordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPressWordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPress
 
Výkon WordPress
Výkon WordPressVýkon WordPress
Výkon WordPress
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webů
 
Malware Houdiny
Malware HoudinyMalware Houdiny
Malware Houdiny
 
2015 03 09 - ka_i pro hg
2015 03 09 - ka_i pro hg2015 03 09 - ka_i pro hg
2015 03 09 - ka_i pro hg
 
HHVM & Hack
HHVM & HackHHVM & Hack
HHVM & Hack
 
PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018PHP Vysočina - WordPress - 25.10.2018
PHP Vysočina - WordPress - 25.10.2018
 
WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3
 
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
 
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
 

More from PeckaDesign.cz

More from PeckaDesign.cz (20)

Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
 
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
 
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlůmWebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
 
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
 
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
 
Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO Tvorba nových vstupních stránek z pohledu SEO
Tvorba nových vstupních stránek z pohledu SEO
 
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
 
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
 
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
 
Asynchronní programování
Asynchronní programováníAsynchronní programování
Asynchronní programování
 
ElasticSearch Dump
ElasticSearch DumpElasticSearch Dump
ElasticSearch Dump
 
Pokročilá validace síly hesla
Pokročilá validace síly heslaPokročilá validace síly hesla
Pokročilá validace síly hesla
 
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
 
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
 
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
 
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
 
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
 
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
 
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
 

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

  • 1. FB: facebook.com/peckadesign TW: @peckadesign ZÁKLADNÍ PRÁCE S PŘÍKAZOVÝM ŘADKEM Milan Pála
 PeckaDesign
  • 5. FB: facebook.com/peckadesign TW: @peckadesign HISTORIE
  • 6. FB: facebook.com/peckadesign TW: @peckadesign POSIX Portable 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
  • 7. FB: facebook.com/peckadesign TW: @peckadesign POSIX NA WINDOWS Na Windows je kolekce programů Cygwin portující POSIX pro Windows. https://cs.wikipedia.org/wiki/Cygwin https://www.cygwin.com/
  • 8. 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
  • 9. 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
  • 10. FB: facebook.com/peckadesign TW: @peckadesign PŘÍKAZOVÁ ŘÁDKA Prompt: uživatel@počítač:adresář#_
  • 11. FB: facebook.com/peckadesign TW: @peckadesign JAK ZÍSKAT NÁPOVĚDU Manuálové stránky utility >man grep :q Nápověda utility >grep --help Google man grep
  • 12. 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
  • 13. FB: facebook.com/peckadesign TW: @peckadesign ADRESÁŘOVÁ STRUKTURA A SOUBORY
  • 14. 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
  • 15. FB: facebook.com/peckadesign TW: @peckadesign AKTUÁLNÍ ADRESÁŘ >pwd /Users/milan pwd - print name of working directory
  • 16. 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
  • 17. FB: facebook.com/peckadesign TW: @peckadesign VELIKOST ADRESÁŘE du - estimate file space usage >du . 3328 ./.bash_sessions 24 ./.boot2docker/certs/boot2docker-vm 24 ./.boot2docker/certs >du -sh . 548M .
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. FB: facebook.com/peckadesign TW: @peckadesign TOTAL COMMANDER mc - Visual shell for Unix-like systems.
  • 22. FB: facebook.com/peckadesign TW: @peckadesign PRÁCE S TEXTEM
  • 23. FB: facebook.com/peckadesign TW: @peckadesign VYPASÁNÍ OBSAHU SOUBORU cat - concatenate files and print on the standard output >cat soubor Ahoj >cat -n soubor 1 Ahoj
  • 24. 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
  • 25. 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
  • 26. FB: facebook.com/peckadesign TW: @peckadesign NANO nano − Nano’s ANOther editor, an enhanced free Pico clone >nano soubor ^X Exit, Y, Enter ^G Get Help
  • 27. FB: facebook.com/peckadesign TW: @peckadesign VIM >vim soubor vim - Vi IMproved, a programmers text editor Command mode :i Insert mode Esc :v Visual 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
  • 28. FB: facebook.com/peckadesign TW: @peckadesign VIM JAKO IDE
  • 29. FB: facebook.com/peckadesign TW: @peckadesign UŽIVATELSKÁ OPRAVÁNĚNÍ https://cs.wikipedia.org/wiki/Přístupová_oprávnění_v_Unixu
  • 30. FB: facebook.com/peckadesign TW: @peckadesign UŽIVATELSKÁ OPRÁVNĚNÍ Typ práva Symbolické 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
  • 31. 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
  • 32. 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 rwx 421 421 421
  • 33. 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Í
  • 34. 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:
  • 35. FB: facebook.com/peckadesign TW: @peckadesign UTILITY
  • 36. FB: facebook.com/peckadesign TW: @peckadesign CRON cron -- 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
  • 37. FB: facebook.com/peckadesign TW: @peckadesign GREP grep - 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
  • 38. FB: facebook.com/peckadesign TW: @peckadesign SSH ssh -- OpenSSH SSH client (remote login program) >ssh uzivatel@pocitac uzivatel@pocitac >
  • 39. 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
  • 40. 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:
  • 41. 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 "your_email@example.com" 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
  • 42. FB: facebook.com/peckadesign TW: @peckadesign SSH Zapamatovaní vzdálení uživatelé: ~/.ssh/known_hosts Povolení uživatelé pro připojení: ~/.ssh/authorized_keys
  • 43. FB: facebook.com/peckadesign TW: @peckadesign SCP scp - secure copy (remote file copy program) >scp host:vzdalenySoubor lokalniCesta >scp -r host:vzdalenaCesta lokalniCesta
  • 44. FB: facebook.com/peckadesign TW: @peckadesign SSH NA WINDOWS http://www.putty.org/ Putty, Puttygen, Pageant
  • 45. 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
  • 46. FB: facebook.com/peckadesign TW: @peckadesign DĚKUJI ZA POZORNOST Milan Pála Máte dotazy? E-mail: milan.pala@peckadesign.cz