خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


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

آموزش استفاده از دستور tee در لینوکس
دستور tee در لینوکس، از ورودی می خواند و همزمان در خروجی و یک یا چندین فایل می تواند عمل write را انجام دهد. tee عمدتا در ترکیب با دستورات دیگر از طریق pipe مورد استفاده قرار می گیرد. حالا جلوتر مثال هایی را خواهید دید که درک این مفهوم را برای شما ساده تر خواهد کرد.

نرم افزار سامانه مودیان راهکار
در این مقاله، اصول استفاده از دستور tee را پوشش خواهیم داد.


Syntax کلی استفاده از دستور tee بصورت زیر می باشد:

tee [OPTIONS] [FILE]

در دستور فوق، به جای File می توانید یک یا چند فایل را معرفی کنید که داده های خروجی روی هر کدام نوشته می شود. اما برای OPTIONS گزینه هایی را می توانید استفاده کنید. هر کدام از این گزینه ها می توانند رفتار tee را کنترل کنند. مثلا a- باعث می شود که overwrite روی فایل ها صورت نگیرد بلکه روی فایل های دیگر داده نوشته و ثبت شوند. i- باعث می شود که سیگنال های وقفه نادیده گرفته شوند. از tee --help برای مشاهده همه گزینه های موجود استفاده کنید.

How to Use the tee Command

ابتدایی ترین و پایه ترین کاربرد دستور tee نمایش خروجی یک برنامه و نوشتن آن در یک فایل است.
در مثال زیر از دستور df برای بدست آوردن اطلاعاتی در مورد میزان فضای موجود روی دیسک فایل سیستم استفاده می کنیم. خروجی به دستور tee منتقل می شود، که خروجی را در ترمینال نمایش می دهد و همان اطلاعات را در فایل disk_usage.txt می نویسد.

df -h | tee disk_usage.txt

خروجی شما ممکن است با خروجی زیر تفاوت داشته باشد:

Filesystem      Size  Used Avail Use% Mounted on
dev 7.8G 0 7.8G 0% /dev
run 7.9G 1.8M 7.9G 1% /run
/dev/nvme0n1p3 212G 159G 43G 79% /
tmpfs 7.9G 357M 7.5G 5% /dev/shm
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 7.9G 15M 7.9G 1% /tmp
/dev/nvme0n1p1 511M 107M 405M 21% /boot
/dev/sda1 459G 165G 271G 38% /data
tmpfs 1.6G 16K 1.6G 1% /run/user/120

برای مشاهده فایل disk_usage.txt می توانید از دستور cat استفاده کنید.
دستور tee همچنین می تواند در چندین فایل بنویسد. برای انجام این کار، لیستی از فایل ها را که با space فاصله از هم جدا شده و به عنوان آرگومان داده شده اند را مشخص کنید:

command | tee file1.out file2.out file3.out

برای نادیده گرفتن وقفه ها از i- استفاده کنید.

command | tee -i file.out

اگر نمی خواهید tee روی خروجی چیزی نمایش دهد، می توانید آن را به /dev/null ریدایرکت کنید:

command | tee file.out >/dev/null

فرض کنید می خواهید در فایلی بنویسید که متعلق به root بوده و شما با امتیاز sudo هم نمی توانید روی آن فایل چیزی بنویسید.

sudo echo "newline" > /etc/file.conf

با اجرای دستور فوق ارور زیر را دریافت می کنید:

bash: /etc/file.conf: Permission denied

کافیست شما در دستور زیر قبل از دستور tee، sudo را اضافه کنید تا مشکل حل شود:

echo "newline" | sudo tee -a /etc/file.conf

tee خروجی فرمان echo را دریافت می کند، سپس به امتیازات sudo را بدست می آورد و حالا می تواند در فایل بنویسد. استفاده از TEE در ارتباط با sudo به شما امکان می دهد تا در فایل های متعلق به سایر کاربران بنویسید.

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز