🐧 Ѐункция Bash для извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для извлСчСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ слоТно Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всС ΠΎΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инструмСнта архивирования.

БСгодня я наткнулся Π½Π° ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Bash для извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Linux.

Π­Ρ‚Π° функция Bash ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ .tar.bz2, .tar.bz, .bz2, .rar, .zip ΠΈ .7z.

Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ фактичСскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для архивирования, распаковки Π°Ρ€Ρ…ΠΈΠ²Π°!

ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² свой Ρ„Π°ΠΉΠ» ~/bashrc ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π΅ для извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π°Ρ€Ρ…ΠΈΠ²Π°.

Он автоматичСски Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ инструмСнт архивирования для извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ².

НС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ.

Ѐункция Bash для извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш Ρ„Π°ΠΉΠ» ~/.bashrc:

$ nano ~/.bashrc

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚:

# Bash Function To Extract File Archives Of Various Types

extract () {

     if [ -f $1 ] ; then

         case $1 in

             *.tar.bz2)   tar xjf $1     ;;

             *.tar.gz)    tar xzf $1     ;;

             *.bz2)       bunzip2 $1     ;;

             *.rar)       rar x $1       ;;

             *.gz)        gunzip $1      ;;

             *.tar)       tar xf $1      ;;

             *.tbz2)      tar xjf $1     ;;

             *.tgz)       tar xzf $1     ;;

             *.zip)       unzip $1       ;;

             *.Z)         uncompress $1  ;;

             *.7z)        7z x $1    ;;

             *)           echo "'$1' cannot be extracted via extract()" ;;

         esac

     else

         echo "'$1' is not a valid file"

     fi

}

НаТмитС Ctrl + o ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ENTER, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl + x, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния вступили Π² силу:

$ source ~/.bashrc

Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для извлСчСния Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

НапримСр, я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π° .7z с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ extract archive.7z 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°:

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=en_IN,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (206A7),ASM)



Scanning the drive for archives:

1 file, 16013693 bytes (16 MiB)



Extracting archive: archive.7z

--

Path = archive.7z

Type = 7z

Physical Size = 16013693

Headers Size = 1204

Method = LZMA:23

Solid = +

Blocks = 1



Everything is Ok                                                               



Folders: 21

Files: 37

Size:       16625007

Compressed: 16013693

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚ΠΈΠΏΠ° .zip, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ:

$ extract archive.zip 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ².

Если Π² вашСй систСмС Π½Π΅ установлСны ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ инструмСнты архивирования, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅:

$ extract archive.zip 

bash: /usr/bin/unzip: No such file or directory

Π­Ρ‚ΠΎΡ‚ скрит упоминаСтся Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… мСстах Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Автор – Π˜Π³ΠΎΡ€ΡŒ Павлов.

Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Bash?

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π΄Π΅Π» ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΌΠ½Π΅ ΠΈ всСм читатСлям.

Бпонсор ΡΡ‚Π°Ρ‚ΡŒΠΈ – ΠΎΠ±Π·ΠΎΡ€ Logitech MX Keys



2020-11-02T19:33:48
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!