SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Perl in da shell
                      by tonyo



    Saint Perl 2012
Shell? What's that?

Π Π°Π·Π»ΠΈΡ‡Π°Π΅ΠΌ:

- ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
(irb, python, ghci ...)

- ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
(bash, zsh, tcsh ...)

хотя ΠΈ Π½Π΅ совсСм Π½Π°ΡƒΡ‡Π½ΠΎ :-/
What about Perl?

- ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
   perlconsole
   Devel::REPL
   ...

- ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
   Zoidberg
   psh
Interactive shells
1. Simple one

$ perl -e 'eval while <>'

+ Π”Π΅ΡˆΠ΅Π²ΠΎ
   * Π½Π΅Ρ‚ зависимостСй
   * Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ (~ дописываСмая)
- Π‘Π΅Ρ€Π΄ΠΈΡ‚ΠΎ
   * Π½Π΅Ρ‚ истории
   * Π½Π΅Ρ‚ автодополнСния
   * Π½Π΅Ρ‚ "многостроковости"
   * ...
2. Debuggish one

$ perl -de1

+ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Readline
+ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

- Π½Π΅ ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
- слоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ сСбя
3. perlconsole
https://metacpan.org/module/SUKRIA/perlconsole-0.4/perlconsole
3. perlconsole
 https://metacpan.org/module/SUKRIA/perlconsole-0.4/perlconsole



+ ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ» (.perlconsolerc)
+ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° output-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°
(:set output=scalar / dumper / yaml )

- нСльзя ΠΏΠΈΡΠ°Ρ‚ΡŒ multi-line ΠΊΠΎΠ΄
- ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ развиваСтся
4. Devel::REPL
https://metacpan.org/module/Devel::REPL
4. Devel::REPL
  https://metacpan.org/module/Devel::REPL



+ Π΅ΡΡ‚ΡŒ multi-line
+ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²
   * Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄
   * история
   * ...
+ развиваСтся (послСдний Π°ΠΏΠ΄Π΅ΠΉΡ‚ - 01.11.12)



- ΠΌΠ½ΠΎΠ³ΠΎ зависимостСй
4. Devel::REPL
https://metacpan.org/module/Devel::REPL




          Альпаки ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚!
Command shells
I. Zoidberg
https://metacpan.org/module/Zoidberg
I. Zoidberg
 https://metacpan.org/module/Zoidberg



+ возмоТности для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (rc-Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹)
+ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· $PATH
zoid$ mv($_ => lc($_)) for grep /[A-Z]/, <*>


- ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Unicode
- Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½Π°
II. psh (Perl SHell)
https://github.com/gnp/psh
II. psh (Perl SHell)
 https://github.com/gnp/psh



+ докумСнтация
+ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции (manifest
filters)
+ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ built-in ΠΊΠΎΠΌΠ°Π½Π΄ (source,
alias, jobs...)

- нСльзя ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Perl-конструкции ΠΈ
внСшниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
- ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ обновляСтся
II. psh (Perl SHell)
 https://github.com/gnp/psh




Manifest filters

1. Quick (построковая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°)
   $ ls | { print ++$i, ": $_"; }q
2. Grep (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€)
   $ ps -ef | {$_[1] > 20000}g
3. Substitution (Π·Π°ΠΌΠ΅Π½Π°)
   $ ls -al | s/tonyo/alpaca/
II. psh (Perl SHell)
https://github.com/gnp/psh




          Альпаки ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚!
Outro

- Π’Ρ‹Π±ΠΎΡ€ Π΅ΡΡ‚ΡŒ

- НуТно Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ
   * ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ
   * ΠΊΠΎΠ΄
Thx!

Альпак ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»:

  tonyo (aka Антон ΠžΠ²Ρ‡ΠΈΠ½Π½ΠΈΠΊΠΎΠ²)
  anton.ovchi2nikov@gmail.com

  http://peterpen-ctf.net
  http://vk.com/peterpenctf

Weitere Γ€hnliche Inhalte

