همانطور که می دانید Trash معادل Recycle Bin در سیستم عامل لینوکس است و با کلیک راست روی هر فایل/دایرکتوری و انتخاب Move to Trash آن فایل/دایرکتوری به درون Trash انتقال می یابد.هر کاربر Trash خاص خود را دارد که در زیر دایرکتوری خانگی آن قرار دارد. توسط دستور rm برای پاک کردن یک فایل یا دستور rmdir برای پاک کردن یک دایرکتوری، فایل/دایرکتوری به درون Trash منقل نمی شوند. برای پاک کردن یک فایل یا دایرکتوری و ریخته شدن آن در Trash از مجموعه دستور های بسته trash-cli استفاده می کنیم. همچنین این پست را برای آشنایی با محل Trash در زیر دایرکتوری خانگی هر کاربر و محتوای آن مطالعه کنید.
نصب trash-cli در توزیع های گوناگون
apt-get install trash-cli # install on Linux Mint, Ubuntu, Debian
yum install trash-cli # install on Redhat,Fedora,CentOS
پس از نصب چهار دستور زیر در سیستم نصب می شوند:
- trash : برای پاک کردن فایل(ها) و دایرکتوری(ها) و ریختن آنها درون Trash
- trash-list : برای فهرست کردن محتوای Trash
- trash-empty : برای پاک کردن فایل ها و دایرکتوری ها از درون Trash
- restore-trash : برای بازگرداندن یک فایل از درون Trash به محل قبلی
راهنمای دستور trash توسط یکی از دستور های زیر قابل مطالعه است.
man trash
trash –help
فرمت کلی دستور trash به صورت زیر است.
… trash [OPTION]… FILE
با توجه به این پست محل ذخیره فایل ها/دایرکتوری های پاک شده درون Trash در یکی از مسیر زیر برای هر کاربر در دایرکتوری خانگی اش است.
cd ~/.local/share/Trash/files
cd ~/.Trash/files
پاک کردن فایل/ دایرکتوری ها
با دستور های زیر به ترتیب فایل file1.sh و فایل های file2.sh و file3.sh پاک می شوند.
trash file1.sh
trash file2.sh file3.sh
با دستور های زیر تمامی فایل های با پسوند sh. درون دایرکتوری جاری پاک می شوند.
trash *.sh
می توانید تمامی محتوای درون یک دایرکتوری را با دستور زیر پاک کنید.
* trash
همچنین برای پاک کردن دایرکتوری و محتوای درون آن از دستور زیر استفاده کنید.
mkdir -p dir1/dir2
cd dir1
touch file.txt
.. cd
tarsh dir1
ls -ld dir1
با دستور های بالا ابتدا دایرکتوری dir1 و درون آن دایرکتوری dir2 را ایجاد کردیم و سپس درون دایرکتوری dir1 یک فایل ایجاد کردیم. با دستور trash کل محتوای آنرا پاک کردیم.
*/trash dir1
دستور ls -ld dir1 نشان می دهد که خود دایرکتوری dir1 پاک نشده است. برای پاک کردن خود دایرکتوری dir1 دستور زیر را استفاده کنید.
trash dir1
همانطور که در شکل زیر نیز می بینید پس از اجرای دستور بالا، دیگر دایرکتوری dir1 وجود ندارد.
برای فهرست کردن محتوای Trash از دستور زیر استفاده کنید.
trash-list
برای بازگرداندن یک فایلدایرکتوری از درون Trash به محل قبلی آن فایل/دایرکتوری از دستور زیر استفاده کنید.
restore-trash
همانطور که در شکل زیر می بینید 7 فایل در Trash داریم که اولین فایل با عدد صفر و آخرین فایل با عدد 6 نشانه گذاری شده اند. پس برای بازگرداندن فایل سوم باید عدد 2 را جلوی اعلان ورودی [6..0] وارد کنید.
برای حذف فایل ها/دایرکتوری های درون Trash دستور زیر را اجرا کنید.
trash-empty