🐧 Linux Junior. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux.
3.21K subscribers
168 photos
2 videos
1 file
100 links
Канал для программистов Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Linux.
ΠŸΠΎΡ‡Ρ‚ΠΈ всС Python Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ с Π½Π°ΠΌΠΈ Π½Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΎΠΆΠ΅ подтянутся.

По Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @jannytg
@anothertechrock
Download Telegram
πŸ‘©β€πŸ’» Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° symlinks

symlinks β€” это ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ инструмСнт Π² Linux, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ссылками (symbolic links, ΠΈΠ»ΠΈ "ярлыками" Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС). Она позволяСт ΠΈΡΠΊΠ°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ссылки Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

На Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ставится ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ symlinks:

sudo apt install symlinks      # Ubuntu, Debian
sudo dnf install symlinks # Fedora
sudo pacman -S symlinks # Arch


βš™οΈ Бинтаксис:

symlinks [ΠΎΠΏΡ†ΠΈΠΈ] [ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³]


βš™οΈ ΠžΠΏΡ†ΠΈΠΈ:
-c β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ / бСспорядочныС ссылки Π½Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
-d β€” ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹Π΅ ссылки
-o β€” ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ ссылках ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами
-r β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ рСкурсивно ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ
-s β€” ΡΠΎΠΊΡ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ссылки (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -c)
-t β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ -c
-v β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ (Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всС ссылки)

βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

1️⃣ Найти всС симлинки Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/local/bin:

symlinks -v /usr/local/bin


Команда Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список ссылок ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… "good" β€” Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅, Π° ΠΊΠ°ΠΊΠΈΠ΅ "dangling" β€” Π±ΠΈΡ‚Ρ‹Π΅ (Π²Π΅Π΄ΡƒΡ‚ Π² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»).

2️⃣ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ рСкурсивно ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹Π΅ ссылки:

sudo symlinks -rd /opt/


3️⃣ Волько ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ измСняя Π½ΠΈΡ‡Π΅Π³ΠΎ:

symlinks -rv /home/user/projects


βš™οΈ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ смысл:

πŸ”Ž ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности систСмы ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ПослС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ чисток ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ "Π±ΠΈΡ‚Ρ‹Π΅" ссылки β€” Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π² Π½ΠΈΠΊΡƒΠ΄Π°.
πŸ”Ž ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния для дСплоя ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΈ пСрСносС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, создании Docker-ΠΎΠ±Ρ€Π°Π·Π° ΠΈΠ»ΠΈ сборкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /home/user/... Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π΅ сущСствуСт).
πŸ”Ž Чистка симлинков послС Ρ€ΡƒΡ‡Π½ΠΎΠΉ установки софта. Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ставятся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ симлинки Π² /usr/local/bin β†’ /opt/.... ПослС удалСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /opt/app ссылки ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ.
πŸ”Ž Π Π°Π±ΠΎΡ‚Π° с большими Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ бэкапами. ΠŸΡ€ΠΈ создании Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ rsync ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ диск ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки часто "Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ", ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΠΈ измСнились.
πŸ”Ž Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ диагностики. МоТно быстро ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ β€” ссылки ΠΈ ΠΊΡƒΠ΄Π° ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ Ρ‡ΡƒΠΆΠΎΠΉ систСмы ΠΈΠ»ΠΈ CI/CD окруТСния.
Please open Telegram to view this post
VIEW IN TELEGRAM
❀1πŸ‘1
Docker простыми словами - ΠΊΠ°Π½Π°Π» ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Docker Π² Ρ€Π°Π±ΠΎΡ‚Π΅ программиста, тСстировщика ΠΈΠ»ΠΈ Π½Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» ΠΏΠΎ Docker. Поискав Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ΅ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΏΠΎ docker ΠΈ Π½Π΅ найдя Π½ΠΈΡ‡Π΅Π³ΠΎ, я Ρ€Π΅ΡˆΠΈΠ» ΠΎΠ±ΡŒΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

По ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π² ΠΊΠ°Π½Π°Π»Π΅:
- вопросы с собСсСдований
- ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠΊΠ΅Ρ€Π°
- ΠΊΠ½ΠΈΠ³ΠΈ
- тСсты для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π°ΡˆΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ
- ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
- Ρ‡Π°Ρ‚ для обсуТдСния

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² нашСм Π½ΠΎΠ²ΠΎΠΌ сообщСствС: @justdocker
πŸ”₯ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ вставка Π² Linux: Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ctrl+C / Ctrl+V

Π’ Linux Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ устроСна Ρ‡ΡƒΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΆΠ΅, Ρ‡Π΅ΠΌ просто ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ сочСтания клавиш. Π’ X11-срСдС (GNOME, Xfce, KDE ΠΈ Π΄Ρ€.) Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΈ ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ:

πŸ”Ž Clipboard β€” систСмный Π±ΡƒΡ„Π΅Ρ€. ЗаполняСтся ΠΏΡ€ΠΈ Ctrl+C, вставляСтся Ρ‡Π΅Ρ€Π΅Π· Ctrl+V.

πŸ”Ž Primary selection β€” заполняСтся ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ тСкста ΠΌΡ‹ΡˆΡŒΡŽ. ВставляСтся срСднСй ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ (ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ Π½Π° Ρ‚Π°Ρ‡ΠΏΠ°Π΄Π΅).

Π‘ΡƒΡ„Π΅Ρ€Ρ‹ нСзависимы: Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ тСкст β€” ΠΎΠ½ ΡƒΠΆΠ΅ доступСн для вставки, Π½ΠΎ Ctrl+V вставит Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

βœ”οΈ Команда xclip

xclip β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° прямо ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Она ΡƒΠΌΠ΅Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· stdin ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° содСрТимоС.

βš™οΈ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

xclip < notes.txt


Π’Π΅ΠΏΠ΅Ρ€ΡŒ содСрТимоС notes.txt ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ срСднСй ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ.

βš™οΈ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² систСмный Π±ΡƒΡ„Π΅Ρ€

xclip -selection clipboard < notes.txt


Π’Π΅ΠΏΠ΅Ρ€ΡŒ тСкст вставится ΠΏΠΎ Ctrl+V β€” ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.

βš™οΈ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ls | grep log | xclip -selection clipboard


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ окаТСтся Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΎΠ±ΠΌΠ΅Π½Π° β€” ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ имя Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ Ρ‡Π°Ρ‚.

βš™οΈ Вставка ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°

xclip -selection clipboard -o


Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ содСрТимоС систСмного Π±ΡƒΡ„Π΅Ρ€Π° Π² stdout. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅:

xclip -selection clipboard -o | wc -w


βœ”οΈ НСмного Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°ΠΉ алиасы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·:

alias ccopy="xclip -sel c"
alias cpaste="xclip -sel c -o"


Π’Π΅ΠΏΠ΅Ρ€ΡŒ:

echo "important text" | ccopy
cpaste


β€” скопируСт ΠΈ вставит содСрТимоС Π² систСмный Π±ΡƒΡ„Π΅Ρ€.

πŸ’‘ Π“Π΄Π΅ это пригодится

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ xclip Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Ρ€Π°ΠΌΠΊΠΈ простого копирования тСкста. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π³Π΄Π΅ ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ экономит врСмя ΠΈ ΠΊΠ»ΠΈΠΊΠΈ:

1️⃣ Π Π°Π±ΠΎΡ‚Π° с Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ

grep "ERROR" /var/log/syslog | tail -n 5 | xclip -sel c


Π’Ρ‹Π²Π΅Π»ΠΈ послСдниС ошибки ΠΈ сразу скопировали ΠΈΡ… β€” ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Ρ‡Π°Ρ‚ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΊΠ΅Ρ‚.

2️⃣ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ

cat build.log | grep version | xclip -sel c


Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅:

cpaste


Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ строки ΠΌΠ΅ΠΆΠ΄Ρƒ сСссиями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, dev ΠΈ prod).

3️⃣ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠ»ΠΈ ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²

find . -type f -name "*.sh" | head -n 1 | xclip -sel c
vim $(cpaste)