Was ist angesagt?

ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-ΡΡ†Π΅Π½Π°Ρ€ΠΈΡΡ…ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
Positive Hack Days
Β 
АлСксСй Иванов: нСмного о grunt.js #FrontTalks
АлСксСй Иванов: нСмного о grunt.js #FrontTalksАлСксСй Иванов: нСмного о grunt.js #FrontTalks
АлСксСй Иванов: нСмного о grunt.js #FrontTalks
JetStyle
Β 
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
Badoo Development
Β 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ LinuxΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
Anthony Shoumikhin
Β 
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/LinuxSECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
SECON
Β 
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊREPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
IT61
Β 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ LinuxΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
Anthony Shoumikhin
Β 
Web осСнь 2013 лСкция 1
Web осСнь 2013 лСкция 1Web осСнь 2013 лСкция 1
Web осСнь 2013 лСкция 1
Technopark
Β 

Was ist angesagt? (20)

БСссигнатурноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ PHP-бэкдоров
БСссигнатурноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ PHP-бэкдоровБСссигнатурноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ PHP-бэкдоров
БСссигнатурноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ PHP-бэкдоров
Β 
БпСцификация WSGI (PEP-333)
БпСцификация WSGI (PEP-333)БпСцификация WSGI (PEP-333)
БпСцификация WSGI (PEP-333)
Β 
Π’Π΅Π±-сСрвСр
Π’Π΅Π±-сСрвСрВСб-сСрвСр
Π’Π΅Π±-сСрвСр
Β 
ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-ΡΡ†Π΅Π½Π°Ρ€ΠΈΡΡ…ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
ΠŸΡ€ΠΈΠ΅ΠΌΡ‹, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· врСдоносного ΠΊΠΎΠ΄Π° Π² PHP-сцСнариях
Β 
АлСксСй Иванов: нСмного о grunt.js #FrontTalks
АлСксСй Иванов: нСмного о grunt.js #FrontTalksАлСксСй Иванов: нСмного о grunt.js #FrontTalks
АлСксСй Иванов: нСмного о grunt.js #FrontTalks
Β 
Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π©Π°Π΄Π΅ΠΉ "Π—Π°Ρ‡Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ jsLint"
Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π©Π°Π΄Π΅ΠΉ "Π—Π°Ρ‡Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ jsLint"Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π©Π°Π΄Π΅ΠΉ "Π—Π°Ρ‡Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ jsLint"
Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π©Π°Π΄Π΅ΠΉ "Π—Π°Ρ‡Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ jsLint"
Β 
ΠŸΡ€ΠΎ асинхронноС сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
ΠŸΡ€ΠΎ асинхронноС сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠŸΡ€ΠΎ асинхронноС сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
ΠŸΡ€ΠΎ асинхронноС сСтСвоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
Β 
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
"ΠŸΠΎΡ‡Π΅ΠΌΡƒ язык Lua β€” это интСрСсно?", Ник Π—Π°Π²Π°Ρ€ΠΈΡ†ΠΊΠΈΠΈΜ†, (Mail.ru Group)
Β 
Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dtraceΒ» β€” Бтанислав ΠšΡ€Π°ΡΠ½ΠΎΡΡ€ΠΎΠ², Redsteep
Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dtraceΒ» β€” Бтанислав ΠšΡ€Π°ΡΠ½ΠΎΡΡ€ΠΎΠ², Redsteep Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dtraceΒ» β€” Бтанислав ΠšΡ€Π°ΡΠ½ΠΎΡΡ€ΠΎΠ², Redsteep
Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dtraceΒ» β€” Бтанислав ΠšΡ€Π°ΡΠ½ΠΎΡΡ€ΠΎΠ², Redsteep
Β 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ LinuxΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
Β 
Π—Π°Ρ‡Π΅ΠΌ программистам Ansible
Π—Π°Ρ‡Π΅ΠΌ программистам AnsibleΠ—Π°Ρ‡Π΅ΠΌ программистам Ansible
Π—Π°Ρ‡Π΅ΠΌ программистам Ansible
Β 
Fabric для управлСния сСрвСрами
Fabric для управлСния сСрвСрамиFabric для управлСния сСрвСрами
Fabric для управлСния сСрвСрами
Β 
Π€ΠΈΠ»ΠΈΠΏΠΏ Ворчинский «Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ D...
Π€ΠΈΠ»ΠΈΠΏΠΏ Ворчинский «Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ D...Π€ΠΈΠ»ΠΈΠΏΠΏ Ворчинский «Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ D...
Π€ΠΈΠ»ΠΈΠΏΠΏ Ворчинский «Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ D...
Β 
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/LinuxSECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
SECON'2017, ΠšΠ»Π΅ΠΌΠ΅Π½Ρ‚ΡŒΠ΅Π² ΠœΠΈΡ…Π°ΠΈΠ», ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€ΡƒΡ‚ΠΊΠΈΡ‚ΠΎΠ² Π² GNU/Linux
Β 
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊREPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
REPL Π² Node.js: ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ Π±Ρ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
Β 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ LinuxΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Linux
Β 
Web осСнь 2013 лСкция 1
Web осСнь 2013 лСкция 1Web осСнь 2013 лСкция 1
Web осСнь 2013 лСкция 1
Β 
Linux basics. ЗанятиС 3.
Linux basics. ЗанятиС 3. Linux basics. ЗанятиС 3.
Linux basics. ЗанятиС 3.
Β 
Thumbtack Expertise Days # 5 - Ansible
Thumbtack Expertise Days # 5 - AnsibleThumbtack Expertise Days # 5 - Ansible
Thumbtack Expertise Days # 5 - Ansible
Β 
Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹
Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹
Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹
Β 

