لینوکس

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

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

رایکت رایکت بروزرسانی ۴ دقیقه مطالعه ۰ دیدگاه
دستور ls در لینوکس؛ خواندن فهرست فایل‌ها و ستون‌ها

دستور ls فهرست فایل‌ها را نشان می‌دهد؛ گزینهٔ -l جزئیات، -a فایل‌های نقطه‌دار و -h اندازهٔ خواناتر می‌دهد. هدف این آموزش خواندن درست خروجی است: کدام ستون نام فایل است، زمان چه چیزی را نشان می‌دهد و چرا دیدن یک عدد مجوز، دلیل کافی برای تغییر آن نیست.

۱. از فهرست ساده شروع کنید


ls
ls -lah -- logs
ls -d -- logs

در پوشهٔ دارای زیرپوشهٔ logs، فرمان دوم محتویات آن را با جزئیات می‌دهد. فرمان سوم خودِ ورودی logs را نشان می‌دهد؛ این تفاوت برای دیدن مشخصات پوشه مهم است. دو خط تیرهٔ مستقل پایان گزینه‌هاست و اگر نامی با خط تیره شروع شود، جلوی تفسیر آن به‌عنوان گزینه را می‌گیرد.

بدون مسیر، ls روی پوشهٔ فعلی کار می‌کند. در خروجی ترمینال ممکن است چند ستون ببینید، ولی وقتی خروجی به برنامهٔ دیگری می‌رود، شکل نمایش تغییر می‌کند؛ از تعداد ستون‌های ظاهری، تعداد فایل‌ها را حدس نزنید.

۲. ستون‌های نمایش بلند

بخش چه می‌گوید
نوع و مجوز حرف اول نوع ورودی و بخش بعد الگوی دسترسی است
تعداد لینک تعداد پیوند سخت؛ برای پوشه قواعد متفاوت دارد
مالک و گروه نام‌های مربوط به مالکیت ورودی
اندازه معمولاً اندازهٔ منطقی فایل، نه مجموع حجم زیرپوشه
زمان به‌طور پیش‌فرض زمان تغییر محتوای فایل
نام ممکن است فاصله یا نویسهٔ خاص داشته باشد

حرف d در ابتدا معمولاً پوشه و - فایل معمولی را مشخص می‌کند. لینک نمادین می‌تواند با l و پیکان مقصد دیده شود. اعداد و نام مالک در MSYS/ویندوز لزوماً مدل مالکیت سرور لینوکس شما را نشان نمی‌دهند؛ از نمونهٔ آزمایشگاهی برای تصمیم امنیتی استفاده نکنید.

۳. فایل مخفی را با فایل حذف‌شده اشتباه نگیرید


ls -A1 -- .
ls -la -- .

نامی که با نقطه شروع می‌شود در نمایش معمولی پنهان می‌ماند. -a ورودی‌های نقطه‌دار، از جمله . و .. را هم نمایش می‌دهد؛ -A این دو ورودی ویژه را کنار می‌گذارد. در آزمون ما، فایل آموزشی .sample-hidden با -A دیده شد.

نکته: عبارت ls -a * الزاماً همهٔ فایل‌های مخفی را نشان نمی‌دهد؛ شِل می‌تواند * را پیش از اجرای ls گسترش دهد. برای این نیاز، خودِ پوشه را به ls بدهید.

۴. اندازه و زمان را دقیق تفسیر کنید

اندازهٔ نمایش‌داده‌شده برای یک پوشه، جمع اندازهٔ همهٔ فایل‌های داخل آن نیست. همچنین mtime تاریخ ایجاد فایل نیست؛ کپی، بازیابی یا حفظ زمان فایل می‌تواند برداشت شما را تغییر دهد. اگر دنبال مصرف واقعی دیسک هستید، این خروجی به‌تنهایی کافی نیست.

گزینهٔ -h اندازه را به واحد خواناتر تبدیل می‌کند. برای مقایسهٔ دقیق دو مقدار کوچک یا بررسی محدودیتِ بایتی، عدد خام و ابزار مناسب را بخوانید. مرتب‌سازی بر اساس اندازه و زمان نیز با نام فرق دارد؛ پیش از نتیجه‌گیری از ترتیب، گزینه‌های استفاده‌شده را یادداشت کنید.

۵. کارهایی که از این خروجی نتیجه نمی‌شوند

  • وجود ۴۰۳ به‌تنهایی اثبات اشتباه‌بودن مجوز فایل نیست.
  • فایل با نام آشنا الزاماً سالم یا متعلق به نرم‌افزار معتبر نیست.
  • یک نام با فاصله ممکن است در نگاه اول شبیه دو فایل دیده شود.
  • خروجی ls قالب مطمئن برای پردازش خودکار همهٔ نام‌های ممکن نیست؛ برای انتخاب فایل از find و جداکنندهٔ امن استفاده می‌شود.

این فرمان فقط مشاهده می‌کند. برای عیب‌یابی مجوز، مالک، ACL و تنظیم وب‌سرور باید با هم بررسی شوند؛ تغییر گروهی به ۷۷۷ یا کپی‌کردن مجوز از نمونه راه‌حل قابل‌اعتماد نیست.

۶. نتیجهٔ مورد انتظار

پس از اجرا باید بتوانید پوشه را از فایل، نام نقطه‌دار را از فایل غایب و مشخصات خودِ پوشه را از فهرست محتویاتش تشخیص دهید. برای فایل‌های مخفی در رابط گرافیکی، راهنمای سی‌پنل موجود مسیر معادل را نشان می‌دهد؛ این مقاله همان آموزش پنل را تکرار نمی‌کند.

اگر خروجی ls پوشهٔ موردنظر را نشان نمی‌دهد، پیش از تغییر فرمان، تفاوت مسیر مطلق و نسبی و کاربرد pwd و cd را بررسی کنید؛ محل اجرای دستور روی نتیجه اثر دارد.

۷. مسیر مطالعهٔ مرتبط

۸. منابع و روش بررسی

منابع رسمی در ۲۴ اکتبر ۲۰۲۶ بررسی شدند. نمونه‌های فرمان با دادهٔ آموزشی در GNU/MSYS روی ویندوز بررسی شده‌اند؛ این محیط، سرور لینوکس بومی نیست. رفتار مالکیت و دسترسی فایل‌سیستم باید روی سیستم مقصد جدا بررسی شود.

این مطلب برایتان مفید بود؟
رایکت
نوشته شده توسط رایکت

تیم محتوای رایکت؛ آموزش‌ها و راهنماهای کاربردی هاست، دامنه و مدیریت سایت.

مطالب مرتبط

دیدگاه‌ها

نظر یا سوال خود را درباره این مطلب با ما در میان بگذارید

دیدگاه خود را بنویسید

aapanel
cloudlinux
cpanel
directadmin
jetbackup
laravel
mysql
virtualizor
vmware
wordpress