دستور ls محتویات یک پوشه را به نمایش میگزارد که در ساده‌ترین حالت و بدون سوئیچ های اضافی تنها نام فایل‌ها و پوشه های درون پوشه فعلی را(در صورت وجود) به نمایش میگزارد.اینجا در مورد نسخه‌ی گنوی این دستور صحبت میکنیم.

برای مثال من این دستور را در یک پوشه به نام foo  اجرا کردم:

همانطور که میبینید در این پوشه یک فایل متنی معمولی با نام bar.txt، یک پوشه با نام folder،یک فایل اجرایی به نام hi و یک فایل فشرده بانام miniircd-master.zip وجود دارد.ls فایل‌ها با ویژگی‌های مختلف را با رنگ‌های مختلف نمایش میدهد. به این صورت شما میفهمید که با چه نوع فایل‌هایی سرکار دارید.این ساده‌ترین حالت دستور ls است و در صورت استفاده از سوئیچ های مختلف پیشرفته‌تر نیز می‌باشد.برخی از سوئیچ های پرکاربرد را اینجا توضیح میدهم:

-a

در صورت استفاده از این سوئیچ تمام فایل و فولدر های نمایش داده میشود.(در حالت عادی ls فقط فایل‌ و فولدر های غیر مخفی را نمایش میدهد.)

 

نکته:در هر فولدر دو دایرکتوری مجازی با نام های .. و . وجود دارند که به ترتیب به دایرکتوری قبلی و دایرکتوری فعلی اشاره میکنند.مثال:

faroogh@faroogh-G31T-M:~/foo/folder$ cd ..
faroogh@faroogh-G31T-M:~/foo$

یک مثال با این سوئیچ:

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

-l

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

faroogh@faroogh-G31T-M:~/foo$ ls -l

total 32

-rw-rw-r-- 1 faroogh faroogh    10 ژانوی 26 15:52 bar.txt

drwxrwxr-x 2 faroogh faroogh     6 ژانوی 26 15:55 folder

-rwxrwxr-x 1 faroogh faroogh    26 ژانوی 26 15:54 hi

-rw-r--r-- 1 faroogh faroogh 20731 ژانوی 24 18:19 miniircd-master.zip

-h

اگر از این سوئیچ استفاده کنید اطلاعات پرونده‌ها بصورتی نمایش داده می‌شود که انسان‌ها آنرا راحت‌تر بتوانند بخوانند. مثلا به جای ۲۰۴۸ بایت مینویسد ۲ کیلو‌بایت

faroogh@faroogh-G31T-M:~/foo$ ls -hl

total 32K

-rw-rw-r-- 1 faroogh faroogh  10 ژانوی 26 15:52 bar.txt

drwxrwxr-x 2 faroogh faroogh   6 ژانوی 26 15:55 folder

-rwxrwxr-x 1 faroogh faroogh  26 ژانوی 26 15:54 hi

-rw-r--r-- 1 faroogh faroogh 21K ژانوی 24 18:19 miniircd-master.zip


 

-t

اگر این سوئیچ استفاده کنید، پرونده‌ها بر اساس ترتیب زمانی (جدیدتر‌ها اول و قدیمی‌تر‌ها آخر) فهرست می‌شوند.

نکته:‌تاریخ‌ها مربوط به آخرین ویرایش یک فایل هستند.

faroogh@faroogh-G31T-M:~/foo$ ls

bar.txt  folder  hi  miniircd-master.zip

faroogh@faroogh-G31T-M:~/foo$ ls -t

folder  hi  bar.txt  miniircd-master.zip

نکته:‌ همانطور که دیدید بصورت پیشفرض فایل‌ها بر اساس ترتیب حروف الفبا مرتب میشوند.

 

-S

این سوئیچ فایل‌ها را بر اساس حجمشان مرتب میکند.(بزرگتر‌ها اول و کوچکتر‌ها آخر)فکر میکنم نیازی به مثال نیست

-r

ترتیب مرتب سازی را برعکس میکند.برای مثال دستور زیر فایل‌های قدیمی را اول و جدید ها را آخر نشان میدهد.

ls -tr