پرش به محتویات

درسنامه ۳: دستور ls

دستور ls مخفف list است و محتویات یک دایرکتوری را نمایش می‌دهد. اگر هیچ گزینه یا آرگومانی همراه آن نباشد، فایل‌ها و پوشه‌های دایرکتوری فعلی را به صورت مرتب‌شدهٔ الفبایی نشان می‌دهد.

اجرای ساده

$ ls
Documents  Downloads  Pictures  README.md

در ترمینال گنو/لینوکس (مثلا Ubuntu) رنگ‌ها معنا دارند: دایرکتوری‌ها معمولا به رنگ آبی، فایل‌های اجرایی به سبز، آرشیوها به قرمز و فایل‌های معمولی به سفید نشان داده می‌شوند. تم رنگی قابل سفارشی‌سازی است اما ایدهٔ کلی تفکیک نوع فایل با رنگ ثابت است.

گزینهٔ -t

$ ls -t
report.txt  log.txt  archive.tar  notes.md

نتیجه بر پایهٔ زمان آخرین تغییر (Modification Time) مرتب می‌شود و جدیدترین آیتم‌ها ابتدا می‌آیند. ترکیب این گزینه با گزینه‌های دیگر (مانند -l) اطلاعات کامل‌تری فراهم می‌کند.

گزینهٔ -l

$ ls -l
-rw-r--r-- 1 user user   842 Jan 18 10:22 notes.md
-rw-r--r-- 1 user user 12560 Jan 15 22:41 log.txt
-rw-r--r-- 1 user user  2048 Jan 12 09:05 report.txt

خروجی «لیست طولانی» شامل ستون‌هایی برای مجوزها، تعداد لینک‌های سخت، مالک، گروه، اندازه فایل (بر حسب بایت)، مهر زمانی آخرین تغییر و نام فایل است. این شکل برای بررسی دقیق دسترسی‌ها و ابعاد فایل‌ها بسیار مفید است.

گزینهٔ -a

$ ls -a
.  ..  .bashrc  .cache  Documents  Downloads  README.md

آیتم‌هایی که نام‌شان با نقطه (.) شروع می‌شود، به طور پیش‌فرض مخفی هستند. با -a تمام فایل‌ها و دایرکتوری‌ها نمایش داده می‌شوند. در این خروجی دو ورودی ویژه می‌بینیم:

  • .: دایرکتوری فعلی
  • ..: دایرکتوری والد

برای بازگشت به والد از دستور cd .. استفاده کنید و حتما پس از جابه‌جایی با pwd مسیر جدید را بررسی کنید.

گزینهٔ -r

$ ls -r
notes.md  log.txt  report.txt  archive.tar

نتایج در ترتیب معکوس نمایش داده می‌شوند. این گزینه با سایر گزینه‌ها نیز قابل ترکیب است. دقت کنید که -r با حرف کوچک تنها ترتیب را معکوس می‌کند، در حالی‌که -R (حرف بزرگ) رفتاری کاملا متفاوت دارد: محتوای دایرکتوری فعلی و تمام زیردایرکتوری‌ها را به صورت بازگشتی فهرست می‌کند.

$ ls -R
.:
Documents  Downloads  Pictures

./Documents:
report.txt  summary.md

ترکیب گزینه‌ها

گزینه‌ها را می‌توان جداگانه یا ترکیبی نوشت:

$ ls -l -t
$ ls -lt

هر دو فرمان بالا خروجی لیست طولانی را بر اساس زمان تغییر مرتب می‌کنند. افزودن -r آن را معکوس می‌کند:

$ ls -ltr

این ترکیب برای دیدن قدیمی‌ترین فایل‌ها در ابتدا کاربردی است.

گزینهٔ -h

خروجی -l اندازه فایل را بر حسب بایت نشان می‌دهد. برای نمایش اندازه به صورت قابل‌خواندن (مانند KB، MB یا GB) از -h استفاده کنید. این گزینه را معمولا همراه -l به کار می‌برند:

$ ls -lh
-rw-r--r-- 1 user user 2.0K Jan 18 10:22 notes.md
-rw-r--r-- 1 user user 12K  Jan 15 22:41 log.txt

جمع‌بندی

  • ls ابزار اصلی پیمایش سریع در ساختار دایرکتوری است.
  • گزینه‌های -t, -l, -a, -r, -R, -h رفتار آن را برای نیازهای مختلف تغییر می‌دهند.
  • می‌توانید گزینه‌ها را ترکیب کنید تا خروجی مناسب سناریوی خود را بسازید؛ مثلا ls -alh برای دیدن همهٔ فایل‌ها با جزئیات کامل و اندازهٔ خوانا.

در درسنامهٔ بعدی مفاهیم تکمیلی پیمایش و گزینه‌های پیشرفتهٔ بیشتری را خواهیم دید.