Γ„hnlich wie Perl in da shell

Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
drupalconf
Β 
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
Ontico
Β 
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ’ΡΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
Yuri Zhloba
Β 
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинописьНС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
Andrey Rebrov
Β 
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ LinuxΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
Anthony Shoumikhin
Β 

Γ„hnlich wie Perl in da shell (20)

Kolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosovKolosov drupalconf2011 2_kolosov
Kolosov drupalconf2011 2_kolosov
Β 
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π‘ΠΈ ΠΏΠΎΠ΄ Андройд? Π‘Π΄Π΅Π»Π°Π½ΠΎ!
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π‘ΠΈ ΠΏΠΎΠ΄ Андройд? Π‘Π΄Π΅Π»Π°Π½ΠΎ!ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π‘ΠΈ ΠΏΠΎΠ΄ Андройд? Π‘Π΄Π΅Π»Π°Π½ΠΎ!
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π‘ΠΈ ΠΏΠΎΠ΄ Андройд? Π‘Π΄Π΅Π»Π°Π½ΠΎ!
Β 
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голоса ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Андроид. Π‘Π΄Π΅Π»Π°Π½ΠΎ / ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚ΠΈΠ½ Π¦Ρ…ΠΎΠ²Ρ€Π΅Π±ΠΎΠ² (M...
Β 
GetDev.NET: Π‘Π½ΠΎΠ²Π° Π­Ρ€Π»Π°Π½Π³
GetDev.NET: Π‘Π½ΠΎΠ²Π° Π­Ρ€Π»Π°Π½Π³GetDev.NET: Π‘Π½ΠΎΠ²Π° Π­Ρ€Π»Π°Π½Π³
GetDev.NET: Π‘Π½ΠΎΠ²Π° Π­Ρ€Π»Π°Π½Π³
Β 
CachΓ© Native Access. InterSystems Meetup 2014
CachΓ© Native Access. InterSystems  Meetup 2014CachΓ© Native Access. InterSystems  Meetup 2014
CachΓ© Native Access. InterSystems Meetup 2014
Β 
Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker
Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° DockerΠ›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker
Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Docker
Β 
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Drupal.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Drupal.Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Drupal.
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Drupal.
Β 
Drupal conf2011 2_kolosov
Drupal conf2011 2_kolosovDrupal conf2011 2_kolosov
Drupal conf2011 2_kolosov
Β 
Docker - ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ для хомячка ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°?
Docker - ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ для хомячка ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°?Docker - ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ для хомячка ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°?
Docker - ΡΡ‡Π°ΡΡ‚ΡŒΠ΅ для хомячка ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°?
Β 
DLR Hosting
DLR HostingDLR Hosting
DLR Hosting
Β 
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ’ΡΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ ΠΎ Rebar, Π½ΠΎ лСнились ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
Β 
Docker. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ?
Docker. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ?Docker. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ?
Docker. Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ?
Β 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
Β 
Rapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development EnvironmentsRapid Deployment of Hadoop Development Environments
Rapid Deployment of Hadoop Development Environments
Β 
ΠŸΡ€ΠΈΡ€ΡƒΡ‡Π°Π΅ΠΌ linux-консоль
ΠŸΡ€ΠΈΡ€ΡƒΡ‡Π°Π΅ΠΌ linux-ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠŸΡ€ΠΈΡ€ΡƒΡ‡Π°Π΅ΠΌ linux-консоль
ΠŸΡ€ΠΈΡ€ΡƒΡ‡Π°Π΅ΠΌ linux-консоль
Β 
Hadoop presentation
Hadoop presentationHadoop presentation
Hadoop presentation
Β 
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинописьНС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
НС ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ваши Π»ΠΎΠ³ΠΈ Π² клинопись
Β 
UWDC 2013, Yii2
UWDC 2013, Yii2UWDC 2013, Yii2
UWDC 2013, Yii2
Β 
RHEL 7. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Docker
RHEL 7. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ DockerRHEL 7. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Docker
RHEL 7. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Docker
Β 
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ LinuxΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎ Linux
Β 

Perl in da shell

  • 1. Perl in da shell by tonyo Saint Perl 2012
  • 2. Shell? What's that? Π Π°Π·Π»ΠΈΡ‡Π°Π΅ΠΌ: - ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (irb, python, ghci ...) - ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (bash, zsh, tcsh ...) хотя ΠΈ Π½Π΅ совсСм Π½Π°ΡƒΡ‡Π½ΠΎ :-/
  • 3. What about Perl? - ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ perlconsole Devel::REPL ... - ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Zoidberg psh
  • 5. 1. Simple one $ perl -e 'eval while <>' + Π”Π΅ΡˆΠ΅Π²ΠΎ * Π½Π΅Ρ‚ зависимостСй * Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ (~ дописываСмая) - Π‘Π΅Ρ€Π΄ΠΈΡ‚ΠΎ * Π½Π΅Ρ‚ истории * Π½Π΅Ρ‚ автодополнСния * Π½Π΅Ρ‚ "многостроковости" * ...
  • 6. 2. Debuggish one $ perl -de1 + ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Readline + ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ - Π½Π΅ ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ - слоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ сСбя
  • 8. 3. perlconsole https://metacpan.org/module/SUKRIA/perlconsole-0.4/perlconsole + ΠΊΠΎΠ½Ρ„ΠΈΠ³-Ρ„Π°ΠΉΠ» (.perlconsolerc) + Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° output-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (:set output=scalar / dumper / yaml ) - нСльзя ΠΏΠΈΡΠ°Ρ‚ΡŒ multi-line ΠΊΠΎΠ΄ - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ развиваСтся
  • 10. 4. Devel::REPL https://metacpan.org/module/Devel::REPL + Π΅ΡΡ‚ΡŒ multi-line + ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² * Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ * история * ... + развиваСтся (послСдний Π°ΠΏΠ΄Π΅ΠΉΡ‚ - 01.11.12) - ΠΌΠ½ΠΎΠ³ΠΎ зависимостСй
  • 11. 4. Devel::REPL https://metacpan.org/module/Devel::REPL Альпаки ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚!
  • 14. I. Zoidberg https://metacpan.org/module/Zoidberg + возмоТности для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (rc-Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹) + ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· $PATH zoid$ mv($_ => lc($_)) for grep /[A-Z]/, <*> - ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Unicode - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½Π°
  • 15. II. psh (Perl SHell) https://github.com/gnp/psh
  • 16. II. psh (Perl SHell) https://github.com/gnp/psh + докумСнтация + Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции (manifest filters) + Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ built-in ΠΊΠΎΠΌΠ°Π½Π΄ (source, alias, jobs...) - нСльзя ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Perl-конструкции ΠΈ внСшниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ обновляСтся
  • 17. II. psh (Perl SHell) https://github.com/gnp/psh Manifest filters 1. Quick (построковая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°) $ ls | { print ++$i, ": $_"; }q 2. Grep (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€) $ ps -ef | {$_[1] > 20000}g 3. Substitution (Π·Π°ΠΌΠ΅Π½Π°) $ ls -al | s/tonyo/alpaca/
  • 18. II. psh (Perl SHell) https://github.com/gnp/psh Альпаки ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚!
  • 19. Outro - Π’Ρ‹Π±ΠΎΡ€ Π΅ΡΡ‚ΡŒ - НуТно Π΄ΠΎΠΏΠΈΠ»ΠΈΠ²Π°Ρ‚ΡŒ * ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ * ΠΊΠΎΠ΄
  • 20. Thx! Альпак ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»: tonyo (aka Антон ΠžΠ²Ρ‡ΠΈΠ½Π½ΠΈΠΊΠΎΠ²) anton.ovchi2nikov@gmail.com http://peterpen-ctf.net http://vk.com/peterpenctf