БпСстСтС 15% ΠΎΡ‚ всички хостинг услуги

ВСствай умСнията си ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠžΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° всСки хостинг ΠΏΠ»Π°Π½

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ
Заглавия
Linux

Как Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Linux: Пълно Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° mv, rename, find ΠΈ Bash скриптовС

ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Linux Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-чСститС административни Π·Π°Π΄Π°Ρ‡ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ‚Π΅ β€” нСзависимо Π΄Π°Π»ΠΈ управляватС Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅ голяма срСда Π·Π° ΡƒΠ΅Π± хостинг ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° внСдряванС. Linux ΠΏΡ€Π΅Π΄Π»Π°Π³Π° мноТСство ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΡ‚ простата ΠΊΠΎΠΌΠ°Π½Π΄Π° mv Π΄ΠΎ ΠΌΠΎΡ‰Π½ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ ΠΈ пСрсонализирани Bash скриптовС. Π’ΠΎΠ²Π° ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚Π΅Π»Π½ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ ΠΎΠ±Ρ…Π²Π°Ρ‰Π° всСки ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅, с практичСски ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ.

Π—Π°Ρ‰ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅ Π²Π°ΠΆΠ½ΠΎ Π² администриранСто Π½Π° Linux

На всяка Linux-Π±Π°Π·ΠΈΡ€Π°Π½Π° систСма β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ срСди Π·Π° VPS Π₯остинг, dedicated ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈΠ»ΠΈ Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ Π·Π° сподСлСн хостинг β€” ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° организация Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ пряко влияС Π²ΡŠΡ€Ρ…Ρƒ производитСлността, сигурността ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° систСмата. НСправилно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ ΡƒΠ΅Π± прилоТСнията, Π΄Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ cron Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π°. Π—Π½Π°Π½ΠΈΠ΅Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈ бСзопасно Π΅ основно ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π·Π° всСки систСмСн администратор ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° mv

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° mv (прСмСстванС) Π΅ Π½Π°ΠΉ-основният ΠΈ унивСрсално Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ инструмСнт Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Linux. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ основната ѝ Ρ†Π΅Π» Π΅ прСмСстванСто Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ мСстополоТСния, тя сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ инструмСнт Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅.

ОсновСн синтаксис

mv old_filename new_filename

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° просто ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»

Π—Π° Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ file1.txt Π½Π° file2.txt Π² ΡΡŠΡ‰Π°Ρ‚Π° дирСктория:

mv file1.txt file2.txt

Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π° Ρ„Π°ΠΉΠ»Π° Π½Π° място β€” Π½Π΅ сС създава ΠΊΠΎΠΏΠΈΠ΅ ΠΈ Π½Π΅ сС ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ дисково пространство. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΡ‚Π° Π΅ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Π° Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Linux Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми, ΠΊΠΎΠ΅Ρ‚ΠΎ я ΠΏΡ€Π°Π²ΠΈ бСзопасна Π΄ΠΎΡ€ΠΈ Π² производствСни срСди.

ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ ΠΈ прСмСститС Ρ„Π°ΠΉΠ»:

mv /var/www/html/old_config.php /var/www/html/config.php

ПолСзни Ρ„Π»Π°Π³ΠΎΠ²Π΅ Π½Π° mv

ЀлагОписаниС
-iΠŸΠΈΡ‚Π° ΠΏΡ€Π΅Π΄ΠΈ прСзаписванС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Ρ„Π°ΠΉΠ»
-nНикога Π½Π΅ прСзаписва ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Ρ„Π°ΠΉΠ»
-vΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄ β€” ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΎ
-bБъздава Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° цСлСвия Ρ„Π°ΠΉΠ», Π°ΠΊΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Π½Π°:

mv -i old_filename.txt new_filename.txt

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄:

mv -v report_draft.txt report_final.txt
# Output: 'report_draft.txt' -> 'report_final.txt'

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° mv Π·Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅

Π”ΠΎΠΊΠ°Ρ‚ΠΎ mv Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° дСсСтки ΠΈΠ»ΠΈ стотици Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅Π΄ΠΈΠ½ ΠΏΠΎ Π΅Π΄ΠΈΠ½ става Π½Π΅ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ. Π—Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠΎ-ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ инструмСнти.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: Π“Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° rename

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° rename Π΅ ΠΌΠΎΡ‰Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Perl, спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π·Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ. Вя Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намалява Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° слоТни Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° шаблони.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° rename

