منابع آموزشی و پژوهشی، برای دانشگاه و مدرسه
راهنمای انتخابمیز نویسنده
آموزش رایگان

آموزش ترمینال لینوکس از صفر؛ مسیر، پوشه و فایل

در این درس، ترمینال را با چند کار کوچک و قابل بررسی یاد می‌گیریم: تشخیص مسیر، ساخت پوشه و فایل، خواندن محتوا، کپی و جابه‌جایی. همهٔ تمرین‌ها در پوشهٔ مشخص داخل خانهٔ کاربر انجام می‌شوند.

فضای تمرینبه‌روزرسانی: ۱۴۰۵/۸/۵
آموزش‌ها
در این درس می‌خوانید

ترمینال زمانی ساده‌تر می‌شود که آن را یک گفت‌وگوی دقیق با سیستم بدانیم: یک فرمان می‌فرستیم و خروجی یا خطا را می‌خوانیم. در درس چهارم، چند عملیات کوچک انجام می‌دهیم و بعد از هرکدام نتیجه را بررسی می‌کنیم. به‌جای کپی‌کردن مجموعه‌ای بلند، هر خط را جدا اجرا کنید. محدودهٔ ما پوشهٔ آزمایشی darsavand-lab در خانهٔ کاربر است؛ فایل‌های واقعی پروژه را برای این تمرین به کار نبرید.

فرمان، گزینه و آرگومان

در نمونهٔ ls -l /etc، نام فرمان ls است، -l یک گزینه برای نمایش جزئیات و /etc مسیر مورد بررسی است. همهٔ فرمان‌ها گزینه‌های یکسان ندارند؛ --help یا صفحهٔ man همان فرمان را ببینید. علامت‌های prompt مانند $ که گاهی اول مثال‌های اینترنتی دیده می‌شوند، معمولاً جزئی از دستور نیستند. در باکس‌های این درس فقط فرمان و توضیح کامنت‌شده آمده است.

bash
pwd
ls
ls -l
ls --help

مسیر مطلق و نسبی

مسیر مطلق از / آغاز می‌شود و به محل فعلی وابسته نیست. مسیر نسبی از پوشهٔ فعلی تفسیر می‌شود. نقطهٔ تنها به پوشهٔ فعلی و .. به والد اشاره می‌کند. ~ معمولاً خانهٔ حساب فعلی است؛ برای کاربر عادی اغلب زیر /home قرار دارد، اما آن را همیشگی فرض نکنید. /، خانهٔ کاربر و پوشهٔ /root سه مفهوم متفاوت‌اند. نام‌های فایل در محیط معمول Linux به بزرگی و کوچکی حروف حساس‌اند.

bash
mkdir -p ~/darsavand-lab/files
cd ~/darsavand-lab/files
pwd
cd ..
pwd
cd files

گزینهٔ -p در mkdir ساخت مسیرهای لازم را ساده می‌کند. cd فقط محل فعلی پوسته را تغییر می‌دهد و فایل را جابه‌جا نمی‌کند. اگر نام مسیر فاصله دارد، آن را داخل کوتیشن قرار دهید تا یک آرگومان واحد باشد. اگر خطای No such file or directory گرفتید، املا، حروف و محل فعلی را بررسی کنید؛ استفادهٔ بی‌دلیل از sudo مسیر اشتباه را درست نمی‌کند.

یک فایل متنی بسازید و بخوانید

bash
echo "first note" > lesson-04-note.txt
cat lesson-04-note.txt
echo "second note" >> lesson-04-note.txt
cat lesson-04-note.txt

در این نمونه، > خروجی را در فایل می‌نویسد و اگر همان فایل وجود داشته باشد محتوای آن را جایگزین می‌کند. >> به انتهای فایل اضافه می‌کند. این تفاوت کوچک مهم است؛ قبل از نوشتن، نام فایل و هدف را بدانید. پس از خط دومِ افزودن، cat باید دو خط first note و second note را نشان دهد. برای فایل بلند، less امکان مرور صفحه‌ای می‌دهد و با q از آن خارج می‌شوید.

کپی و جابه‌جایی

bash
cp -i lesson-04-note.txt lesson-04-copy.txt
mv -i lesson-04-copy.txt lesson-04-archive.txt
ls -l
cat lesson-04-archive.txt