Ни ΠΎΠ΄Π½ΠΎΠΉ ΠΌΡ‹ΡˆΠΈΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ скопирован ΠΈ подставлСн Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

4️⃣ БСзопасноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

grep "API_KEY" .env | cut -d= -f2 | xclip -sel c


Π’ΠΎΠΊΠ΅Π½ копируСтся Π² Π±ΡƒΡ„Π΅Ρ€, Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡΡΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΈ Π½Π΅ попадая Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ.

5️⃣ БыстроС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ· скрипта

generate-password | xclip -sel c


ΠŸΠ°Ρ€ΠΎΠ»ΡŒ ΡƒΠΆΠ΅ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ β€” вставляй ΠΊΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Π±Π΅Π· Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯6❀1
❓ Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΈ этом Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экранС?

ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час.

#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда tee Π² Linux Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ стандартный Π²Π²ΠΎΠ΄ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π½Π° экран ΠΈ записываСт Π² Ρ„Π°ΠΉΠ»(Ρ‹), Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования.

ls -lh | tee files.txt


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вывСдСтся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² Ρ„Π°ΠΉΠ». По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ tee Π·Π°Ρ‚ΠΈΡ€Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ». Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ†, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -a.

Команда tee ΠΈΠΌΠ΅Π΅Ρ‚ большой ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» использования.

βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1.

Если ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² систСмный Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊ:

sudo echo "text" > /etc/config