Π’ зависимост ΠΎΡ‚ Π²Π°ΡˆΠ°Ρ‚Π° Linux дистрибуция, rename ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ инсталирана.

Debian/Ubuntu:

sudo apt install rename

CentOS/RHEL/AlmaLinux:

sudo yum install prename

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° инсталацията:

rename --version

ОсновСн синтаксис

rename 's/old_pattern/new_pattern/' files

Π’ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° синтаксиса Π½Π° Perl-ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΈ рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ (PCRE), ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ Π΄Π°Π²Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΠŸΡ€ΠΎΠΌΡΠ½Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‚Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ

ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° всички .txt Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° .md:

rename 's/.txt$/.md/' *.txt

Π Π°Π·Π±ΠΈΠ²ΠΊΠ°:

    s/ β€” ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° замСстванС
    .txt$ β€” ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° .txt Π² края Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π°
    .md β€” замСня Π³ΠΎ с .md
    *.txt β€” ΠΏΡ€ΠΈΠ»Π°Π³Π° сС към всички .txt Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория
    
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ДобавянС Π½Π° прСфикс към мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅
    ДобавянС Π½Π° прСфикса new_ към всички .txt Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅:
    rename 's/^/new_/' *.txt
    Π’ΠΎΠ²Π° ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° report.txt Π² new_report.txt, notes.txt Π² new_notes.txt ΠΈ Ρ‚.Π½.
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ДобавянС Π½Π° суфикс ΠΏΡ€Π΅Π΄ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅
    ДобавянС Π½Π° _backup ΠΏΡ€Π΅Π΄ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ .txt:
    rename 's/.txt$/_backup.txt/' *.txt
    Π’ΠΎΠ²Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° config.txt Π² config_backup.txt.
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π² ΠΌΠ°Π»ΠΊΠΈ Π±ΡƒΠΊΠ²ΠΈ
    rename 's/[A-Z]/lc($&)/ge' *.txt
    Π’ΠΎΠ²Π° Π΅ особСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Windows систСми, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ са нСчувствитСлни към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, към Linux ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ чувствитСлността към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСнията.
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5: Замяна Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ с Π΄ΠΎΠ»Π½ΠΈ Ρ‡Π΅Ρ€Ρ‚ΠΈ
    rename 's/ /_/g' *
    Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈΡ‚Π΅ Π² ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° причинят ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² shell скриптовСтС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π° β€” Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° ΠΎΡ‚ всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория.
    ΠŸΡ€ΠΎΠ±Π½ΠΎ изпълнСниС (ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π±Π΅Π· изпълнСниС)
    Π’ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ„Π»Π°Π³Π° -n, Π·Π° Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈ rename ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΡ‚Π΅:
    rename -n 's/.txt$/.md/' *.txt
    Π’ΠΎΠ²Π° ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ прСимСнувания, Π±Π΅Π· дСйствитСлно Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° β€” ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π·Π° бСзопасност Π² производствСни срСди.
    ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с find Π² комбинация с mv
    ΠšΠΎΠ³Π°Ρ‚ΠΎ трябва Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² мноТСство Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΠ»ΠΈ въз основа Π½Π° слоТни ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ β€” ΠΊΠ°Ρ‚ΠΎ Π²ΡŠΠ·Ρ€Π°ΡΡ‚ Π½Π° Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ собствСност β€” ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° find с mv осигурява Π½Π°ΠΉ-Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.
    ОсновСн синтаксис
    find /path -name "pattern" -exec bash -c 'mv "$1" "new_name"' -- {} ;
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: РСкурсивно ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° всички .log Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° .txt
    find . -name "*.log" -exec bash -c 'mv "$1" "${1%.log}.txt"' -- {} ;
    Π Π°Π·Π±ΠΈΠ²ΠΊΠ°:
    
    find . -name "*.log" β€” Π½Π°ΠΌΠΈΡ€Π° всички .log Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория, рСкурсивно
    -exec bash -c '...' -- {} ; β€” изпълнява shell ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° всСки Π½Π°ΠΌΠ΅Ρ€Π΅Π½ Ρ„Π°ΠΉΠ»
    "${1%.log}.txt" β€” ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° .log ΠΈ добавянС Π½Π° .txt

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π΅Π· послСднитС 7 Π΄Π½ΠΈ

    find /var/log -name "*.log" -mtime -7 -exec bash -c 'mv "$1" "${1%.log}_archive.log"' -- {} ;

    Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ процСси ΠΏΠΎ ротация Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π°Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»

    find /home -user john -name "*.conf" -exec bash -c 'mv "$1" "${1%.conf}.conf.bak"' -- {} ;

    Π‘ΡŠΠ²Π΅Ρ‚ Π·Π° производитСлност: Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ + вмСсто ;

    ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° голям Π±Ρ€ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° + Π² края Π½Π° -exec Π΅ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΈΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅:

    find . -name "*.tmp" -exec bash -c 'for f; do mv "$f" "${f%.tmp}.bak"; done' _ {} +

    ΠœΠ΅Ρ‚ΠΎΠ΄ 4: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Bash скрипт

    Π—Π° повтарящи сС ΠΈΠ»ΠΈ ΠΌΠ°Ρ‰Π°Π±Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ β€” ΠΊΠ°Ρ‚ΠΎ Π½ΠΎΡ‰Π½ΠΈ Π³Ρ€ΡƒΠΏΠΎΠ²ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Dedicated ΡΡŠΡ€Π²ΡŠΡ€ β€” пСрсонализираният Bash скрипт осигурява Π½Π°ΠΉ-голям ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ», повторяСмост ΠΈ прослСдимост.

    Π‘Ρ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ°: БъздаванС Π½Π° Bash скрипт Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

    Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° Π½Π° скрипта

    Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ тСкстов Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π·Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ своя скрипт:

    nano rename_script.sh

    Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ΠΠ°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ скрипта

    #!/bin/bash
    
    # Script: rename_script.sh
    # Purpose: Rename all .txt files in the current directory to .md
    # Usage: ./rename_script.sh
    
    echo "Starting file rename operation..."
    
    for file in *.txt; do
        # Check if any .txt files exist
        if [ ! -e "$file" ]; then
            echo "No .txt files found in the current directory."
            exit 1
        fi
    
        new_name="${file%.txt}.md"
        mv -v "$file" "$new_name"
        echo "Renamed: $file -> $new_name"
    done
    
    echo "Rename operation complete."

    Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: НаправСтС скрипта изпълним

    chmod +x rename_script.sh

    Π‘Ρ‚ΡŠΠΏΠΊΠ° 4: Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ скрипта

    ./rename_script.sh

    Π‘Ρ‚ΡŠΠΏΠΊΠ° 5: ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅

    ls -la

    Π Π°Π·ΡˆΠΈΡ€Π΅Π½ Bash скрипт: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ с Π»ΠΎΠ³Π²Π°Π½Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ

    Π—Π° производствСни ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ срСди Π²ΠΈΠ½Π°Π³ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΉΡ‚Π΅ Π»ΠΎΠ³Π²Π°Π½Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ:

    #!/bin/bash
    
    LOG_FILE="/var/log/rename_operations.log"
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    TARGET_DIR="${1:-.}"
    OLD_EXT="${2:-txt}"
    NEW_EXT="${3:-md}"
    
    echo "[$TIMESTAMP] Starting rename: .$OLD_EXT -> .$NEW_EXT in $TARGET_DIR" >> "$LOG_FILE"
    
    count=0
    errors=0
    
    for file in "$TARGET_DIR"/*."$OLD_EXT"; do
        if [ -f "$file" ]; then
            new_name="${file%.$OLD_EXT}.$NEW_EXT"
            if mv -v "$file" "$new_name" >> "$LOG_FILE" 2>&1; then
                ((count++))
            else
                echo "[$TIMESTAMP] ERROR: Failed to rename $file" >> "$LOG_FILE"
                ((errors++))
            fi
        fi
    done
    
    echo "[$TIMESTAMP] Done. Renamed: $count files. Errors: $errors" >> "$LOG_FILE"
    echo "Renamed $count files with $errors errors. See $LOG_FILE for details."

    Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π°:

    ./rename_script.sh /var/www/html txt md

    Π’ΠΎΠ·ΠΈ скрипт ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° дирСктория, старото Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈ Π½ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ β€” ΠΊΠΎΠ΅Ρ‚ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ напълно ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ срСди.

    ΠœΠ΅Ρ‚ΠΎΠ΄ 5: ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ (GUI)

    Π—Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»Π΅Π½ интСрфСйс β€” особСно Π½Π° настолни Linux дистрибуции β€” ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π²Π³Ρ€Π°Π΄Π΅Π½Π° функционалност Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅.

    ΠžΠ±Ρ‰ΠΈ Linux Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ

    Π€Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΠ°ΡΡ‚ΠΎΠ»Π½Π° ΡΡ€Π΅Π΄Π°ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅
    NautilusGNOMEΠ§Ρ€Π΅Π· дСсСн Π±ΡƒΡ‚ΠΎΠ½ ΠΈΠ»ΠΈ плъгини
    DolphinKDE PlasmaΠ’Π³Ρ€Π°Π΄Π΅Π½ инструмСнт Π·Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅
    ThunarXFCEΠ’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅
    NemoCinnamonΠ§Ρ€Π΅Π· дСсСн Π±ΡƒΡ‚ΠΎΠ½

    Как Π΄Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ» Π² GUI Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€

    1. ΠžΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ вашия Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ (Nautilus, Dolphin, Thunar ΠΈ Π΄Ρ€.)
    2. НавигирайтС Π΄ΠΎ дирСкторията, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° Ρ„Π°ΠΉΠ»Π°
    3. Π©Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ с дСсния Π±ΡƒΡ‚ΠΎΠ½ Π²ΡŠΡ€Ρ…Ρƒ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅
    4. Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° Ρ„Π°ΠΉΠ»Π°
    5. НатиснСтС Enter Π·Π° ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅

    Π“Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π² Thunar

    Thunar Π²ΠΊΠ»ΡŽΡ‡Π²Π° особСно ΠΌΠΎΡ‰Π΅Π½ инструмСнт Π·Π° Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅:

    1. Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅
    2. ΠžΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ β†’ ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅
    3. Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ шаблон Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ (вмъкванС Π½Π° Π΄Π°Ρ‚Π°, числова послСдоватСлност, Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ замяна ΠΈ Π΄Ρ€.)
    4. ΠŸΡ€Π΅Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈ Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅

    Π’ΠΎΠ²Π° Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ Π·Π° Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈ, ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ Linux Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ станции.

    Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° всички ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

    ΠœΠ΅Ρ‚ΠΎΠ΄ΠΠ°ΠΉ-подходящ Π·Π°Π“Ρ€ΡƒΠΏΠΎΠ²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° RegexИзисква инсталация
    mvΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ файлНСНСНС (Π²Π³Ρ€Π°Π΄Π΅Π½)
    renameΠ“Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ”Π°Π”Π° (Perl)Понякога
    find + mvΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° критСрииДаЧастичноНС (Π²Π³Ρ€Π°Π΄Π΅Π½)
    Bash скриптАвтоматизирани, повтарящи сС задачиДаДаНС
    GUI Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π’ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎΠΠ΅Π—Π°Π²ΠΈΡΠΈ ΠΎΡ‚ DE

    Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° бСзопасно ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux ΡΡŠΡ€Π²ΡŠΡ€ΠΈ

    НСзависимо Π΄Π°Π»ΠΈ управляватС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° VPS с cPanel ΠΈΠ»ΠΈ Π½Π° bare-metal dedicated ΡΡŠΡ€Π²ΡŠΡ€, слСдвайтС Ρ‚Π΅Π·ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ ΡΠΊΡŠΠΏΠΎΡΡ‚Ρ€ΡƒΠ²Π°Ρ‰ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ:

    1. Π’ΠΈΠ½Π°Π³ΠΈ ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈ изпълнСниС β€” Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ rename -n ΠΈΠ»ΠΈ echo mv Π·Π° ΠΏΡ€ΠΎΠ±Π½ΠΎ изпълнСниС Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
    2. ΠŸΡ€Π°Π²Π΅Ρ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия Π½Π° Π²Π°ΠΆΠ½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ β€” ΠŸΡ€Π΅Π΄ΠΈ Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅, ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅: cp -r /target/dir /backup/dir
    3. ВСствайтС ΠΏΡŠΡ€Π²ΠΎ Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠ°Π»ΠΊΠ° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠ° β€” ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ към Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠ° Π³Ρ€ΡƒΠΏΠ°, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° я ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ хиляди Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅
    4. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС β€” Ако ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄, Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ си ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π² Git ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅
    5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΉΡ‚Π΅ Π·Π° зависими процСси β€” ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡƒΠ΅Π± Π°ΠΊΡ‚ΠΈΠ²ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Ρ€ΡƒΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ прилоТСния; Π²ΠΈΠ½Π°Π³ΠΈ провСрявайтС зависимоститС ΠΏΡŠΡ€Π²ΠΎ
    6. Π˜Π·Π±ΡΠ³Π²Π°ΠΉΡ‚Π΅ спСциални символи β€” ИмСна Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ, &, *, ? ΠΈΠ»ΠΈ ! ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° причинят Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² shell ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅; санирайтС ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ възмоТно
    7. Π›ΠΎΠ³Π²Π°ΠΉΡ‚Π΅ всички ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” На производствСни ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π»ΠΎΠ³Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π·Π° Ρ†Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΎΠ΄ΠΈΡ‚Π° ΠΈ Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄

    ЧСсти случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π² ΡƒΠ΅Π± хостинга ΠΈ администриранСто Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ

    ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ Π΅ само Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° β€” Ρ‚ΠΎ ΠΈΠΌΠ° ΠΏΡ€Π΅ΠΊΠΈ послСдици Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ ΡƒΠ΅Π± хостинг. Π•Ρ‚ΠΎ Ρ€Π΅Π°Π»Π½ΠΈ сцСнарии, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅ ΠΎΡ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

    • ΠœΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° уСбсайт β€” ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° PHP Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Π°ΠΊΡ‚ΠΈΠ²ΠΈ ΠΏΡ€ΠΈ прСмСстванС ΠΌΠ΅ΠΆΠ΄Ρƒ хостинг доставчици
    • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° SSL сСртификати β€” ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ със сСртификати, Π·Π° Π΄Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‚ Π½Π° ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈ Π·Π° ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ ΠΏΡ€ΠΈ внСдряванС Π½Π° SSL Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΈ Π½Π° вашия ΡΡŠΡ€Π²ΡŠΡ€
    • ВнСдряванС Π½Π° ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ β€” ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° шаблонни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡ€ΠΈ настройванС Π½Π° услуги Π·Π° ИмСйл Π₯остинг
    • Ротация Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ β€” Автоматично ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Bash скриптовС ΠΈ cron Π·Π°Π΄Π°Ρ‡ΠΈ
    • ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ β€” ΠŸΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½ΠΈ ΠΊΠΎΡ€Π΅Π½ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ хостовС ΠΏΡ€ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° РСгистрация Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈ DNS ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    Linux прСдоставя Π±ΠΎΠ³Π°Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, всСки подходящ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сцСнарии ΠΈ Π½ΠΈΠ²Π° Π½Π° умСния:

    • mv Π΅ Π²Π°ΡˆΠΈΡΡ‚ основСн ΠΈΠ·Π±ΠΎΡ€ Π·Π° Π±ΡŠΡ€Π·ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ Ρ„Π°ΠΉΠ» Π±Π΅Π· Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ зависимости
    • rename сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° ΠΏΡ€ΠΈ Π³Ρ€ΡƒΠΏΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° шаблони, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠΎΡ‰Π½ΠΈ Perl рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ
    • find + mv ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π½Π°ΠΉ-голяма Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ Π·Π° ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π² мноТСство Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ
    • Bash скриптовСтС осигуряват автоматизация, повторяСмост ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π·Π° производствСни срСди
    • GUI Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½, Π²ΠΈΠ·ΡƒΠ°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° настолни ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ

    ΠžΠ²Π»Π°Π΄ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Ρ‰Π΅ Π²ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Linux администратор, нСзависимо Π΄Π°Π»ΠΈ управляватС Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅ инфраструктура ΠΎΡ‚ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ. ΠšΠ»ΡŽΡ‡ΡŠΡ‚ Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ правилния инструмСнт Π·Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° β€” ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° тСстватС ΠΏΡ€Π΅Π΄ΠΈ изпълнСниС Π² Ρ€Π΅Π°Π»Π½Π° срСда.

    *Π’ΡŠΡ€ΡΠΈΡ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° Linux хостинг срСда Π·Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈ внСдряванС Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ? Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° VPS Π₯остинг Π½Π° AlexHost Π·Π° пълСн root Π΄ΠΎΡΡ‚ΡŠΠΏ, SSD ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π½ΠΎΠ½ΠΎΡ‰Π½Π° тСхничСска ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° β€” всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡƒΠ²Π΅Ρ€Π΅Π½ΠΎ изпълнСниС Π½Π° Linux натоварвания.*