دستور 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