دستور dtrx در لینوکس – ابزار فشرده سازی هوشمند (tar، zip، cpio، rpm، deb، rar)

همه ما ممکن است در زمان استفاده از پسوندهای لینوکس tar.gz، tar.bz2، tbz با مشکلاتی مواجه شده باشیم. انواع مختلف فشرده سازی و دستورات زیادی برای به خاطر سپردن وجود دارد، در این مطلب به معرفی ابزار dtrx در لینوکس خواهیم پرداخت.


Dtrx چیست؟

Dtrx مخفف Do The Right Extraction است، یک برنامه خط فرمان متن‌باز و بسیار موثر برای سیستم‌های یونیکس است که کار اکستراکت فایل‌های آرشیو و فشرده را ساده‌تر می‌کند.
دستور dtrx جایگزین دستورات tar -zxvf یا tar -xjf است و یک دستور واحد را برای اکستراکت آرشیوها در فرمت‌های مختلف از جمله tar، zip، rpm، deb، gem، 7z، cpio، rar و... ارائه می‌کند. همچنین می‌تواند برای اکستراکت فایل‌های فشرده شده با bzip2، gzip و غیره هم استفاده شود.
به طور پیش‌فرض، dtrx محتویات را در یک دایرکتوری اختصاصی اکستراکت می‌کند و همچنین مشکلات مربوط به پرمیشن (مانند  permission denied) را که کاربر هنگام اکستراکت محتوا با آن مواجه می‌شود، برطرف می‌نماید تا اطمینان حاصل شود که مالک می‌تواند همه آن فایل‌ها را بخواند و بنویسد.

ویژگی‌های Dtrx

  • دسته‌بندی انواع بایگانی چندگانه: فرمت‌های بسیاری را با یک فرمان اکستراکت می‌کند، از جمله tar، zip، rar، gz، bz2، xz، rpm، deb، و فایل‌های فشرده self-extracting.
  • همه چیز را مرتب نگه می‌دارد: آرشیوها را در دایرکتوری‌های اختصاصی خود اکستراکت می‌کند.
  • تنظیم مجوزها: اطمینان می‌دهد که کاربران می‌توانند پس از اکستراکت همه فایل‌ها را بخوانند و بنویسند و مجوزهای صحیح را حفظ کنند.
  • اکستراکت بازگشتی: می‌تواند فایل‌های آرشیو را در فایل‌های فشرده پیدا و اکستراکت کند.
سرور مجازی یک ماشین مجازی کامل است که می‌توانید سیستم عامل مورد نظر خود را انتخاب و روی آن نصب نمائید.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.


آموزش نصب Dtrx در لینوکس

ابزار dtrx به طور پیش‌فرض در مخازن توزیع‌های مبتنی بر اوبونتو گنجانده شده است، تنها کاری که باید انجام دهید این است که به سادگی آن را روی سیستم خود نصب کنید.

sudo apt install dtrx

در توزیع‌های مبتنی بر RHEL و برخی دیگر از توزیع‌های لینوکس، dtrx ممکن است در مخازن پیش‌فرض گنجانده نشود. می‌توانید آخرین نسخه اسکریپت را مستقیم از خط فرمان دانلود کنید.

wget https://github.com/dtrx-py/dtrx/releases/download/8.5.3/dtrx-8.5.3.tar.gz
tar -xvf dtrx-8.5.3.tar.gz
cd dtrx-8.5.3
sudo python3 setup.py install --prefix=/usr/local


آموزش استفاده از دستور dtrx در لینوکس

دستور dtrx اکستراکت را ساده می‌کند، شما فقط کافیست به جای چند سینتکس برای آرشیوهای مختلف، یک دستور را به خاطر بسپارید.

  1. اکستراکت یک فایل فشرده

برای اکستراکت یک فایل، به سادگی دستور dtrx و سپس نام آرشیو را اجرا کنید:

dtrx parsdev.zip

علاوه بر ساده‌سازی اکستراکت، گزینه‌های مختلفی مانند اکستراکت فایل در یک پوشه و اکستراکت بازگشتی همه بایگانی‌های دیگر در یک آرشیو داده شده دارد.

آموزش دستور dtrx  در لینوکس

  1. اکستراکت فایل‌های متعدد

در نظر بگیرید که فایلی به نام parsdev.zip دارید که شامل psd1.zip، psd2.zip، psd3.zip، psd4.zip و پوشه blog است که هر کدام  حاوی فایل هستند.

به جای اینکه فایل‌های فشرده parsdev را به صورت دستی اکستراکت نموده و سپس هر یک از فایل‌های داخلی را هم اکستراکت کنید، می‌توانید با استفاده از dtrx و انتخاب گزینه a که تمام فایل‌های فشرده را به صورت بازگشتی اکستراکت می‌کند، آنها را مستقیم در پوشه‌های مربوطه اکستراکت کنید.

dtrx parsdev.zip

پس از اکستراکت، محتویات دایرکتوری اکستراکت شده را می‌توان با استفاده از دستور ls تایید کرد.

cd parsdev
ls 

خروجی:

نمونه خروجی دستور dtrx
  1. اکستراکت یک فایل خاص

اگر می‌خواهید فقط بایگانی اصلی را اکستراکت کنید و نه بایگانی‌های تودرتو، گزینه مناسب را انتخاب نمائید (به عنوان مثال، N):

dtrx dtrNewAll.zip

  1. هر لایه از فایل را اکستراکت کنید

برای اکستراکت هر لایه از آرشیو به صورت موردی، مثلا اگر می‌خواهید لایه دوم آرشیو را اکستراکت کنید اما لایه سوم را نه می‌توانید از گزینه o استفاده کنید.
در نظر بگیرید که یک فایل فشرده dtrNewAll.zip دارید که حاوی dtrAll.zip و dtrNew است. اگر می‌خواهید محتویات dtrNewAll و dtrAll را نیز اکستراکت کنید، اما نه از dtr1.zip، dtr2.zip، و dtr3.zip، می‌توانید از گزینه‌های o و n مانند شکل زیر استفاده کنید.

dtrx dtrNewAll.zip

ابتدا گزینه o را انتخاب می‌کنیم، یعنی تمام آرشیوهای داخل dtrNewAll اکستراکت می‌شوند. بعدا برای dtrAll.zip گزینه n را انتخاب می‌کنیم، یعنی آرشیوهای داخل آن (dtr1.zip، dtr2.zip و dtr3.zip) اکستراکت نمی‌شوند.

  1. اکستراکت  Meta-dataاز فایل‌های .deb، .rpm و .gem

برای اکستراکت Meta-data به جای محتویات از فرمت‌‌های بسته خاص، از گزینه m- استفاده کنید:

dtrx -m openfire_4.9.0_all.deb 
dtrx -m openfire-4.9.0-1.noarch.rpm
dtrx -m openfire-4.9.0.gem

  1. فایل‌ها را به یک دایرکتوری اختصاصی اکستراکت کنید

اگر می خواهید فایل‌ها را در یک پوشه اختصاصی اکستراکت کنید، می‌توانید این کار را با گزینه -d مانند شکل زیر انجام دهید:

dtrx -d /home/parsdev parsdev-2024.gz

  1. لیست انواع فایل فشرده پشتیبانی شده

اگر می‌خواهید لیست انواع فایل‌های پشتیبانی شده را ببینید، می توانید این کار را با استفاده از دستور dtrx --help انجام دهید.


dtrx --help

امیدوارم دستور dtrx را امتحان کنید، زیرا این تنها ابزار قدرتمند خط فرمان است که یک دستور را برای اکستراکت کردن هر فرمتی از فایل‌های فشرده استفاده می‌کند.