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

По Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @jannytg
@anothertechrock
Download Telegram
πŸ‘©β€πŸ’» Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° (shell) Π² Linux?

Shell ΠΈΠ»ΠΈ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° прСдставляСт собой Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ядром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½ΠΎ ΠΈ язык программирования, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ условного вСтвлСния, Ρ†ΠΈΠΊΠ»Ρ‹, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ конструкции.

ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСму ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° опСрационная систСма запускаСт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, состоящСС ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠΌΠ΅Π½ΠΈ хоста, Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈ символа $ ΠΈΠ»ΠΈ #, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ.

Π’Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ (встроСнными Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ) ΠΈ внСшними (выполняСмыми ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).

βš‘οΈΠŸΡ€ΠΈ нСобходимости ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ type <имя_ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹>.

Π’ nix-систСмах сущСствуСт Π΄Π²Π° основных Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ:

β€’ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π° основС Bourne shell
β€’ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π° основС C shell.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ прСдставитСлями ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΈΠΏΠ° Bourne shell ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

- sh (Bourne shell)
- bash (Bourne Again shell)
- ksh (Korn shell)
- zsh (Z Shell)


К ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ Ρ‚ΠΈΠΏΠ° C Shell относятся:

- csh (C shell)
- tcsh (TENEX/TOPS C shell)
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4❀1πŸ‘1
Как ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Linux

sync


ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша Π½Π° ТСсткий диск, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

echo 1 > /proc/sys/vm/drop\_caches


ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ кэши страниц, ΠΈΠ½ΠΎΠ΄ΠΎΠ² ΠΈ дэндТлиста Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²Π° администратора.

sudo sysctl -w vm.drop_caches=3


Π’ΠΎΠΆΠ΅ происходит очистка кэша страниц, ΠΈΠ½ΠΎΠ΄ΠΎΠ² ΠΈ дэндТлиста.

sudo systemctl restart systemd-journald


ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ пСрСзапуск слуТбы ΠΆΡƒΡ€Π½Π°Π»Π° систСмы.

sudo systemctl restart rsyslog


ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ слуТбы систСмного ΠΆΡƒΡ€Π½Π°Π»Π° rsyslog.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ дисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈΠ»ΠΈ устройства, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡ… ΠΎΡ‚ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ umount ΠΈΠ»ΠΈ fdisk.

А Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли Ρƒ вас ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ процСссы, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ kill ΠΈΠ»ΠΈ killall для ΠΈΡ… Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈ освобоТдСния памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚.
πŸ‘6
πŸ’‘ ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ совСт ΠΏΠΎ Linux

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ пустыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π° find ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ эту Ρ€Π°Π±ΠΎΡ‚Ρƒ:

$ find . -type d -empty -exec rmdir -v {} +


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -type d выполняСт поиск ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², -empty Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ пустыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, Π° -exec rmdir {} выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rmdir для ΠΈΡ… удалСния.

Команда rmdir Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ пуст ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ.

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, для выполнСния Ρ‚ΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ find . -type d -empty -delete
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯6😱2
πŸ‘3
πŸ‘©β€πŸ’» Команда killall

Если Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ нСсколько ΠΎΠΊΠΎΠ½ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ прилоТСниями, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° killall ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ ΠΈΡ… всС. ΠŸΡ€ΠΈ этом Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ PID, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ kill.

killall β€” ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая останавливаСт процСссы с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.

Команда ΠΈΡ‰Π΅Ρ‚ всС подходящиС Π² ΠΏΠ°ΠΏΠΊΠ΅ /proc


ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°:

killall gcalctool


Если Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ сигнал SIGTERM.

Однако, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сигнал, Ρ‚ΠΎ это Π½ΡƒΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ:

killall -s 1 gcalctool


Иногда Π½Π΅ удаСтся Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° использования ΠΊΠΎΠΌΠ°Π½Π΄. Но ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ man, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ справку ΠΏΠΎ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ:

man killall


Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ процСсс ΡƒΠ±ΠΈΡ‚?

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ процСсс Π±Ρ‹Π» Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· доступных способов:

ps aux | grep


pidof


pgrep


Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния этих ΠΊΠΎΠΌΠ°Π½Π΄ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘2❀1
πŸŽ›ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ Π² Linux

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ Π² Linux содСрТат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… событиях, происходящих Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ сообщСния ядра.

