uk
Feedback
🐧 Linux Junior. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux.

🐧 Linux Junior. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux.

Π’Ρ–Π΄ΠΊΡ€ΠΈΡ‚ΠΈ Π² Telegram

Канал для программистов Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Linux. ΠŸΠΎΡ‡Ρ‚ΠΈ всС Python Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ с Π½Π°ΠΌΠΈ Π½Ρƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΎΠΆΠ΅ подтянутся. По Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅: @jannytg @anothertechrock

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΠΈ Π±Ρ–Π»ΡŒΡˆΠ΅
3 117
ΠŸΡ–Π΄ΠΏΠΈΡΠ½ΠΈΠΊΠΈ
-124 Π³ΠΎΠ΄ΠΈΠ½ΠΈ
НСмає Π΄Π°Π½ΠΈΡ…7 Π΄Π½Ρ–Π²
-1130 дСнь
Архів дописів
❓ Как быстро ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ самый большой? ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час. #вопросы

πŸ”₯ Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ su ΠΈ su - Ни для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ Linux - систСма, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. БСгодня я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ сСссию ΠΎΡ‚ Паши, Π·Π°Π²Ρ‚Ρ€Π° ΠΎΡ‚ ΠŸΠ΅Ρ‚ΠΈ. Когда Π²Ρ‹ Π² сСссии ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», стартуСт ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, которая подстраиваСт ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΡŽΠ·Π΅Ρ€Π°: выполняСт скрипты, опрСдСляСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π‘Ρ‹Π²Π°Π΅Ρ‚, приходится, работая Π² сСссии ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ su (substitute user), которая позволяСт ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅:
$ su vasya
ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ создастся дочСрняя ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, которая ΠΏΠ΅Ρ€Π΅ΠΉΠΌΠ΅Ρ‚ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния родитСля, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ (USER, HOME ...) ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ "Васины" скрипты: /home/vasya/.bashrc ΠΈ Ρ‚.Π΄.:
$ export USER1VAR="vasya"

$ su xoadmin
$ printenv | grep USER
USER=xoadmin
USER1VAR=vasya
Какая-Ρ‚ΠΎ каша Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚. Половина Васиных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡŽΠ·Π΅Ρ€Π° xoadmin. Π’Π°ΠΊΠΎΠΉ способ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ быстро ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π΅ трСбуСтся Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ срСду, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ чистом Π²Ρ…ΠΎΠ΄Π΅ Π² систСму, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ su -:
$ su - xoadmin
ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ родитСля ΠΌΡ‹ Π½Π΅ наслСдуСм ΠΈ запускаСм ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Ρ‚ΠΈΠΏΠ° "login shell", которая Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ скрипты ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ "/etc/profile", "~/.bash_profile". Π’Π°ΠΊΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ su -, наш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° домашний для Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠœΠ΅Π»ΠΎΡ‡ΡŒ, Π½ΠΎ Ρ„Π°ΠΊΡ‚:
$ pwd
/home/vasya/Music
$ su - xoadmin
$ pwd
/home/xoadmin

πŸŽ₯ Π’Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΠΎ Linux: Π‘ Windows Π½Π° Linux: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг систСмного администратора На Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅: - Π’ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅
πŸŽ₯ Π’Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΠΎ Linux: Π‘ Windows Π½Π° Linux: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг систСмного администратора На Π²Π΅Π±ΠΈΠ½Π°Ρ€Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅: - Π’ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ отличия Linux ΠΈ Windows - КакиС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² консоли Linux - Как устроСна файловая систСма Linux ΠΈ Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° Π²Ρ‹: - ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Linux - ΠŸΠΎΠΉΠΌΠ΅Ρ‚Π΅ структуру Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ - Π‘ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ - Π Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ Linux послС Windows πŸ‘‰ Для участия Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ: https://vk.cc/cUMPNt 🎁 ВсС участники Π²Π΅Π±ΠΈΠ½Π°Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ условия Π½Π° ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ курса "Administrator Linux. Basic" ΠšΡƒΡ€Ρ создан для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ случайного ΠΎΠΏΡ‹Ρ‚Π° ΠΊ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСрвСром. Π’Ρ‹ освоитС основы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Bash, ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΊΠ°ΠΊ устроСны сСти, Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²Π΅Π±-сСрвисы, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с MySQL, Docker, Git, Prometheus ΠΈ Grafana. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ дальнСйший рост. πŸ‘‰ ΠŸΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ:  https://vk.cc/cUMPUk Π Π΅ΠΊΠ»Π°ΠΌΠ°. ООО Β«ΠžΡ‚ΡƒΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠžΠ“Π Π 1177746618576

