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

По Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @jannytg
@anothertechrock
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
πŸ”₯ ΠŸΠΎΠ½ΡΡ‚Π½Π°Ρ, интСрактивная ΠΈ доходчивая ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ…
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯7
πŸ‘©β€πŸ’» Команда sync

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ sync синхронизируСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша Π² ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π΅Π΅ примСнСния.

1️⃣ Бинхронизация кэша ΡŽΠ·Π΅Ρ€Π°

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° синхронизируСт Π΄Π°Π½Π½Ρ‹Π΅ кэша с ТСстким диском:

$ sync


2️⃣ Бинхронизация ΡŽΠ·Π΅Ρ€ΡΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Когда Π²Ρ‹ Π΄Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ sudo ΠΊΠΎΠΌΠ°Π½Π΄Π΅ sync, ΠΎΠ½Π° синхронизируСт всС смонтированныС Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы Π½Π° ТСстком дискС:

$ sudo sync


Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΡŽΠ·Π΅Ρ€Π°:

$ df


МоТно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сколько Π΄Π°Π½Π½Ρ‹Ρ… смонтированы Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ "/", Π² Ρ€Π°Π·Π΄Π΅Π» - "/dev/sda3".

3️⃣ Бинхронизация Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°

Команда sync прСдоставляСт ΠΎΠΏΡ†ΠΈΠΈ -d ΠΈΠ»ΠΈ -data для синхронизации/копирования Π΄Π°Π½Π½Ρ‹Ρ… кэша Ρ„Π°ΠΉΠ»Π° Π½Π° ТСсткий диск:

$ sync -d /home/testfile1.txt


4️⃣ Бинхронизация Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Для синхронизации Π΄Π°Π½Π½Ρ‹Ρ… кэша Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$ sync -d /home/testfile1.txt ~/Desktop/Samplevideo.mp4


5️⃣ Бинхронизация Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы

ΠžΠΏΡ†ΠΈΠΈ -f ΠΈΠ»ΠΈ -file-system ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡŽΠ·Π΅Ρ€Ρƒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ вмСстС с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами:

$ sync -f /home/Downloads/testfile2.txt


6️⃣ Бинхронизация Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм

Команда sync ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ sync -f /home/file1.txt ~/Desktop/Samplevideo.mp4


7️⃣ Бинхронизация Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° систСмы:

$ sudo sync /dev/sda3


8️⃣ Бинхронизация ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

Для синхронизации ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ "/var/log/syslog" ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

$ sudo sync /var/log/syslog
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘2
Автоматизация Π·Π°Π΄Π°Ρ‡ с xargs

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Linux Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ xargs, хотя это ΠΌΠΎΡ‰Π½Ρ‹ΠΈΜ† инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ запуска ΠΊΠΎΠΌΠ°Π½Π΄ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· стандартного ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π° (STDIN). Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΡƒΠ΄Π° ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π»ΠΈΠ±ΠΎ ΠΎΡ‚ сторонних ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ |.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с трСмя Ρ„Π°ΠΈΜ†Π»Π°ΠΌΠΈ:

$ ls -1
file1.txt
file2.txt
file3.txt


ΠŸΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΉ список Π² xargs, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ слуТил Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈ wc -l Π² качСствС шаблона ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ ls -1 | xargs wc -l
3 file1.txt
4 file2.txt
1 file3.txt
8 total


Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ xargs ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ» шаблон ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ wc -l ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ для подсчСта строк.

НСдостаток ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ xargs Ρ‚ΡƒΡ‚ Π½Π΅ трСбуСтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ сопоставлСниСм Ρ„Π°ΠΈΜ†Π»ΠΎΠ² с шаблоном:

$ wc -l *
3 file1.txt
4 file2.txt
...


Π—Π°Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ xargs?

Π•Π΅ ΠΌΠΎΡ‰ΡŒ становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΈΜ†, ΠΊΠΎΠ³Π΄Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ строки Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство строк Π²ΠΎ всСх python скриптах с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π½Π° ".py".

Π’Π°ΠΊΠΎΠΈΜ† список ΠΏΡƒΡ‚Π΅ΠΈΜ† ΠΊ Ρ„Π°ΠΈΜ†Π»Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find:

$ find . -type f -name \*.py -print

/usr/lib/bup/bup/options.py
/usr/lib/bup/bup/xstat.py
...


Π’Π΅ΠΏΠ΅Ρ€ΡŒ xargs ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ шаблон ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΈΜ†Π»Ρƒ:

$ find / -type f -name \*.py -print | xargs wc -l

292 /usr/lib/bup/bup/options.py
112 /usr/lib/bup/bup/xstat.py
...


ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ find ΠΈ xargs, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»ΡŽΠ±ΠΎΠΈΜ† ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ всСй Ρ„Π°ΠΈΜ†Π»ΠΎΠ²ΠΎΠΈΜ† систСмы, затрагивая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ критСриям.