Π­Ρ‚ΠΈ Π»ΠΎΠ³ΠΈ, хранящиСся Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для выявлСния ΠΈ устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² Π² Linux Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: систСмныС Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹, Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ событий, Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ слуТб ΠΈ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

МногиС ΠΈΠ· Π½ΠΈΡ… Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ var/log.

НаиболСС распространСнными Π»ΠΎΠ³Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1️⃣ /var/log/boot.log β€” ΠΆΡƒΡ€Π½Π°Π» Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы (Π² Π½Π΅ΠΌ хранится вся информация, связанная с этапами Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ОБ).

2️⃣ /var/log/kern.log β€” ΠΆΡƒΡ€Π½Π°Π» ядра (Π² Π½Π΅ΠΌ хранятся сообщСния ΠΈ прСдупрСТдСния, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ нСпосрСдствСнно ΠΈΠ· ядра Linux.

3️⃣ /var/log/syslog ΠΈΠ»ΠΈ /var/log/messages β€” ΠΆΡƒΡ€Π½Π°Π»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится информация ΠΎΠ± ΠΎΠ±Ρ‰Π΅ΠΉ активности Π² систСмС (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сообщСния этапа Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ).

4️⃣ /var/log/auth.log ΠΈΠ»ΠΈ /var/log/secure β€” ΠΆΡƒΡ€Π½Π°Π»Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ бСзопасности (Π² Π½ΠΈΡ… хранятся записи ΠΎΠ±ΠΎ всСх ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… Π²Ρ…ΠΎΠ΄Π° Π² систСму, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠ°ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅).

5️⃣ /var/log/debug β€” ΠΆΡƒΡ€Π½Π°Π» ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Π² Π½Π΅ΠΌ хранится подробная отладочная информация систСмы ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ).

6️⃣ /var/log/daemon.log β€” ΠΆΡƒΡ€Π½Π°Π» Π΄Π΅ΠΌΠΎΠ½ΠΎΠ² (содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ событиях, связанных с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π² систСмС Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ/слуТбами).

7️⃣ /var/log/maillog ΠΈΠ»ΠΈ /var/log/mail.log β€” ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСров (Π² Π½ΠΈΡ… хранится информация, относящаяся ΠΊ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ сСрвСрам ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ элСктронных писСм).
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘6
😱 Как Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ скрипт

Рассмотрим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° случайно/ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ удалился ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ bash-скрипт.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΠ΅ ситуации, всСгда Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ исходники Π² git β€” это ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎ, Π½ΠΎ Π±Π΅ΠΊΠ°ΠΏΡ‹ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΡƒΠ΄Π°Π»Ρ‘Π½ с диска, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½Π΅, Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ скрипт. touch /tmp/script.sh:

#!/bin/bash
sleep 1000
exit


Π”Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ исполняСмым chmod +x /tmp/script.sh ΠΈ запускаСм Π² Ρ„ΠΎΠ½Π΅ /tmp/script.sh &.

Π‘ΠΈΠΌΠ²ΠΎΠ» & ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ command & command, Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ выполнятся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ запустили, ΠΎΠ½ крутится Π² Ρ„ΠΎΠ½Π΅. Π£Π΄Π°Π»ΠΈΠΌ сам Ρ„Π°ΠΉΠ»:

rm -f /tmp/script.sh

ΠšΠ»ΡŽΡ‡ -f ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… вопросов.

ВосстанавливаСм:

lsof -c 'script.sh'


На экран вывСдСтся простыня. Нам Π½ΡƒΠΆΠ½Π° строка, Π³Π΄Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡƒΡ‚ΡŒ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ скрипту:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
script.sh 261899 root 255r REG 8,1 51 130773 /tmp/script.sh


Π‘Π΅Ρ€Π΅ΠΌ PID = 261899, Π±Π΅Ρ€Π΅ΠΌ FD = 255 ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ:

cat /proc/261899/fd/255


А Π²ΠΎΡ‚ ΠΈ исходник скрипта:

File: /proc/261899/fd/255
#!/bin/bash
sleep 1000
exit


Π’ΠΎΡ‚ полСзная ΠΈΠ½Ρ„Π°, которая Π±Ρ‹Π»Π° использована Π² Π³Π°ΠΉΠ΄Π΅:
man 5 proc # /proc/[pid]/fd/
man lsof
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘14πŸ”₯3❀1
ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для Π²Ρ…ΠΎΠ΄Π° Π² систСму, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹...
Anonymous Quiz
11%
chmod
66%
chsh
3%
rmsh
8%
tchsh
13%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
πŸ‘©β€πŸ’» Команда rsync

rsync - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования. Он позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ².

βœ”οΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ бэкап:

rsync -av /source/directory/ /destination/directory/


βœ”οΈ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ бэкап Ρ‡Π΅Ρ€Π΅Π· ssh:

rsync -av -e ssh /source/directory/ user@remote_host:/destination/directory/


Rsync ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для зСркалирования Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² качСствС Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ scp, sftp ΠΈ cp.

βš™οΈ Установка:

sudo apt install rsync


ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с опциями ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° этой страницС, Π»ΠΈΠ±ΠΎ воспользовавшись ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ man.
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯4❀1
Если Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ fileA, fileB, fileAB, fileBC ΠΈ fileABC, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΠ΄ΠΏΠ°Π΄ΡƒΡ‚ ΠΏΠΎΠ΄ шаблон file[ABC]?
Anonymous Quiz
16%
fileA, fileB ΠΈ fileABC
23%
fileABC
31%
fileA ΠΈ fileB
13%
fileAB, fileBC ΠΈ fileABC
17%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
❀4
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ /dev/null ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΡƒΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅?

Если Π²Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Ρ‚ΠΎ, вСроятно, использовали Ρ„Π°ΠΉΠ» /dev/null для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ:

1️⃣ Π£Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄Π° всю Π½Π΅Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„Ρƒ (прСдупрСТдСния, ошибки ΠΈ Ρ‚.Π΄.):

$ find / -name "*.conf" 2>/dev/null


2️⃣ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ пустой рСсурс Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π”Π΅Π»Π°Ρ‚ΡŒΡΡ это ΠΌΠΎΠΆΠ΅Ρ‚ с Ρ†Π΅Π»ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈ систСмных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΈ примСнСния Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Ρ… настроСк Π½Π° сторонС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

$ picom --config /dev/null


3️⃣ ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»:

$ cat /dev/null > bigfile   


❓ ОкСй, принято, Π° Ρ‡Π΅ΠΌ являСтся этот самый /dev/null?

Π’ сущности - это cимвольноС псСвдо-устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ создаСтся Π½Π° этапС запуска систСмы ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…:
$ ls -l
crw-rw-rw- 1 root root 1, 3 Sep 6 08:37 null


О Ρ‚ΠΈΠΏΠ΅ устройства Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ„Π°ΠΉΠ»Π° - c "character".

РСсурс удаляСт всС записанноС Π² Π½Π΅Π³ΠΎ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ EOF (End of File). Когда ΠΌΡ‹ взаимодСйствуСм с /dev/null, нСявно ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ядра, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π·Π°ΡˆΠΈΡ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ°.

Если интСрСсно, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€Ρ‹Ρ‚ΡŒΡΡ Π² исходниках с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ: drivers/char/mem.c. Код ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ /dev/null, Π½ΠΎ ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ устройствам.

Π Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

$ stat /dev/null

File: /dev/null
Size: 0 Blocks: 0 IO Block: 4096   character special file
Access: (0666/crw-rw-rw-)  Uid: (0/ root)   Gid: (0/ root)
Access: 2025-01-25 14:42:20.101000002 +0300
...


Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 0 Π±Π°ΠΉΡ‚, для Π½Π΅Π³ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ 0 Π±Π»ΠΎΠΊΠΎΠ² Π½Π° дискС, Π΄Π°Ρ‚Π° создания = Π΄Π°Ρ‚Π° запуска систСмы:

$ who -b  
system boot  2025-01-25 14:42


ΠŸΡ€Π°Π²Π° доступа установлСны Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ любой ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π½Π΅Π³ΠΎ, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ:

$ echo hello | /dev/null
-bash2: /dev/null: Permission denied


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°ΠΉΠ» Π½Π΅ исполняСмый, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ |. ЕдинствСнный способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² >, >>.
Please open Telegram to view this post
VIEW IN TELEGRAM
❀7πŸ‘2πŸ”₯2
ΠŸΡ€Π°Π²Π° Π½Π° Ρ„Π°ΠΉΠ» -rwxr--r-- ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ:
Anonymous Quiz
12%
777
4%
666
50%
744
26%
711
8%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
🀣4
Какая пСрСмСнная содСрТит список ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²?
Anonymous Quiz
12%
$#
30%
$*
13%
$?
28%
$$
17%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