cp نسخهٔ دیگری می‌سازد و mv می‌تواند نام یا محل فایل را تغییر دهد. گزینهٔ -i در این نمونه برای برخورد با مقصد موجود، تأیید می‌خواهد؛ اگر تمرین را دوباره اجرا می‌کنید، علت پرسش را بخوانید. mv را با cd اشتباه نگیرید: اولی داده را جابه‌جا یا نام‌گذاری می‌کند و دومی فقط محل کار پوسته را عوض می‌کند. خروجی موفق بعضی فرمان‌ها خالی است؛ نبود پیام، جای بررسی با ls یا cat را نمی‌گیرد.

ساختار پوشه‌های مهم را بشناسید

  • /home: محل رایج خانهٔ کاربران عادی.
  • /etc: تنظیمات بسیاری از برنامه‌ها و سیستم.
  • /var/log: محل رایج بخشی از گزارش‌ها؛ همهٔ logها الزاماً فایل متنی اینجا نیستند.
  • /usr: بخش مهمی از برنامه‌ها، کتابخانه‌ها و داده‌های همراه آن‌ها.
  • /tmp: دادهٔ موقت که ممکن است طبق سیاست سیستم پاک شود؛ محل نگهداری فایل مهم نیست.

فایل یا پوشه‌ای که نامش با نقطه آغاز می‌شود، در نمایش عادی ls پنهان می‌ماند و با ls -a دیده می‌شود. این قرارداد برای کم‌کردن شلوغی است و کنترل امنیتی ایجاد نمی‌کند. تنظیماتی مانند .ssh می‌توانند مهم باشند؛ بدون فهم محتوا و مجوزها، آن‌ها را ویرایش نکنید. در درس حساب‌ها و دسترسی، معنی مجوز فایل را بررسی می‌کنیم.

حذف را فقط در محدودهٔ معلوم تمرین کنید

حذف با فرمان‌های ترمینال الزاماً به سطل زبالهٔ دسکتاپ نمی‌رود. اگر می‌خواهید فایل کپی همین تمرین را بردارید، ابتدا pwd و نام فایل را بررسی و سپس فرمان زیر را اجرا کنید. -i پرسش تعاملی می‌دهد و -- پایان گزینه‌ها را مشخص می‌کند. این مثال فقط برای همان فایل آزمایشی است؛ الگوهای گسترده و حذف بازگشتی برای شروع لازم نیستند.

bash
pwd
ls -l lesson-04-archive.txt
rm -i -- lesson-04-archive.txt

تمرین و پاسخ پیشنهادی

داخل darsavand-lab پوشه‌ای به نام lesson-04 بسازید، وارد آن شوید، فایل notes.txt با متن hello بسازید و یک کپی با نام backup.txt ایجاد کنید. با pwd محل و با cat محتوای هر دو را بررسی کنید. پاسخ زیر باید دو فایل هم‌محتوا بسازد. اگر دوباره اجرا کردید و فایل مقصد موجود بود، رفتار بازنویسی را آگاهانه انتخاب کنید.

bash
mkdir -p ~/darsavand-lab/lesson-04
cd ~/darsavand-lab/lesson-04
echo "hello" > notes.txt
cp -i notes.txt backup.txt
pwd
cat notes.txt
cat backup.txt

منابع انگلیسی

تمرین‌ها و مثال‌ها برای این مجموعه طراحی شده‌اند. در درس بعد، حساب کاربری، sudo و مجوزهای فایل را می‌خوانیم.

پیش‌نیاز و محیط اجرای مثال‌ها

درس 4 از ۱۰ در مسیر مقدماتی لینوکس و مفاهیم سرور. یک محیط Linux آزمایشی مانند WSL یا VM آماده باشد. تمرین‌ها در ~/darsavand-lab انجام می‌شوند و به sudo نیاز ندارند؛ قبل از عملیات فایل با pwd محل فعلی را ببینید.

پیشرفت روی همین مرورگر ذخیره می‌شود.

یکجا انتخاب کن، راحت‌تر دریافت کن

انتخاب‌های من ۰ منبع

مجموعهٔ مطالعه‌ات را بساز.

کنار مقاله‌ها «انتخاب» را بزنید تا چند فایل را با هم دریافت کنید.

انتخاب مقاله‌های رایگان