روش های زیادی برای لیست کردن پرونده ها و نمایش اطلاعات مربوط به آن ها در سیستم عامل های (توزیع های) گنو/لینوکس وجود دارد. در این پست تعدادی از دستوراتی که جزئیات فایل ها را ارائه می دهد و گزینه هایی را برای مرتب کردن فایل ها در لینوکس فراهم می کند، معرفی خواهیم کرد.
دستور اصلی برای فهرست کردن فایل ها، دستور ls است. این دستور گزینه های زیادی برای یافتن و لیست کردن فایل های مرود نظری که می خواهید ببینید، دارد.
لیست کردن فایل ها بر اساس نام (به ترتیب حروف حروف الفبا)
همانطور که گفتیم، ساده ترین راه برای لیست کردن فایل ها استفاده از دستور ls می باشد. لیست کردن فایل ها براساس نام ها به صورت پیش فرض تظنیم شده است. می توانید از ls (بدون جزئیات) یا ls -l (نمایش به همراه جزئیات) استفاده کنید.
استفاده از دستور ls:
1 2 3 4 5 6 7 |
ls | head -6 $ 8pgs.pdf Aesthetics_Thank_You.pdf alien.pdf Annual_Meeting_Agenda-20190602.pdf bigfile.bz2 bin |
استفاده از دستور ls -l:
1 2 3 4 5 6 7 |
ls -l | head -6 $ -rw-rw-r-- 1 shs shs 10886 Mar 22 2019 8pgs.pdf -rw-rw-r-- 1 shs shs 284003 May 11 2019 Aesthetics_Thank_You.pdf -rw-rw-r-- 1 shs shs 38282 Jan 24 2019 alien.pdf -rw-rw-r-- 1 shs shs 97358 May 19 2019 Annual_Meeting_20190602.pdf -rw-rw-r-- 1 shs shs 18115234 Apr 16 17:36 bigfile.bz2 drwxrwxr-x 4 shs shs 8052736 Jul 10 13:17 bin |
نمایش فایل ها بر اساس نام به صورت برعکس
برای اینکه فایل ها را به صورت برعکس لیست کنید، می توانید از پارامتر r- (reverse) استفاده کنید.
1 2 |
ls -r $ ls -lr $ |
مرتب کردن فایل ها در لینوکس بر اساس پسوند
دستور ls انواع فایل ها را براساس محتوا تجزیه و تحلیل نمی کند، بلکه فقط با نام فایل ها کار می کند. با این حال یک پارامتر وجود دارد که می تواند پرونده ها را براساس پسوندشان مرتب کند. اگر از پارامتر X- استفاده کنید، ls فایل ها را به ترتیب حروف الفبای پسوند و در هر دسته پسوند مرتب می کند. به عنوان مثال ابتدا فایل های بدون پسوند و سپس فایل هایی با پسوند های 1. ، c. و bz2 را نمایش می دهد.
نمایش فقط دایرکتوری ها
به صورت پیش فرض، دستور ls هم فایل ها و هم پرونده ها را با هم نمایش می دهد. اگر می خواهدی فقط دایرکتوری ها یا پوشه ها را لیست کنید، از پارامتر d- استفاده کنید. لیستی مانند مثال زیر دریافت خواهید کرد:
1 2 3 4 |
$ ls -d */ 1/ backups/ modules/ projects/ templates/ 2/ html/ patches/ public/ videos/ bin/ new/ private/ save/ |
مرتب سازی و نمایش فایل ها بر اساس حجم
پارامتر S- برای نمایش فایل ها بر اساس حجم آن ها استفاده می شود. توجه داشته باشید که این پارامتر به تنهایی حجم فایل ها و جزئیات آن ها را نمایش نمی دهد. برای این کار باید از پارامتر l- (لیست طولانی) نیز استفاده کنید. توجه داشته باشید که این پارامتر فایل ها را از حجم زیاد به کم مرتب میک ند. برای معکوس کردن آن، از پارامتر r- استفاده کنید. مثال: ls -lSr
1 2 3 4 5 |
ls -lS $ total 959492 -rw-rw-r-- 1 shs shs 357679381 Sep 19 2019 sav-linux-free-9.tgz -rw-rw-r-- 1 shs shs 103270400 Apr 16 17:38 bigfile -rw-rw-r-- 1 shs shs 79117862 Oct 5 2019 Nessus-8.7.1-ubuntu1110_amd64.deb |
نمایش فایل ها بر اساس مالک آن ها
برای نمایش فایل ها بر اساس صاحب یا مالک آن ها (به عنوان مثال shared directory)، می توانید دستور ls را برای نمایش و دستور sort و پارامتر k3- برای مرتب سازی در ستون سوم منتقل کنید.
1 2 3 4 5 6 7 8 |
ls -l | sort -k3 | more $ total 56 -rw-rw-r-- 1 dory shs 0 Aug 23 12:27 tasklist drwx------ 2 gdm gdm 4096 Aug 21 17:12 tracker-extract-files.121 srwxr-xr-x 1 root root 0 Aug 21 17:12 ntf_listenerc0c6b8b4567 drwxr-xr-x 2 root root 4096 Aug 21 17:12 hsperfdata_root ^ | |
با استفاده از این پارامتر می توانید فایل ها را براساس هر ستونی که در فایل بالا مشاهده می کنید، مرتب کنید. به عنوان مثال برای مرتب کردن آن ها بر اساس ستون پنجم، از پارامتر k5n- استفاده می کنیم. حرف n برای مرتب کردن به صورت عددی (numeric) است که می توانید آن را بردارید.
نمایش بر اساس زمان ایجاد
از پارامتر t- برای مرتب کردن لیست فایل ها بر اساس زمان ایجاد آن ها استفاده کنید. این گزینه به صورت پیش فرض قدیمی ترین فایل ها را ابتدا نشان می دهد. اگر می خواهید ترتیب مرتب سازی از جدیدترین فایل ها باشد، از پارامتر r- استفاده کنید. دستور زیر لیستی از فایل هایی که اخیرا به روز رسانی شده اند را نمایش می دهد:
1 |
ls -ltr | tail -8 |
توجه داشته باشید که c- ، “تغییر” (change) فایل و t- ، “دستکاری” (modification) فایل همیشه یکسان نیستند و ممکن است نتایج متفاوتی را نشان دهند. اگر شما دسترسی ها یا مجوز های فایل را تغییر دهید (بدون تغییر محتوای آن)، در واقع فایل را تغیر داده اید، نه دستکاری.
می توانید از دستور stat برای کسب اطلاعات بیشتر یک فایل برای این مورد استفاده کنید:
1 2 3 4 5 6 7 8 9 |
stat ckacct $ File: ckacct Size: 200 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 829041 Links: 1 Access: (0750/-rwxr-x---) Uid: ( 1000/ shs) Gid: ( 1000/ shs) Access: 2020-08-20 16:10:11.063015008 -0400 Modify: 2020-08-17 07:26:34.579922297 -0400 <== content changes Change: 2020-08-24 09:36:51.699775940 -0400 <== content or permissions changes Birth: - |
مرتب کردن فایل ها در لینوکس بر اساس گروه (ستون)
همانطور که گفتیم از دستور sort به همراه پارامتر k- برای مرتب سازی بر اساس ستون هایی که در لیست کردن فایل ها نمایش داده می شوند، استفاده می کنیم. پارامتر k- به همراه یک عدد می آید که شماره ستون را مشخص می کند.
1 |
ls -l | sort -k4 $ |
نمایش فایل ها بر اساس تاریخ دسترسی
برای نمایش فایل ها بر اساس تاریخ دسترسی (فایل هایی که اخیرا آن را باز کرده اید)، از پارامتر u- استفاده کنید.
1 2 3 4 |
$ ls -ltu total 959500 -rwxr-x--- 1 shs shs 200 Aug 24 09:42 ckacct <== most recently used -rw-rw-r-- 1 shs shs 1335 Aug 23 17:45 lte |
نمایش چندین فایل در یک خط
گاهی اوقات نیاز دارید تا لیست فایل ها را در فضای کمتری مشاهده کنید. برای لیست کردن فایل ها در حداقل خط ممکن، می توانید از گزینه format=comma– استفاده کنید. با این دستور نام فایل ها با کاما (ویرگول) از یکدیگر جدا می شوند.
1 2 3 4 |
ls --format=comma $ 1, 10, 11, 12, 124, 13, 14, 15, 16pgs-landscape.pdf, 16pgs.pdf, 17, 18, 19, 192.168.0.4, 2, 20, 2018-12-23_OoS_2.pdf, 2018-12-23_OoS.pdf, 20190512_OoS.pdf, '2019_HOHO_application working.pdf' … |
تعدادی از دستورات و گزینه ها برای لیست و مرتب کردن فایل ها در لینوکس را مشاهده کردید. دستور ls- دارای پارامتر های زیاد دیگری نیز هستند که می توانید درباره آن ها و کاربردشان جستجو کنید.
دیدگاه ها
سوالات پیش از ثبت نام یا نظرات خود را در مورد این پست مطرح نمایید.