β€” Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ (ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ выполняСтся ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ сработаСт:

echo "text" | sudo tee /etc/config

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ tee запускаСтся с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root ΠΈ записываСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2.

МоТно Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ систСмныС Π»ΠΎΠ³ΠΈ "Π½Π° Π»Π΅Ρ‚Ρƒ". НапримСр, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ вСсти Π»ΠΎΠ³:

ping google.com | tee -a ping.log

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΈΠ½Π³ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» послС остановки.

#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
❀3πŸ‘3
πŸ¦‡ Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° bat

bat β€” это соврСмСнная Π·Π°ΠΌΠ΅Π½Π° классичСской ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cat, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ красивСС.

πŸ¦‡ Достоинства bat:

βœ”οΈ Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² с подсвСткой синтаксиса (ΠΊΠ°ΠΊ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΊΠΎΠ΄Π°)
βœ”οΈ ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ строк
βœ”οΈ Π£ΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ различия ΠΏΡ€ΠΈ сравнСнии Ρ„Π°ΠΉΠ»ΠΎΠ²
βœ”οΈ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ постраничный просмотр (Ρ‡Π΅Ρ€Π΅Π· less)
βœ”οΈ ΠœΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ cat Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…

πŸ¦‡ Установка:

sudo apt install bat   # Ubuntu / Debian
sudo dnf install bat # Fedora
sudo pacman -S bat # Arch Linux

πŸ¦‡ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ польза

bat часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚:

πŸ”΄ Для чтСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΈ Π»ΠΎΠ³ΠΎΠ² с подсвСткой,
πŸ”΄ Π’ скриптах ΠΈ DevOps-инструмСнтах (ΠΊΠ°ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ cat),
πŸ”΄ Для Ρ€Π΅Π²ΡŒΡŽ ΠΊΠΎΠ΄Π° прямо Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅,
πŸ”΄ Как Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ IDE, Ссли Π½ΡƒΠΆΠ½ΠΎ просто Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ» красиво.

πŸ“Ž Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°ΠΌΠΈ ΠΈ инструкциями - https://github.com/sharkdp/bat
Please open Telegram to view this post
VIEW IN TELEGRAM
❀2πŸ‘2πŸ₯°1
πŸ”₯ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ

Π’ Linux Π΅ΡΡ‚ΡŒ нСсколько способов Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ β€” Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² истории.

1️⃣ ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ распространённый способ β€” ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

 ls -la # ΠŸΠ΅Ρ€Π΅Π΄ ls стоит ΠΏΡ€ΠΎΠ±Π΅Π»


⚠️ Π’Π°ΠΆΠ½ΠΎ: это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли пСрСмСнная HISTCONTROL содСрТит ignorespace.
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

echo $HISTCONTROL


Если Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ignoredups:ignorespace ΠΈΠ»ΠΈ ignoreboth, Π·Π½Π°Ρ‡ΠΈΡ‚ всё ΠΎΠΊ. Если Π½Π΅Ρ‚ β€” ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

export HISTCONTROL=ignoredups:ignorespace


Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² ~/.bash_history.

2️⃣ НС ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HISTIGNORE

МоТно Π·Π°Π΄Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Bash Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ вовсС.

export HISTIGNORE="ls:pwd:exit"


Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ исчСзнут ΠΈΠ· истории нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ… Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ.

Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ *:

export HISTIGNORE="ls *:cd *"


Всё, Ρ‡Ρ‚ΠΎ начинаСтся с ls ΠΈΠ»ΠΈ cd, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

3️⃣ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· истории

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π΅Ρ‘ "Π·Π°Π΄Π½ΠΈΠΌ числом". Для этого ΠΌΠΎΠΆΠ½ΠΎ спСрва ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π² истории, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π² этот Π½ΠΎΠΌΠ΅Ρ€:

history
history -d <Π½ΠΎΠΌΠ΅Ρ€>


⚠️ ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Bash история Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ хранится Π² Π΄Π²ΡƒΡ… мСстах:

πŸ”΄ Π’ памяти β€” это тСкущая сСссия (Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, выполняя history)
πŸ”΄ Π’ Ρ„Π°ΠΉΠ»Π΅ ~/.bash_history β€” это сохранённая история, которая пСрСзаписываСтся ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· shell.

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· истории с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ history -d <Π½ΠΎΠΌΠ΅Ρ€> Bash удаляСт запись с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· памяти. Если Π½Π° этом ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ просто Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, старая история ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ измСнСния, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° вСрнётся.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° дискС послС удалСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· истории, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ -w (write):

history -w


Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, Ссли Π²Ρ‹ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² блиТайшСС врСмя.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ появлСния Π² истории самой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ history -d, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½Ρƒ строку:

history -d $((HISTCMD-1)); history -w

Π’.ΠΎ., ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

history  # Найти Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
history -d <Π½ΠΎΠΌΠ΅Ρ€> # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ
history -d $((HISTCMD-1)); history -w # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· истории саму ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ history -d ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» истории


4️⃣ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ запись истории Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ

Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ "Π² Ρ‚Π΅Π½ΠΈ", ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ запись:

set +o history   # Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ запись Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ
set -o history # Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯5πŸ‘2❀1
❓ Как быстро ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится исполняСмый Ρ„Π°ΠΉΠ» любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час.

#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π³Π΄Π΅ находится исполняСмый Ρ„Π°ΠΉΠ» любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ which:

which python


Команда ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запускаСт систСма ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ этого ΠΈΠΌΠ΅Π½ΠΈ.

#вопросы
πŸ‘2❀1
πŸ‘©β€πŸ’» Команда read Π² Linux

Команда read Π² Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для чтСния Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΈΠ· стандартного ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ сохранСния Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Она особСнно ΠΏΠΎΠ»Π΅Π·Π½Π° Π² скриптах, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄Π°Π½Π½Ρ‹Π΅.

βš™οΈ Бинтаксис:

read [ΠΎΠΏΡ†ΠΈΠΈ] ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅


βš™οΈ ΠžΠΏΡ†ΠΈΠΈ:
-p "тСкст" β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ.
-t <сСк> β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ оТидания Π²Π²ΠΎΠ΄Π°).
-n <число> β€” ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ количСство символов (Π±Π΅Π· оТидания Enter).
-s β€” скрытый Π²Π²ΠΎΠ΄ (ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ).
-a массив β€” сохраняСт слова Π²Π²ΠΎΠ΄Π° Π² массив.
-r β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ спСцсимволы ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ (\).

Если ΠΊΠΎΠΌΠ°Π½Π΄Π΅ read Π½Π΅ Π·Π°Π΄Π°Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, вся строка присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ REPLY:
echo "Hello, world!" | (read; echo "$REPLY")


βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