πŸ‘©β€πŸ’» ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ apt ΠΈ apt-get Π­Ρ‚ΠΎ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для установки, удалСния ΠΈ обновлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° систСмС. βœ… apt-get apt-get - это ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΠΈΡ…ΡΡ для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² систСмах Debian ΠΈ Ubuntu. 🟩 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° apt-get: βœ”οΈ Широкая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. apt-get являСтся стандартной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² Debian ΠΈ Ubuntu, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнной ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ. βœ”οΈ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ apt-get Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссС установки ΠΈΠ»ΠΈ удалСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° процСссом. 🟧 НСдостатки apt-get: βœ”οΈ МСдлСнноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСксов ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². apt-get ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° обновлСния индСксов ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. βœ”οΈ НСудобство Π² использовании. ИспользованиС apt-get Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². βœ… apt apt - это Π±ΠΎΠ»Π΅Π΅ новая ΠΊΠΎΠΌΠ°Π½Π΄Π°, прСдназначСнная для упрощСния управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² систСмах Debian ΠΈ Ubuntu. Она являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ соврСмСнного инструмСнта APT (Advanced Package Tool), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ интСрфСйсС. 🟩 ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° apt: βœ”οΈ Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ использованиС. apt прСдоставляСт Π±ΠΎΠ»Π΅Π΅ простой ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π² использовании. βœ”οΈ Π‘ΠΎΠ»Π΅Π΅ быстроС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСксов ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². apt автоматичСски обновляСт индСксы ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя оТидания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. 🟧 НСдостатки apt: βœ”οΈ МСнСС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ apt Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с apt-get, Ρ‡Ρ‚ΠΎ затрудняСт отслСТиваниС процСсса установки ΠΈΠ»ΠΈ удалСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°. βœ”οΈ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сторонних Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π². apt ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сторонних Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с apt-get, хотя это Π½Π΅ Ρ‚Π°ΠΊ часто встрСчаСтся.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для поиска Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… (files) строк, Π³Π΄Π΅ встрСчаСтся BOB, Bob, BOb ΠΈΠ»ΠΈ BoB.
Anonymous voting

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° xargs Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах считываСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ… для построСния ΠΈ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
ls *.log | xargs rm
Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с find, grep ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли список ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ шаблоном, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ шаблон ΠΊΠΎΠΌΠ°Π½Π΄Π΅ rm:
rm *.log
rm file{1..100}.txt
Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ. Но xargs Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТат ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ слово:
ls | grep "temp" | xargs rm
МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ рСгулярныС выраТСния. Если установлСн fzf, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ:
ls | fzf -m | xargs -r rm
Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ список Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ, ΠΈ xargs ΠΈΡ… удаляСт. ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. #вопросы

❓ Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², сгСнСрированный Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ? ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час. #вопросы

πŸ”₯ Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° доступа (ACL) Π² Linux ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ модСль ΠΏΡ€Π°Π² Π² Linux проста: Π΅ΡΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»Π΅Ρ†, Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅. Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв этого Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Π½ΠΎ Π½Π΅ всСгда. А Ρ‡Ρ‚ΠΎ Ссли Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ user1 ΠΈ user2 ΠΈΠΌΠ΅Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρƒ? Или Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Ρ‹Π» доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ? Π’ΡƒΡ‚ Π½Π° сцСну Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ACL β€” Access Control List. βœ”οΈ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ACL ACL позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π° для любого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° β€œΠ΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой” ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ACL ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Ρ„Π°ΠΉΠ»:
ls -l report.txt
-rw-r-----+ 1 marina staff 2048 Oct 22 11:20 report.txt
Плюсик + послС ΠΏΡ€Π°Π² (rw-r-----+) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ Ρ„Π°ΠΉΠ»Π° Π΅ΡΡ‚ΡŒ ACL. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:
getfacl report.txt
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:
# file: report.txt
# owner: marina
# group: staff
user::rw-
user:john:r--
group::r--
mask::r--
other::---
ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ запись для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ john. ✏️ НазначСниС ACL Π’Ρ‹Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ john ΠΏΡ€Π°Π²Π° Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°:
setfacl -m u:john:r file.txt
Π’Ρ‹Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ΅ designers ΠΏΡ€Π°Π²Π° Π½Π° запись:
setfacl -m g:designers:rw file.txt
❌ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ запись ACL:
setfacl -x u:john file.txt
Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ всС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° (оставив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ chmod-ΠΏΡ€Π°Π²Π°):
setfacl -b file.txt
πŸ—‚ Установка ACL ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ACL ΠΌΠΎΠΆΠ½ΠΎ "ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ" ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ наслСдовали ΠΏΡ€Π°Π²Π° автоматичСски. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π³Ρ€ΡƒΠΏΠΏΡ‹ team Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /srv/docs:
setfacl -d -m g:team:rw /srv/docs
Π’Π΅ΠΏΠ΅Ρ€ΡŒ любой Ρ„Π°ΠΉΠ», созданный Π²Π½ΡƒΡ‚Ρ€ΠΈ /srv/docs, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²Π°. 🟒 ПолСзно Π·Π½Π°Ρ‚ΡŒ mask Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ getfacl β€” это "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ" ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ACL. Π”Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π΄Π°Π½Ρ‹ ΠΏΡ€Π°Π²Π° rwx, Π½ΠΎ Π² качСствС mask стоит rw-, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. ΠœΠ°ΡΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ:
setfacl -m m:rw file.txt
βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ ΠŸΡƒΡΡ‚ΡŒ Π² /var/www/project Π»Π΅ΠΆΠΈΡ‚ сайт, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°: admin ΠΈ editor. Админ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ, Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°:
chown -R admin:admin /var/www/project
setfacl -R -m u:editor:rw /var/www/project/content
setfacl -d -m u:editor:rw /var/www/project/content
ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° setfacl Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа для ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² /var/www/project/content. Вторая устанавливаСт шаблон ΠΏΡ€Π°Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, созданныС Π² /var/www/project/content. Π’Π΅ΠΏΠ΅Ρ€ΡŒ editor смоТСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² /content (Π² Ρ‚ΠΎΠΌ числС ΠΈ всС созданныС Π² дальнСйшСм), Π½ΠΎ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΊΠΎΠ΄ прилоТСния.

