Menu Menu

لیست فهرست

  1. پوسته (Shell)
  2. دستور pwd
  3. دستور cd
  4. دستور ls
  5. دستور touch
  6. دستور file
  7. دستور cat
  8. دستور less
  9. دستور history
  10. دستور cp
  11. 10 دستور بعدی

توضیحات

دستور ls

(list directories) - لیست دایرکتوری ها

خب تا حالا فهمیدیم چجوری میتونیم وارد یه پوشه بشیم و همینطور میدونیم که چجوری میشه ببینیم تو چه مسیری هستیم! ولی توی ویندوز، وقتی وارد یه پوشه میشید میتونید ببینید که داخل اون پوشه چه فایل ها و پوشه هایی وجود داره، حالا توی لینوکس و خط فرمان چجوری میتونیم ببینم توی مسیرمون چه چیز هایی وجود داره؟ آفرین، دستور امروز ما همینکارو میکنه و به ما نشون میده چه چیز هایی توی مسیرمون هست. بیاید یه مثال ساده رو این زیر ببینیم :

            
                pwd
                /
                ls
                bin    dev    etc    home    root    sbin    tmp    usr    var
            
        

با توجه به دستورات بالا متوجه میشید که ما توی مسیر ریشه هستیم و با دستور ls میتونیم پوشه ها و فایل های داخل ریشه رو مشاهده کنیم(به همین سادگی!)
اما توجه داشته باشید که دستور ls به تنهایی نمیتونه تموم فایل هارو نشون بده (مثلا فایل هایی که با نقطه شروع میشن و مخفی هستن!)
برای حل این مشکل هم میتونیم از پرچم ها (flag) استفاده کنیم.(پرچم ها ویژگی هایی جدیدی به دستور اضافه میکنن که جلوتر متوجه میشیم!) ولی فعلا بیاید روی همین ls مانور بدیم! اولین پرچم برای ls پرچم a هست که مخفف کلمه all ، که همونطور که از اسمش پیداست باعث میشه همه فایل هارو بتونید مشاهده کنید(حتی فایل هایی که با نقطه شروع میشن!) این زیر مثالشو میبینید :

            
                pwd
                /
                ls -a
                .  bin  dev  etc  home  root  sbin  tmp  usr  var
            
        

با توجه به استفاده از فِلَگ a میتونید ببینید که یه . به دایرکتوری ها اضافه شده!
حالا بیاید یه پرچم دیگرو بررسی کنیم! این پرچم رو با l نشون میدن و مخفف long ، که یعنی جزئیات دایرکتوری هارو هم به شما نشون میده! مثال این پرچم رو هم میتونید این پایین ببینید :

            
                pwd
                /
                ls -l
                drwxrwxrwx  2  root      wheel     --------  2003/11/05 12:00:00  bin
                drwxrwxr-x  2  root      system    --------  2003/11/05 12:00:00  dev
                drwxrwxrwt  2  root      system    --------  2023/07/24 14:01:24  etc
                drwxrwxrwx  2  root      wheel     --------  2023/07/24 14:01:24  home
                drwx------  2  root      system    --------  2003/11/05 12:00:00  root
                drwxrwxr-x  2  root      system    --------  2003/11/05 12:00:00  sbin
                drwxrwxrwt  2  root      system    --------  2003/11/05 12:00:00  tmp
                drwxrwxrwx  2  root      wheel     --------  2003/11/05 12:00:00  usr
                drwxrwxrwx  2  root      wheel     --------  2023/07/24 14:01:20  var
            
        

خب ، ایندفعه میبینید که جزئیات زیادی بهشون اضافه شده! در سمت چپ یه چیزایی عجیبی میبینید مثل drwxrwxrwx که خیلی عجیبم نیست و بعدا باهاش آشنا میشیم (ولی فعلا بدونید که سطح دسترسی رو نشون میده!) و قسمت های مختلف دیگه ایی هم وجود داره که از بحث الان ما خارجه!


با توجه به اینکه الان دوتا flag یاد گرفتیم شاید براتون سوال باشه میشه باهم استفادشون کرد؟ در جواب باید بگم بله که میشه! میتونید باهم استفاده کنید و لذت ببرید ، البته باید توجه داشته باشید استفاده از پرچم ها ، ترتیبشون مهمه ولی تو خیلی از دستورات تاثیری نداره!
یادتون باشه بعضیا به flag ها میگن option یا arguments ، شماهم هرکدوم دلتون خواست رو بگید، منم چون یخورده خستم با flag بیشتر حال کردم، در هر صورت هرچیزی میگید بگید، کارشون یچیزه و اونم اینه که عملکرد بیشتری رو به دستور اضافه کنه.
            
                pwd
                /
                # تمامی دستورات پایین یه خروجی دارن
                ls -la یا ls -l -a یا ls -a -l یا ls -al
                drwxrwxrwt  2  root      system    --------  2003/11/05 12:00:00  .
                drwxrwxrwx  2  root      wheel     --------  2003/11/05 12:00:00  bin
                drwxrwxr-x  2  root      system    --------  2003/11/05 12:00:00  dev
                drwxrwxrwt  2  root      system    --------  2023/07/24 14:01:24  etc
                drwxrwxrwx  2  root      wheel     --------  2023/07/24 14:01:24  home
                drwx------  2  root      system    --------  2003/11/05 12:00:00  root
                drwxrwxr-x  2  root      system    --------  2003/11/05 12:00:00  sbin
                drwxrwxrwt  2  root      system    --------  2003/11/05 12:00:00  tmp
                drwxrwxrwx  2  root      wheel     --------  2003/11/05 12:00:00  usr
                drwxrwxrwx  2  root      wheel     --------  2023/07/24 14:01:20  var
            
        
تا یادم نرفته اینم بگم که دقیقا مثل دستور cd توی دستور ls هم میتونید مسیر مستقیم بدید مثل زیر :
            
                ls -a home/amirroox/desktop
                NewFolder    Hack.py    Plus.bash
            
        

تمرین و آزمون

تمرین مرتبط :

خب چنتا ترین دارید که باید انجام بدید، دستورات زیر رو چک کنید ببینید چجوری کار میکنن :

  1. ls -R
  2. ls -r
  3. ls -t

ممکنه با تست کردن یکمی براتون سخت باشه فهمیدن اینکه چیکار میکنن ، پس یه راهنمایی کوچیک براتون دارم! پرچم r- مخفف reverse ، پس خیلی راحت میشه فهمید چیکار میکنه!

پرچم t- مخفف time که اینم روشه که چیکار میکنه(بر اساس زمان مرتب‌سازی میکنه) و در آخر پرچم R- مخفف کلمه recursive به معنی بازگشتیه که اگه بخوام راهنمایی کنم کارش اینه که فایل ها و پوشه های داخل پوشه هارو هم بهتون نمایش میده (خودتون تست کنید بیشتر متوجه میشید!)

آزمون :

  1. با چه دستوری میشه تمامی فایل های یه دایرکتوری رو دید (حتی فایل های مخفی)؟

  2. پرچم l (اِل) چه کاری انجام میده ؟

  3. میشه از پرچم ها باهم استفاده کرد؟
بعدی : دستور touch