استخراج فایلهای tar.xz در لینوکس چگونه انجام میگیرد؟ فرمان مناسب برای استفاده از فایل linux-5.6.13.tar.xz چیست؟ چطور میتوان تمام فایلهای یک دایرکتوری را از حالت فشرده خارج کرد؟ اینها سؤالاتی هستند که میخواهیم در این مطلب به آنها پاسخ دهیم. فرمانهای tar و xz برای استخراج و فشردهسازی...
1399/04/055506 بازدید
استخراج فایلهای tar.xz در لینوکس چگونه انجام میگیرد؟ فرمان مناسب برای استفاده از فایل linux-5.6.13.tar.xz چیست؟ چطور میتوان تمام فایلهای یک دایرکتوری را از حالت فشرده خارج کرد؟ اینها سؤالاتی هستند که میخواهیم در این مطلب به آنها پاسخ دهیم.
فرمانهای tar و xz برای استخراج و فشردهسازی فایلهای tar.xz و آرشیوهای .txz در سیستمعامل لینوکس به کار میروند.
نحوه استخراج فایلهای tar.xz در لینوکس
قالب کار به صورت زیر است:
۱) نصب xz با استفاده از فرمان dnf install xz در یک توزیع لینوکس CentOS، RHEL یا فدورا
۲) کاربران لینوکس دبیان یا اوبونتو میتواندد از فرمان apt install xz-utils استفاده کنند.
۳) استخراج فایلهای tar.xz با استفاده از فرمان tar -xf backup.tar.xz
۴) به عنوان مثال برای خارجکردن فایل filename.tar.xz از حالت فشرده، میتوانید از فرمان زیر استفاده کنید.
php
1xz -d -v filename.tar.xz
روند نصب
XZ یک مجموعه نرمافزاری متنباز برای فشردهکنندههای بهینه داده و از جمله فرمتهای LZMA و xz است. این فرمتها در میان توسعهدهندگان متنباز بسیار محبوب هستند. این موضوع به این دلیل است که نرخ فشردگی در آنها بالاتر از گزینههایی مانند gzip و bzip2 است. فرمان tar در صورتی کار میکند که xz در سیستم نصب شده باشد. بنابراین، باید حتماً آن را نصب کنیم.
نصب xz در لینوکس دبیان / اوبونتو
برای این منظور میتوانید از فرمان apt یا apt-get استفاده کنید.
php
1$ sudo apt install xz-utils
نمونه خروجی
php
1Reading package lists... Done23Building dependency tree45Reading state information... Done670 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 5 not upgraded.89Need to get 82.5 kB of archives.1011After this operation, 0 B of additional disk space will be used.1213Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 xz-utils amd64 5.2.4-1 [82.5 kB]1415Fetched 82.5 kB in 1s (60.3 kB/s)1617(Reading database ... 284817 files and directories currently installed.)1819Preparing to unpack .../xz-utils_5.2.4-1_amd64.deb ...2021Unpacking xz-utils (5.2.4-1) over (5.2.4-1) ...2223Setting up xz-utils (5.2.4-1) ...2425Processing triggers for man-db (2.9.1-1) ...
نصب xz در لینوکس CentOS/RHEL/Fedora
برای این منظور برنامه ترمینال را باز کرده و سپس فرمان NA یا dnf را به صورت زیر اجرا کنید.
php
1$ sudo dnf install xz23## On an older version of CentOS/RHEL try yum ##45$ sudo yum install xz
نمونه خروجی در سیستم CentOS نسخه ۶
php
1Loaded plugins: fastestmirror23Setting up Install Process45Loading mirror speeds from cached hostfile67* base: centos.excellmedia.net89* extras: centos.excellmedia.net1011* updates: centos.excellmedia.net1213Resolving Dependencies1415--> Running transaction check1617---> Package xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be installed1819--> Finished Dependency Resolution2021Dependencies Resolved2223=================================================================================2425Package Arch Version Repository Size2627=================================================================================2829Installing:3031xz x86_64 4.999.9-0.5.beta.20091007git.el6 base 137 k3233Transaction Summary3435=================================================================================3637Install 1 Package(s)3839Total download size: 137 k4041Installed size: 477 k4243Is this ok [y/N]: y4445Downloading Packages:4647xz-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm | 137 kB 00:004849Running rpm_check_debug5051Running Transaction Test5253Transaction Test Succeeded5455Running Transaction5657Installing : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 1/15859Verifying : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 1/16061Installed:6263xz.x86_64 0:4.999.9-0.5.beta.20091007git.el66465Complete!
نصب xz در لینوکس OpenSUSE/SUSE اینترپرایز
برای این منظور میتوانیم از فرمان zipper استفاده کنیم.
php
1$ sudo zypper install xz
نصب بسته xz در OpenSUSE برای استخراج فایلهای tar.xz
نمونهها
اکنون که xz را نصب کردهایم، میتوانیم به صورت مستقیم از فرمان tar به صورت زیر برای استخراج فایلی به نام linux-5.6.13.tar.xz استفاده کنیم.
php
1$ tar -xf linux-5.6.13.tar.xz23$ tar -xvf linux-5.6.13.tar.xz45$ tar -Jxvf linux-5.6.13.tar.xz67## extract tar.xz files aka .txz file ##89$ tar --xz -xf archive.txz
استخراج فایلهای tar.xz در لینوکس با استفاده از فرمان tar
استخراج یک فایل خاص از آرشیو tar.xz
میتوانیم با فرمت زیر، یک فایل خاص را از آرشیو backup.tar.xz خارج کنیم.
php
1$ tar -xf backup.tar.xz resume.pdf23$ tar -xf backup.tar.xz babys-3rd-cake-day.jpg sales.txt
امّا گاهی نام فایل را به صورت کامل ندانیم. بنابراین، ابتدا باید با گزینه –t لیستی از محتویات آرشیو تهیه کنیم.
php
1$ tar -tvf backup.tar.xz23## filter out tar listing option using the grep command/egrep command ##45$ tar -tvf backup.tar.xz | grep file167$ tar -tvf backup.tar.xz | egrep 'file.txt|data.doc|cake.jpg'
اگر میخواهید تمام فایلهای سورسکد Perl یا Python را استخراج کنید، فرمانهای زیر به کار شما میآیند.
php
1$ tar --wildcards '*.py' -xvf webroot.tar.xz23$ tar --wildcards '*.pl' -xvf centos-7-sysadmin-scripts.txz
مفهوم گزینههای فرمان tar
-x : استخراج یا دریافت فایل از یک آرشیو
-f archive.tar.xz : استفاده از این آرشیو یا دستگاه برای استخراج فایل
-J OR --xz : فیلتر کردن آرشیو در فرمان ایکسزد. بر این اساس، ما ایکسزد را از طریق برنامه مدیریت بستهها نصب میکنیم.
-v : حالت گسترده و نمایش فرآیند.
-t : لیستکردن فایل درون آرشیو ذخیره شده
--wildcards : در حالت عادی «وایلدکارت»ها کارآیی اصلی خود را نخواهند داشت. بنابراین، برای استخراج فایلها میتوانید این گزینه را به کار ببرید.
به عنوان مثال برای استخراج تمام تصاویر با پسوند .webp میتوان از گزینه --wildcards '*.webp' در فرمان tar استفاده کرد.
نحوه استخراج فایلهای tar.xz با استفاده از فرمان xz
تا به اینجا در مورد استخراج فایلهای tar.xz با استفاده از فرمان tar صحبت کردیم. ولی باید توجه داشت که میتوان مستقیماً از فرمان xz نیز برای فشردهسازی و استخراج فایلها نیز استفاده کرد. فرمان tar با فراخوانی داخلی xz یا با یک API ارائه شده توسط libs کارها را انجام میدهد. اکنون بیایید چند نکته و ترفند در مورد فرمان xz مرور کنیم.
استخراج فایل با mysql.sql.xz و جایگزین شده با mysql.sql
php
1$ xz -v -d mysql.sql.xz
فشردهسازی tarball به عنوان فایل tar.xz
فشردهکردن یک فایل با نام mysql.sql و جایگزین آن با mysql.sql.x به منظور صرفهجویی در فضای دیسک.
php
1$ xz mysql.sql
قالب کار برای یک tarball به صورت زیر خواهد بود.
php
1$ xz -v -z filename.tar
به همین ترتیب میتوانید از فرمان tar برای مقاصد گوناگون استفاده کنید.
php
1$ tar -cvJf {your-filename-here.tar.xz} file1 file223$ tar -cvJf {your-filename-here.tar.xz} /path/to/dir1 ./dir245$ sudo tar -cvJf /efs/backups/14-05-2020/production-webroot.tar.xz /var/www/67$ sudo tar --xz -cvf /efs/backups/aws-us-west-www-prod-42-etc.txz /etc/
استفاده از فرمان tar برای استخراج فایلهای tar.xz
جمعبندی
در این آموزش کوتاه، نحوه استخراج فایلهای tar.xz و .txz که فرمتهای محبوبی در سیستمعامل لینوکس هستند را مرور کردیم. به خاطر داشته باشید که فرمان tar در صورتی کار میکند که xz در سیستم با پکیج منیجر نصب شده باشد. برای کسب اطلاعات بیشتر در مورد پروژه xz میتوانید به صفحه رسمی این پروژه نیز مراجعه کنید.
منبع: Cybercity.biz