1️⃣ ΠŸΡ€ΠΎΡΡ‚Π°Ρ приостановка с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ наТатия любой клавиши:
read -p "Press any key to continue " -n 1


2️⃣ Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ограничСния с автоматичСским ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
read -p "Press any key to continue (autocontinue in 30 seconds) " -t 30 -n 1


3️⃣ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° для Π±ΠΎΠ»Π΅Π΅ слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ управлСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ:
REPLY=""
until [ "$REPLY" = "y" ]; do
# executing some command
read "Press 'y' to continue or 'n' to break, any other key to repeat this step" -n 1
if [ "$REPLY" = 'n' ]; then exit 1; fi
done


4️⃣ Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π²Π²ΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ):
read -s -p "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: " password
echo "Is your password really $password? "


5️⃣ Π§Ρ‚Π΅Π½ΠΈΠ΅ Π² массив:
read -a words
echo "ΠŸΠ΅Ρ€Π²ΠΎΠ΅ слово: ${words[0]}"
echo "Π’Ρ‚ΠΎΡ€ΠΎΠ΅ слово: ${words[1]}"

Если ввСсти Linux Bash, массив words Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ["Linux", "Bash"].
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘8
ℹ️ БистСмныС Π»ΠΎΠ³ΠΈ Linux

БистСмныС Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ /var/log Π½Π° систСмах Linux, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² систСмС. Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… распространённых систСмных Π»ΠΎΠ³Π°Ρ…:

🟣 syslog: Π›ΠΎΠ³ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит сообщСния ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмных слуТб ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ основной Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ сообщСния ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π»ΠΎΠ³ΠΎΠ².

🟣 auth.log: ЗаписываСт сообщСния, связанныС с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°, измСнСния ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ события Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

🟣 kern.log: ЗаписываСт сообщСния, относящиСся ΠΊ ядру систСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ошибки оборудования, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ активности ядра.

🟣 messages: Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ систСмныС сообщСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ старты ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ события, связанныС с систСмой.

🟣 dmesg: ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСния ΠΈΠ· ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° ядра, прСдоставляя Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ событий, связанных с ядром, ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ оборудования Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы.

🟣 cron: ЗаписываСт сообщСния, связанныС с заданиями cron ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ врСмя ΠΈΡ… выполнСния ΠΈ ошибки, возникшиС ΠΏΡ€ΠΈ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.

🟣 secure: ЗаписываСт сообщСния, связанныС с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ события бСзопасности.

🟣 apache/access.log ΠΈ apache/error.log: Π›ΠΎΠ³ΠΈ, спСцифичныС для Π²Π΅Π±-сСрвСра Apache. access.log записываСт Π»ΠΎΠ³ΠΈ HTTP-доступа, Π° error.log фиксируСт ошибки ΠΈ прСдупрСТдСния сСрвСра Apache.

🟣 nginx/access.log ΠΈ nginx/error.log: ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π»ΠΎΠ³Π°ΠΌ Apache, эти Π»ΠΎΠ³ΠΈ спСцифичны для Π²Π΅Π±-сСрвСра Nginx ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ события доступа ΠΈ ошибки.

🟣 mysql/error.log: ЗаписываСт ошибки ΠΈ прСдупрСТдСния, возникшиС Ρƒ сСрвСра Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ошибки ΠΏΡ€ΠΈ стартС, сбои запросов ΠΈ сбои Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚ΠΈ Π»ΠΎΠ³ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ†Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, событиях бСзопасности ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΡ€ΠΈ устранСнии ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

РСгулярный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ· этих Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ систСмы ΠΈ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ пСрСрастут Π² ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘4
❓ Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ процСссы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС всСго памяти?

ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час.

#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ процСссы, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ большС всСго памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ps, sort ΠΈ head:

ps -eo pid,comm,%mem --sort=-%mem | head


Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ PID, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ использования памяти. МоТно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ %mem Π½Π° %cpu, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ процСссора.

#вопросы
✍7πŸ‘1
Effective group id ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² доступа:
Anonymous Quiz
12%
0777
17%
2666
19%
4744
8%
1711
44%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