πŸ‘©β€πŸ’» ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ curl Команда curl β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Π² Linux. Она ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ (HTTP, HTTPS, FTP ΠΈ Π΄Ρ€.) прямо ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивов curl ΡƒΠΆΠ΅ прСдустановлСн. βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ⏺УказаниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ НСкоторыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ бСсконСчно, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ зависанию систСмы. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cURL ΠΏΠΎ истСчСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ (врСмя указываСтся Π² сСкундах):
$ curl -m 60 example.com
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ соСдинСниС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ бСсконСчных ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ соСдинСния с нСдоступным ΡƒΠ·Π»ΠΎΠΌ. Π­Ρ‚Π° опция Ρ‚ΠΎΠΆΠ΅ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² сСкундах. А ΠΊΠΎΠΌΠ°Π½Π΄Π° выглядит Ρ‚Π°ΠΊ:
$ curl --connect-timeout 60 example.com
⏺УказаниС Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° cURL позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π§Π°Ρ‰Π΅ всСго это Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° FTP-сСрвСрС. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ -u.
$ curl -u username:password ftp://example.com
Π”Π°Π½Π½ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, Π½ΠΎ FTP являСтся самым распространённым для простой ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Если Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», запускаСм Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ:
$ curl -u username:password ftp://example.com/readme.txt
⏺ИспользованиС прокси cURL ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡŒ Ρ‡Π΅Ρ€Π΅Π· прокси-сСрвСр. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ curl ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ HTTP-прокси, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‡Π΅Ρ€Π΅Π· прокси, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ -x.
$ curl -x 192.168.1.1:8080 http://example.com
Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° обязуСт cURL ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ прокси ΠΏΠΎ адрСсу 192.168.1.1 Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 8080 ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π½Π° example.com ΠŸΡ€ΠΎΠΊΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ. НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования прокси-сСрвСра для получСния Ρ„Π°ΠΉΠ»Π° с FTP-сСрвСра.
$ curl -x 192.168.1.1:8080 ftp://example.com/readme.txt

Effective group id ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² доступа:
Anonymous voting

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ процСссы, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ большС всСго памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ps, sort ΠΈ head:
ps -eo pid,comm,%mem --sort=-%mem | head
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ PID, ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ использования памяти. МоТно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ %mem Π½Π° %cpu, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ процСссора. #вопросы

❓ Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ процСссы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС всСго памяти? ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час. #вопросы

ℹ️ БистСмныС Π»ΠΎΠ³ΠΈ 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, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ошибки ΠΏΡ€ΠΈ стартС, сбои запросов ΠΈ сбои Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Π»ΠΎΠ³ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ†Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, событиях бСзопасности ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΡ€ΠΈ устранСнии ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. РСгулярный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΠ· этих Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ систСмы ΠΈ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ пСрСрастут Π² ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅.

πŸ‘©β€πŸ’» Команда 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"].

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π³Π΄Π΅ находится исполняСмый Ρ„Π°ΠΉΠ» любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ which:
which python
Команда ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ запускаСт систСма ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ этого ΠΈΠΌΠ΅Π½ΠΈ. #вопросы

❓ Как быстро ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится исполняСмый Ρ„Π°ΠΉΠ» любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹? ΠžΡ‚Π²Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· час. #вопросы

πŸ”₯ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π’ 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   # Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