
ما هر روز بدون فکر کردن در مورد دستور Linux ، از ls استفاده می کنیم. حیف است. به آن توجه کنید ، و گزینه های بسیار مفیدی را پیدا خواهید کرد ، از جمله برخی از آنها باید به زرادخانه خط فرمان خود اضافه کنید.
ls لیست فایلها و راهنمای
فرمان ls احتمالاً اولین مورد است دستور اکثر کاربران لینوکس روبرو می شوند. آن دسته از ما که در اطراف خط فرمان هستیم ، روز به روز از آن استفاده می کنیم بدون اینکه حتی به آن فکر کنیم. این ممکن است توضیح دهد که چرا چیزی بیشتر از این که اکثر کاربران بدانند وجود دارد. ما پرونده هایی را با آن لیست می کنیم تا ببینیم چه چیزی در یک فهرست قرار دارد. وقتی می خواهیم مجوزهای مربوط به یک فایل را بررسی کنیم ، پرونده ها را با فرمت طولانی لیست می کنیم. فراتر از آن ، کمی مورد توجه قرار می گیرد.
فرمان ls یکی از آن دسته از دستورات است که گزینه های زیادی دارد. شاید این بخشی از مشکل باشد. گزینه های بسیار زیادی وجود دارد ، چگونه می توانید آنها را پیدا کنید تا موارد مفید را پیدا کنید؟ و با یافتن آنها ، چگونه آنها را به یاد می آورید؟
جایگشت مفید فرمان ls با رشته ها و گزینه ها و پارامترهای خود نامزدهای مناسبی برای نام های مستعار هستند. در حقیقت ، در بیشتر توزیع ها ، آنچه شما از آن به عنوان فرمان "برهنه" ls فکر می کنید در واقع یک نام مستعار است. در میان چیزهای دیگر ، از دستور نوع می توان برای نشان دادن تعریف اساسی از نام مستعار استفاده کرد. بیایید به تعریف ls :
نوع ls
- [رنگ=پارامترهایخودکار هر بار که از دستور ls استفاده می کنید به طور خودکار گنجانده می شود. این همان چیزی است که انواع مختلفی از پرونده ها را در لیست ها ایجاد می کند.
مرتبط: نحوه ایجاد Aliases و توابع Shell در لینوکس
لیست ساده لیست ها
هرکسی که مدتی را سپری کرده است با استفاده از ترمینال لینوکس می داند که به طور پیش فرض ، ls پرونده ها و دایرکتوری ها را در دایرکتوری فعلی لیست می کند.
ls
اگر می خواهید لیست شما در یک ستون منفرد تولید می شود ، از گزینه -1 (یک پرونده در هر خط) استفاده کنید:
ls -1
درمورد این پرونده ، نام پرونده عجیب در بالای لیست در یک دقیقه بحث کنید.
با استفاده از ls در فهرستهای مختلف
برای داشتن ls لیست پرونده ها در فهرست غیر از فهرست فعلی ، مسیر را به فهرست به ls در خط فرمان. همچنین می توانید بیش از یک فهرست را به ls منتقل کنید ، و آنها را یکی پس از دیگری لیست کنید. در اینجا ، ما از ls می خواهیم که پرونده ها را در دو فهرست فهرست کنیم ، یکی به نام "راهنما" و دیگری به نام "gc_help".
ls کمک می کند تا gc_help
وقتی ls محتویات فهرست اول را فهرست کرده است ، مطالب دوم را لیست می کند. اسم هر فهرست را در هنگام پردازش آنها چاپ می کند:
با استفاده از الگوهای پرونده
به طور انتخابی مجموعه ای از لیست ها فایل ها ، از الگوی تطبیق استفاده کنید. علامت سؤال "؟ " نمایانگر هر شخصیت واحد خواهد بود و ستاره " * " نمایانگر هر رشته ای از شخصیت ها خواهد بود. برای لیست کردن پرونده ها یا فهرست هایی که دارای نام "ip_" هستند از این قالب استفاده کنید:
ls ip _ *
برای لیست پرونده هایی که پسوندهای ".c" دارند ، از این قالب استفاده کنید:
ls * .c
همچنین می توانید از ls با grep ، و از قابلیت های الگوی تطبیق grep استفاده کنید. بیایید به دنبال پرونده هایی بنویسیم که رشته "_pin_" دارند:
ls | grep _pin_
این تقریباً مشابه استفاده از ls به تنهایی ، با دو کارت ویزیت است:
ls | grep _pin_
ls * _pin _ *
چرا تقریباً همان؟ به طرح های مختلف توجه داشته باشید. grep خروجی را به یک نام خانوادگی در هر فرمت خط مجبور می کند.
شخصیت های غیر چاپی
می توانید خود را با نام خانوادگی پیدا کنید که دارای نام چاپی یا کنترلی در نام آن باشد. . به طور معمول این می تواند زمانی اتفاق بیفتد که بایگانی را که از وب بارگیری کرده اید گسترش داده یا یک مخزن git بازیابی کرده اید ، و نویسنده اصلی در ایجاد پرونده اشتباه کرده است اما آن را مشاهده نکرده است.
پرونده عجیب ما یکی از این موارد است:
اگر در مرورگر پرونده به آن نگاه کنیم و "F2" را فشار دهیم تا آن را تغییر نام دهد ، شخصیت های غیر چاپ توسط یک عجیب نمایش داده می شوند نماد.
نام و نام خانوادگی با یک آبشار کنترل در آن ، می توانید از گزینه -b (فرار) استفاده کنید تا به شما امکان دهد ببینید نام پرونده در واقع حاوی این گزینه باعث می شود که ls از توالی فرار زبان برنامه نویسی C برای نشان دادن شخصیت های کنترل استفاده کند.
ls -ba *
[19659006] شخصیت مرموز مشخص شد که یک شخصیت جدید است که در C به عنوان " n" نشان داده شده است.
نادیده گرفتن پرونده ها
برای اینکه برخی از پرونده ها از یک لیست حذف شوند ، از گزینه - استفاده کنید - . فرض کنید نمی خواهید پرونده های ".bak" نسخه پشتیبان را در این لیست ببینید. می توانید از این دستور استفاده کنید:
ls
ls --hide = *. bak
پرونده های ".bak" نیستند در لیست دوم قرار دارد.
لیست طولانی با فرمت
گزینه -l (لیست طولانی) گزینه (لیست طولانی) باعث می شود ls برای ارائه اطلاعات دقیق در مورد هر پرونده.
ls -l
اطلاعات زیادی در اینجا وجود دارد ، بنابراین بیایید از طریق آن قدم بگذاریم.
اولین چیزی که ls نمایش می دهد اندازه کل است همه پرونده های موجود در لیست. سپس هر پرونده یا فهرست به خودی خود روی یک خط نمایش داده می شود.
اولین مجموعه ای از ده حرف و خط درسته نوع پرونده و مالک ، گروه و سایر مجوزهای پرونده است.
شخصیت اول مشخص کننده نوع پرونده است. این یکی از موارد زیر خواهد بود:
- – : یک پرونده معمولی.
- b : یک پرونده ویژه بلوک.
- c : یک پرونده ویژه شخصیت.
- d دایرکتوری.
- l : پیوند نمادین.
- n : یک فایل شبکه.
- p : یک لوله نامگذاری شده.
- s : A سوکت.
9 شخصیت بعدی سه گروه از سه شخصیت هستند که به طور مداوم نمایش داده می شوند. هر گروه سه نفره مجوزهای خواندن ، نوشتن و اجرای آن را به ترتیب ترتیب می دهد. اگر مجوز داده شود ، r ، w یا x وجود دارد. اگر مجوز داده نشود ، یک hyphen - نشان داده شده است.
اولین مجموعه از سه شخصیت مجوزهای مربوط به مالک پرونده است. مجموعه دوم از سه مجوز برای اعضای گروه است ، و آخرین مجموعه از سه مجوز برای دیگران است.
بعضی اوقات مجوز اعدام برای مالک توسط نشان داده شده است. این بیت تنظیم شده است. در صورت وجود ، این بدان معنی است که پرونده با امتیازات مالک پرونده اجرا می شود ، نه کاربرانی که پرونده را اجرا می کنند.
مجوز اجرای گروه همچنین می تواند باشد . این بیت setgid است. وقتی این پرونده روی پرونده اعمال شود ، این بدان معنی است که پرونده با امتیازات گروه ower اجرا می شود. در صورت استفاده از یک فهرست راهنما ، هر پرونده ای که در داخل آن ایجاد شده باشد ، مجوزهای گروهی خود را از فهرست که در آن ایجاد می شود ، گرفته نمی شود ، نه از آن کاربر که پرونده را ایجاد می کند.
مجوز اجرای بعضی اوقات ممکن است توسط t نمایندگی شود. این بیت چسبنده است این معمولا در دایرکتوری ها اعمال می شود. اگر این تنظیم شود ، صرف نظر از امتیازات مربوط به نوشتن و اجرایی که روی پرونده ها در دایرکتوری تنظیم شده است ، فقط مالک پرونده ، مالک دایرکتوری یا کاربر اصلی می تواند پرونده ها را در فهرست تغییر نام دهد یا حذف کند.
یک استفاده مشترک. زیرا بیت چسبنده روی پوشه هایی مانند "/ tmp" قرار دارد. این توسط همه کاربران روی رایانه قابل نوشتن است. بیت چسبنده در این فهرست اطمینان حاصل می کند که کاربران و فرآیندهای راه اندازی شده توسط کاربران فقط می توانند فایل های موقتی خود را تغییر نام دهند یا حذف کنند.
ما می توانیم بیت چسبنده را در فهرست "/ tmp" مشاهده کنیم. توجه داشته باشید که از گزینه -d (فهرست) استفاده کنید. این امر باعث می شود كه ls در مورد جزئیات دایرکتوری گزارش دهد. بدون این گزینه ، ls پرونده های داخل فهرست را گزارش خواهد کرد.
ls -l -d / tmp
مرتبط: نحوه استفاده از دستور chmod در لینوکس
شماره زیر مجوزها تعداد پیوندهای سخت به پرونده یا دایرکتوری است. برای یک پرونده ، این معمولاً یکی است ، اما اگر پیوندهای سخت دیگر ایجاد شوند ، این تعداد افزایش می یابد. یک دایرکتوری معمولاً حداقل دو پیوند سخت دارد. یکی پیوندی به خودی خود است و دیگری ورود آن به فهرست والدین آن.
نام مالک و گروه بعدی نمایش داده می شود. اندازه آنها و تاریخ آخرین تغییر پرونده دنبال می شوند. سرانجام ، نام پرونده داده شده است.
اندازه پرونده های قابل خواندن بشر
داشتن اندازه پرونده در بایت همیشه مناسب نیست. برای دیدن اندازه پرونده در مناسب ترین واحدها (کیلوبایت ، مگابایت و غیره) از گزینه -h (قابل خواندن توسط انسان) استفاده کنید:
ls -l -h
نمایش پرونده های مخفی
برای دیدن پرونده های مخفی ، از گزینه -a (all) استفاده کنید:
ls -l -a
دو مدخل "" "و" .. "به ترتیب فهرست راهنما و فهرست اصلی را نشان می دهند. پرونده ای به نام ".base_settings" اکنون برای اولین بار قابل مشاهده است.
و .. از لیست
اگر نمی خواهید لیست شما با نوشته های "" "و" .. "مخلوط شود ، اما می خواهید پرونده های مخفی را ببینید ، از -A استفاده کنید ( تقریباً همه) گزینه:
ls -l -A
پرونده پنهان هنوز ذکر شده است ، اما ورودی های "" "و" .. " سرکوب شده.
فهرست راهنماي هاي بازگشتي به صورت بازگشتي
براي داشتن در برابر فهرست پرونده ها در تمام زير مجموعه ها با استفاده از گزينه -R (بازگشتي)
ls -l-R
ls کار خود را از طریق کل درخت پوشه زیر فهرست راهنما شروع می کند ، و پرونده ها را در هر زیرشاخه لیست می کند.
نمایش UID و GID
برای نمایش شناسه کاربر و شناسه گروه به جای نام کاربر و نام گروه ، از -n (عددی) استفاده کنید تو گزینه d و gid)
ls -n
مرتب سازی لیست ها
شما می توانید لیست را با استفاده از پسوند ، اندازه پرونده یا زمان اصلاح مرتب سازی کنید. این گزینه ها لازم نیست با قالب لیست طولانی استفاده شوند ، اما انجام این کار معمولاً منطقی است. اگر در حال مرتب سازی بر اساس اندازه پرونده هستید ، منطقی است که اندازه پرونده ها را در لیست مشاهده کنید. وقتی مرتب سازی بر اساس نوع پسوند ، قالب فهرست طولانی چندان مهم نیست.
برای مرتب سازی بر اساس پسوند ، از گزینه -X (مرتب سازی بر اساس پسوند) استفاده کنید.
ls -X -1
فهرست ها ابتدا ذکر شده اند (اصلاً بدون پسوند) سپس بقیه به ترتیب حروف الفبا مطابق با پسوند ها دنبال می شوند.
برای مرتب سازی بر اساس اندازه پرونده ، از گزینه -S (مرتب سازی بر اساس اندازه پرونده) استفاده کنید.
ls -l -h -S
[19659006] مرتب سازی مرتب سازی بزرگترین و کوچکترین است.
برای مرتب سازی لیست بر اساس زمان اصلاح ، از گزینه -t (مرتب سازی بر اساس زمان اصلاح) استفاده کنید.
ls -l -t
لیست بر اساس زمان اصلاح طبقه بندی شده است.
اگر زمان اصلاح پرونده در سال جاری باشد ، اطلاعات نمایش داده شده ماه ، روز و زمان است. اگر تاریخ اصلاح در سال جاری نبود ، اطلاعاتی که نمایش داده می شود ماه ، روز و سال است.
یک راه سریع برای بدست آوردن جدیدترین و قدیمی ترین پرونده ها در یک فهرست راهنما استفاده از ls با دستورات head و tail .
برای دریافت جدیدترین پرونده یا فهرست ، از این دستور استفاده کنید:
ls -t | head -1
برای دریافت قدیمی ترین پرونده یا فهرست ، از این دستور استفاده کنید:
ls -t | دم -1
برای معکوس کردن ترتیب مرتب سازی
برای معکوس کردن هر یک از سفارشات مرتب سازی ، از گزینه -r (reverse) استفاده کنید.
ls -l -h -S -r
اکنون لیست از کوچکترین پرونده تا بزرگترین پرونده سفارش داده شده است.
اطلاعات بیشتر
صفحه اصلی را برای در برابر بررسی کنید ، گزینه های دیگری نیز وجود دارد. برخی از آنها موارد استفاده تا حدودی مبهم را راضی می کنند ، اما هر چند وقت یکبار خوشحال می شوید که در مورد آنها می دانید.
آیا شما نیاز دارید که تایم مپ های پرونده را با حداکثر دقتی که لینوکس می تواند ارائه دهد ، ببینید؟ از گزینه تمام وقت استفاده کنید:
ls - full-time
شاید بخواهید تعداد inode پرونده ها را ببینید؟ از گزینه inode استفاده کنید:
ls -i
آیا شما روی یک صفحه نمایش تک رنگ کار می کنید و می خواهید همه خطاهای گیج کننده پرونده ها را برای دایرکتوری ها و پیوندها حذف کنید؟ از گزینه طبقه بندی استفاده کنید ، و ls یکی از این موارد را به هر ورودی فهرست اضافه می کند:
- / : یک فهرست.
- @ : یک سیمینک.
- | : لوله ای به نام.
- = : سوکت.
- * : پرونده های اجرایی
ls -F
مقداری حفاری انجام دهید. خواهید فهمید که ls یک رگ غنی است ، و سنگهای قیمتی خود را ادامه خواهید داد.