ΠžΠΏΡ†ΠΈΠΈ xargs

Команда xargs ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΎΠΏΡ†ΠΈΠΈΜ†. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсныС: -n, -I ΠΈ -0.

1️⃣ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ "-n" ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π½Π° 1 Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ ls | xargs echo
file1.txt file2.txt

$ ls | xargs -n1 echo
file1.txt
file2.txt


Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΊΠΎΠΌΠ°Π½Π΄Π° echo выполнится 2 Ρ€Π°Π·Π°: ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

2️⃣ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -I опрСдСляСт мСсто Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… строк Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ†, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.

ПослС -I Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ строку, ΠΈ ΠΎΠ½Π° станСт ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ, ΠΊΡƒΠ΄Π° слСдуСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

$ ls | xargs -I XYZ echo XYZ is OK
file1.txt is OK
file2.txt is OK


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ -I ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ xargs ΠΎΠ΄Π½ΠΎΠΈΜ† Π²Ρ…ΠΎΠ΄Π½ΠΎΠΈΜ† строкой Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ пСрСдаСтся "сплошняком", Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ подстановка ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта, ΠΈΠ½Π°Ρ‡Π΅ вСсь ΠΏΠΎΡ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

3️⃣ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -0 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ символ "\0" Π² качСствС раздСлитСля Π΄Π°Π½Π½Ρ‹Ρ… вмСсто "\n" ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°. Он часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ объСдинСнии find ΠΈ xargs, Ρ‚.ΠΊ., ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ xargs ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ строки Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

А Ссли ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² строках содСрТат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΈΜ†Π»ΠΎΠ²?

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅ строки ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

НапримСр, Ссли Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ "file num 1.txt", xargs ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всС ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ, вСроятно, Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:


$ find ./ -type f -name \*.txt -print | xargs wc -l

wc: ./file: No such file or directory
wc: num: No such file or directory
wc: 1.txt: No such file or directory


Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ строки нулями вмСсто символов Π½ΠΎΠ²ΠΎΠΈΜ† строки? К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ find Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° -print0:

$ find ./ -name \*.txt -print0

./file1.txt./file num 1.txt


Π’Π΅ΠΏΠ΅Ρ€ΡŒ xargs Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ "\0" ΠΈ ΠΏΠΎ Π½Π΅ΠΌΡƒ сформируСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для wc -l:

$ find ./ -name \*.txt -print0 | xargs -0 wc -l

0 ./file1.txt
0 ./file num 1.txt
0 total
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘7
❓ Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС всСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ?

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π΅Π±ΡƒΡ‚Π½ΡƒΡ‚ΡŒ сСрвСр, Π½ΠΎ Π½Π° Π½Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π²Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди. Как ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌ сообщСниС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅?

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

#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯1
Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ сразу ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° wall (Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ write to all, Ρ‚.Π΅. β€œΠ½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всСм”).

$ wall
I'm going to reboot the server at 14:00!

ПослС наТатия Ctrl+D сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ.
πŸ‘12
Π¨Π°Π±Π»ΠΎΠ½Ρƒ a?b* Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹...
Anonymous Quiz
6%
afcc, aabb
55%
aabb, axbc
17%
abbb, abxy
5%
abcd, axbb
16%
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚
Как Π±Ρ‹Ρ‚ΡŒ, Ссли Π½Π΅ моТСшь Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Linux?

Π’ΠΎΡ‚ Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π»Π΅Ρ‚Π΅Π»Π° ΠΈΠ· Π³ΠΎΠ»ΠΎΠ²Ρ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡ€ΠΈΡ…Π²Π°Ρ‚ΠΈΠ»Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ своС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ man с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ:

man -k <ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово>


НапримСр, Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΊΠ°ΠΊ-Ρ‚ΠΎ связана с диском. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»:

man -k disk


Π’ Π²Ρ‹Ρ…Π»ΠΎΠΏ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, связанныС с дисками. Π›Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ. ΠŸΡ€Π°Π²Π΄Π°, всС ΠΎΡ‡Π΅Π½ΡŒ просто? Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈ наслаТдаСмся!
πŸ”₯14πŸ‘7πŸ€”1
πŸ”₯ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Linux Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра?

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ядра LinuxΒ» β€” это ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

πŸ’» Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуры Π΄Π°Π½Π½Ρ‹Ρ… ядра, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ dmesg ΠΈ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° Linux-ядрС.

πŸ’š ΠšΡƒΡ€Ρ Π²Π΅Π΄ΡƒΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠ΅ экспСрты с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ ядро.
πŸ’šΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обновляСтся ΠΏΠΎΠ΄ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ стандарты ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ индустрии.
πŸ’šΠ–ΠΈΠ²Ρ‹Π΅ Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° наставников, итоговая Ρ€Π°Π±ΠΎΡ‚Π° β€” всё, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ освоили слоТныС Ρ‚Π΅ΠΌΡ‹ систСмного программирования.

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ заявку прямо сСйчас

Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘2