بانک سوالات پروژه‌ی ask-interview

همه پرسش‌ها (592) Grafana (28) Jaeger (25) LXD (28) OpenTelemetry (24) Prometheus (24) ansible (27) apache (28) bash (18) ccna (27) centos (24) ceph (25) devops (29) docker (30) freebsd (27) git (28) kubernetes (24) linux (31) lpic1 (30) lpic2 (27) nginx (16) ubuntu (45) windows-server (27)

🗂 پرسش‌ها در دسته: bash

❓ چطوری می‌تونم یک اسکریپت Bash بنویسم که تمام فایل‌های یک دایرکتوری مشخص رو فیلتر کنه و فقط فایل‌های با پسوند .txt رو نمایش بده؟

برای این کار می‌تونی از دستور `find` استفاده کنی. مثلاً، می‌تونی این دستور رو اجرا کنی: `find /path/to/directory -type f -name '*.txt'`. این دستور به طور recursive تمام فایل‌های با پسوند .txt رو در دایرکتوری مشخص شده پیدا می‌کنه.

دسته: bash

❓ چطور می‌تونم با استفاده از bash اسکریپتی بنویسم که فایل‌های با پسوند .txt رو در یک دایرکتوری پیدا کنه و محتوای اولین خط هر کدوم رو چاپ کنه؟

برای این کار می‌تونی از دستور `find` به همراه یک حلقه `for` استفاده کنی. به طور مثال: `for file in $(find /path/to/dir -name '*.txt'); do head -n 1 $file; done`. این اسکریپت ابتدا تمامی فایل‌های .txt رو پیدا می‌کنه و بعد با استفاده از `head`، اولین خط هر فایل رو چاپ می‌کنه.

دسته: bash

❓ چطوری میشه با استفاده از bash یک اسکریپت نوشت که اندازه‌ی یک دایرکتوری رو به صورت بازگشتی محاسبه کنه؟

برای محاسبه‌ی اندازه‌ی یک دایرکتوری به صورت بازگشتی، می‌تونی از دستور `du` استفاده کنی. مثلا با استفاده از دستور `du -sh /path/to/directory`، اندازه‌ی دایرکتوری و زیر دایرکتوری‌ها رو به صورت خلاصه و خوانا نمایش می‌ده. همچنین با `du -h` می‌تونی اندازه‌ها رو به صورت قابل فهم برای انسان مشاهده کنی.

دسته: bash

❓ چطور می‌تونم در bash یک حلقه ایجاد کنم که هر ۵ ثانیه یک بار یک دستور رو اجرا کنه؟

برای ایجاد چنین حلقه‌ای می‌تونی از `while` و `sleep` استفاده کنی. به طور مثال: `while true; do your_command; sleep 5; done`. این کد هر ۵ ثانیه دستور 'your_command' رو اجرا می‌کنه تا زمانی که دستورات متوقف بشن.

دسته: bash

❓ چطور می‌تونم خروجی یک دستور رو به یک فایل ذخیره کنم و در عین حال خروجی رو هم روی صفحه نمایش بدم؟

برای اینکار می‌تونی از دستور `tee` استفاده کنی. به عنوان مثال، `ls | tee output.txt` باعث می‌شه که خروجی دستور `ls` هم به فایل 'output.txt' نوشته بشه و هم در ترمینال نمایش داده بشه.

دسته: bash