arrow_backبازگشت به یادداشت‌های میدانی
DIGITAL FORENSICS منتشر شده 9 Aug 2026

شروع کار با خط فرمان Linux

یک مدخل فرهنگ لغت عملی که اصول پوسته Linux را پوشش می‌دهد: ناوبری، عملیات فایل، مجوزها، و عادت‌های موثری برای انجام کارها.

خط فرمان یک رابط متنی برای صحبت مستقیم با سیستم عامل است. به جای کلیک بر روی آیکون‌ها، دستورات را برای پوسته تایپ می‌کنی و پوسته آن‌ها را اجرا می‌کند. در بیشتر توزیع‌های Linux، آن پوسته bash است، اگرچه zsh نیز رایج شده است، به خصوص از آنجایی که پیش‌فرض macOS است و در تنظیمات Linux نیز فزاینده محبوب می‌شود. یادگیری خط فرمان به معنای حفظ صدها دستور نیست. بلکه این‌ است که مجموعه‌ای کوچک از ابزارها را درونی کنی و آن‌ها را خوب ترکیب کنی.

اینکه پوسته واقعاً چه کار می‌کند

وقتی ترمینالی را باز می‌کنی، یک شبیه‌ساز ترمینال اجرا می‌شود و درون آن یک فرآیند پوسته در انتظار ورودی است. دستور را تایپ می‌کنی، Enter را می‌زنی و پوسته آن را تجزیه می‌کند، برنامه‌ای که نام‌گذاری کردی را پیدا می‌کند و آن را با هر آرگومان‌ای که داده‌بودی اجرا می‌کند. خروجی به صورت متن بازمی‌آید. این کل حلقه است. درک این تفکیک بین ترمینال (پنجره) و پوسته (برنامه‌ای که متن تو را تفسیر می‌کند) بسیاری از سردرگمی‌های اولیه را روشن می‌کند.

حرکت و نگاه کردن به اشیاء

چهار دستور بیشتر ناوبری اولیه را پوشش می‌دهند:

pwd          # print working directory
ls -la       # list files, including hidden ones, with details
cd projects  # change into a directory
cd ..        # go up one level

اجرای ls -la به‌طور کامل در ابتدا به جای تکیه بر نام‌های مختصر شده، بهتر است تا به مجوزها، مالکیت و اندازه‌های فایل در خروجی عادت کنی. d یا - در ابتدای رشته مجوز به تو می‌گوید که چیزی دایرکتوری است یا فایل معمولی، و این چیزی است که بسیاری از مبتدیان در ابتدا گیج شده‌اند.

خواندن و دستکاری فایل‌ها

cat somefile.txt کل فایل را به صفحه نمایش می‌دهد. برای هر چیز طولانی‌تر، less somefile.txt به تو اجازه می‌دهد تا بپیمایی و با /pattern جستجو کنی. head -n 20 file.log و tail -n 20 file.log خطوط اول یا آخر را نشان می‌دهند و tail -f file.log یک فایل را دنبال می‌کند وقتی خطوط جدید اضافه می‌شوند، که این‌گونه است که در طول اشکال‌زدایی یک log را به صورت بلادرنگ تماشا می‌کنی.

کپی کردن، انتقال و حذف با cp، mv و rm انجام می‌شود:

cp report.txt report.bak
mv report.bak archive/
rm archive/report.bak

rm چیزها را به سطل زباله منتقل نمی‌کند. آن‌ها را حذف می‌کند. افزودن -i باعث می‌شود تا تأیید بخواهد، که یک عادت منطقی است در حالی که هنوز حافظه‌ی عضلانی خود را می‌سازی.

مجوزها، بدون رمز

اجرای ls -l بر روی یک فایل چیزی شبیه -rwxr-xr-- را نشان می‌دهد. آن را به سه گروه سه‌تایی تقسیم کن: مالک، گروه، دیگران. هر گروه دارای خواندن، نوشتن، اجرا است. chmod 755 script.sh مالک را به خواندن/نوشتن/اجرا (7) و گروه/دیگران را به خواندن/اجرا (5) تنظیم می‌کند. chmod +x script.sh میانبری برای قابل اجرا کردن یک فایل بدون محاسبه‌ی مجدد عدد کامل است. chown صاحب فایل را تغییر می‌دهد و معمولاً به sudo نیاز دارد مگر اینکه قبلاً فایل خودت باشد.

لوله‌گذاری و تغییر مسیر

این جایی است که خط فرمان بیش از یک مرورگر فایل نیست و یک ابزار واقعی می‌شود. لوله | خروجی یک دستور را به دستور دیگری می‌فرستد:

ps aux | grep nginx
ls -la | wc -l
cat access.log | grep 404 | sort | uniq -c | sort -rn

آخری، تعداد دفعاتی را که هر خطِ تولید‌کننده‌ی 404 در یک log ظاهر می‌شود می‌شمارد و بر اساس فرکانس مرتب می‌کند، کاملاً از دستورات کوچک متصل‌شده ساخته‌شده است. تغییر مسیر با > و >> خروجی را به یک فایل به جای صفحه نمایش می‌فرستد: > بازنویسی می‌کند، >> اضافه می‌کند. 2> خروجی خطا را به خصوص تغییر مسیر می‌دهد، که مهم است وقتی شروع به نوشتن اسکریپت‌هایی می‌کنی که باید خروجی معمولی را از خطاها جدا کنند.

یافتن اشیاء

find بر اساس نام، نوع یا زمان اصلاح جستجو می‌کند:

find /var/log -name

با کمک هوش مصنوعی نوشته‌شده، بازبینی و منتشر‌شده توسط Michal Pilch (CISSP)، Korra Studio.

آماده برای پیش‌رفت بیشتر؟

این یکی از یادداشت‌های پایگاه دانش Korra Studio است — پلتفرم هر موضوع را با مربی یک‌به‌یک جفت می‌کند.

شروع رایگانarrow_forward