دستور ls در لینوکس برای لیست کردن فایلها با مثال های کاربردی و تصویری
دستور ls در لینوکس از پرکاربردترین دستورات است و معتقدم که میتواند اولین دستور برای یادگیری لینوکس باشد.
بدون اینکه متوجه باشیم روزانه بطور مکرر از دستور ls استفاده میکنیم البته بیشتر از optionهای کاربردی آن استفاده میشود.
ls برای لیست کردن فایلها و فولدرها درون فایل سیستم استفاده میشود و جزئیاتی بیشتری از آنها را نمایش میدهد.
ls شامل GNU core utilities package یعنی بسته ابزارهای سودمند هسته GNU است که در همه توزیعهای لینوکس نصب است.
در این نوشته options یا گزینههای اصلی دستور ls به همراه مثالهای کاربردی و تصویری آموزش داده خواهد شد.
پیش نیازها
- داشتن یک سیستم کامپیوتری
- نصب بودن یک توزیع لینوکس بر روی کامپیوتر
- آشنایی نسبی جهت ورود به ترمینال و جابه جایی بین فایل ها در لینوکس
- داشتن یک لبخند بر صورت
فرمت یا قواعد نحو در استفاده از دستور ls
فرمت استفاده از دستور ls بصورت زیر است:
1 |
ls [OPTION]... [FILE]... |
[OPTIONS] همان گزینه های دستور است که اختیاری است و چند نقطه بعد آن به معنای امکان استفاده از چند option نیز هست.
[FILES] میتواند نام یا مسیر فایل یا فولدر باشد و چند نقطه به معنای امکان استفاده از چند فایل یا فولدر است.
دستور ls در linux بدون گزینه
دستور بدون opion یا گزینه خاصی یعنی بصورت ls برای لیست کردن فایل ها و فولدر در لینوکس استفاده میشود.
در این حالت امکان مشاهده جزئیات فایلها مثل نوع، تاریخ و زمان اصلاح، اندازه، پرمیژن، مالک و گروه نیست.
مثال 1
1 2 3 4 5 6 7 8 9 10 |
[root@static log]# ls anaconda firewalld rhsm vmware-network.3.log audit grubby secure vmware-network.4.log boot.log grubby_prune_debug secure-20210110 vmware-network.5.log boot.log-20210110 lastlog spooler vmware-network.6.log btmp maillog spooler-20210110 vmware-network.log cron maillog-20210110 tallylog vmware-vgauthsvc.log.0 cron-20210110 messages tuned vmware-vmsvc.log dmesg messages-20210110 vmware-network.1.log wtmp dmesg.old mongodb vmware-network.2.log yum.log |
دستور ls در linux با گزینه l-
دستور ls -l برای لیست کردن فایلها و نمایش جزئیات آنها استفاده می شود که long listing format گفته میشود.
در این حالت نام، نوع، مالک و گروه، تاریخ و زمان اصلاح، اندازه و پرمیژن فایلها و فولدرها نمایش داده میشود.
نوع فایل در ستون اول دستور ls
در نمونه drwxr-xr-x حرف d نوع فایل است که ابتدای کلمه directory میباشد.
چنانچه فایل معمولی باشد کاراکتر – نمایش داده می شود.
سایر نوع ها در زیر بهمراه نام آنها گفته شده است.
1 2 3 4 5 6 7 8 |
- : Regular file. b : Block special file. c : Character special file. d : Directory. l : Symbolic link. n : Network file. p : FIFO. s : Socket. |
permission فایل در ستون اول دستور ls
پرمیژن یا سطح دسترسی فایلها و فولدرها 9 کاراکتر دارد که نمونه آن بصورت rwxr-x-wx میباشد.
سه کاراکتر اول، پرمیژن user یا کاربر یا مالک را مشخص میکند که در نمونه بالا rwx میباشد.
سه کاراکتر دوم، پرمیژن group یا گروه را مشخص میکند که در نمونه بالا r-x میباشد.
سه کاراکتر سوم، پرمیژن others یا دیگران را مشخص میکند که در نمونه بالا -wx میباشد.
برای تغییر پرمیژن فایلها یا فولدرها از دستور chmod استفاده میشود.
کاراکترهای پرميژن می توانند دارای مقادیر زیر باشند که هر کدام معنای خاصی دارند:
1 2 3 4 5 6 7 8 |
r : اجازه خواندن فایل : Permission to read the file : r-- w : اجازه نوشتن در فایل : Permission to write to the file :-w- x : اجازه اجرای فایل : Permission to execute the file : --x S : اعطای پرمیژن مالک فایل به سایر کاربران : setuid bit : --S s : اعطای پرمیژن مالک فایل به سایر کاربران جهت اجرا : setuid bit : --s S : اعطای پرمیژن گروه فایل به سایر کاربران : setgid bit : --S s : اعطای پرمیژن گروه فایل به سایر کاربران جهت اجرا : setgid bit : --s t : sticky bit. |
تعداد Hard link در ستون دوم دستور ls
مقدار آن برای ستون دوم، برای فایل برابر تعداد هارد لینکهای آن است.
مقدار آن برای ستون دوم، برای فولدر برابر تعداد ساب فولدرهای داخل آن بعلاوه 2 است. منظور از 2 خود فولدر یعنی . و parent فولدر یعنی .. است.
مالک فایل در ستون سوم دستور ls
مالک یا کاربر فایل را نمایش می دهد.
گروه فایل در ستون چهارم دستور LS
گروه فایل یا فولدر را نمایش میدهد.
مثال 2
بطور مثال برای فایل btmp مالک root و گروه utmp میباشد.
با دستور chown امکان تغییر مالک و گروه پیش فرض فایل و گروه وجود دارد.
1 2 3 4 5 6 |
[root@static ~]# touch file.txt [root@static ~]# ls -l file.txt -rw-r--r-- 1 root root 0 Jan 13 20:28 file.txt [root@static ~]# chown u1:u2 file.txt [root@static ~]# ls -l file.txt -rw-r--r-- 1 u1 u2 0 Jan 13 20:28 file.txt |
اندازه فایل در ستون پنجم دستور ls
برای نمایش اندازه فایل یا فولدر استفاده می شود.
زمان اصلاح فایل ستون ششم و هفتم و هشتم دستور ls
مربوط به تاریخ و زمان اصلاح یا modified date می باشد.
نام فایل در ستون نهم دستور ls
نام فایل یا فولدر را نمایش میدهد.
مثال 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[root@static log]# ls -l total 23244 drwxr-xr-x. 2 root root 4096 Oct 27 2019 anaconda drwx------. 2 root root 4096 Jan 11 02:03 audit -rw-------. 1 root root 0 Jan 10 03:30 boot.log -rw------- 1 root root 70261 Jan 10 03:30 boot.log-20210110 -rw-------. 1 root utmp 11312640 Jan 11 02:27 btmp -rw------- 1 root root 6053 Jan 11 02:01 cron -rw-------. 1 root root 7577 Jan 10 03:30 cron-20210110 -rw-r--r-- 1 root root 98068 Jan 9 17:47 dmesg -rw-r--r-- 1 root root 94801 Nov 30 17:12 dmesg.old -rw-r-----. 1 root root 0 Oct 27 2019 firewalld -rw-------. 1 root root 1278 Oct 27 2019 grubby -rw-r--r--. 1 root root 489 Oct 27 2019 grubby_prune_debug -rw-r--r--. 1 root root 292292 Jan 11 01:59 lastlog -rw------- 1 root root 0 Jan 10 03:30 maillog -rw-------. 1 root root 2417 Jan 9 18:27 maillog-20210110 -rw------- 1 root root 2642 Jan 11 02:03 messages -rw-------. 1 root root 748999 Jan 10 03:01 messages-20210110 drwxr-xr-x 2 mongod mongod 4096 Jan 9 19:35 mongodb drwxr-xr-x. 2 root root 4096 Oct 27 2019 rhsm |
دستور ls در linux با گزینه a-
دستور ls -a برای لیست کردن فایلهای مخفی در لینوکس بکار میرود که با . یا نقطه شروع میشوند.
حرف a ابتدای کلمه all است که تمامی فایلها و فولدرها را نمایش میدهد.
مثال 4
1 2 3 4 |
[root@static ~]# ls -a . .bash_history .bashrc .dbshell httpd.conf .pki .. .bash_logout .config files.zip Install ReadMe.txt anaconda-ks.cfg .bash_profile .cshrc Help .mongorc.js .tcshrc |
دستور ls در linux با گزینه A-
دستور ls -A همانند دستور ls -a است با این تفاوت که . و .. را در خروجی نمایش نمی دهد.
مثال 5
1 2 3 4 5 6 7 8 |
[root@static ~]# ls -A anaconda-ks.cfg .bash_profile .cshrc Help .lesshst ReadMe.txt .bash_history .bashrc .dbshell httpd.conf .mongorc.js .tcshrc .bash_logout .config files.zip Install .pki [root@static ~]# ls -a . .bash_history .bashrc .dbshell httpd.conf .mongorc.js .tcshrc .. .bash_logout .config files.zip Install .pki anaconda-ks.cfg .bash_profile .cshrc Help .lesshst ReadMe.txt |
دستور ls در linux با گزینه h-
دستور ls -lh برای نمایش و لیست کردن فایلها بصورتی است که خواندن اندازه آنها را برای انسان آسانتر میکند.
h حرف ابتدای human readable است که به معنای قابل خواندن برای انسان است.
مثال 6
در حالت قابل خواندن برای انسان یعنی با گزینه h- اندازه فایل anaconda-ks.cfg برابر 1.5k است.
در صورتی که بدون گزینه h- اندازه فایل anaconda-ks.cfg برابر 1462 است که برای انسان خوانایی کمی دارد.
هر یک kilobyte برابر هزار byte است که بصورت 1k نمایش داده می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@static ~]# ls -lh total 12K -rw-------. 1 root root 1.5K Oct 27 2019 anaconda-ks.cfg -rw-r--r-- 1 root root 0 Jan 11 02:07 files.zip drwxr-xr-x 2 root root 4.0K Jan 11 02:05 Help -rw-r--r-- 1 root root 0 Jan 11 02:06 httpd.conf drwxr-xr-x 2 root root 4.0K Jan 11 02:05 Install -rw-r--r-- 1 root root 0 Jan 11 02:04 ReadMe.txt [root@static ~]# ls -l total 12 -rw-------. 1 root root 1462 Oct 27 2019 anaconda-ks.cfg -rw-r--r-- 1 root root 0 Jan 11 02:07 files.zip drwxr-xr-x 2 root root 4096 Jan 11 02:05 Help -rw-r--r-- 1 root root 0 Jan 11 02:06 httpd.conf drwxr-xr-x 2 root root 4096 Jan 11 02:05 Install -rw-r--r-- 1 root root 0 Jan 11 02:04 ReadMe.txt |
دستور ls در linux با گزینه F-
دستور ls -F در لینوکس در زمان لیست کردن فایلها و فولدرها در انتهای فولدرها یک کاراکتر / اضافه میکند.
مثال 7
1 2 |
[root@static ~]# ls -F anaconda-ks.cfg files.zip Help/ httpd.conf Install/ ReadMe.txt |
دستور ls در linux با گزینه r-
دستور ls -r در لینوکس فایلها وفولدرها را بصورت برعکس مرتب میکند.
مثال 8
دستور ls بصورت پیش فرض فایلها وفولدرها را بر اساس نام مرتب میکند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[root@static ~]# ls -al total 60 dr-xr-x---. 6 root root 4096 Jan 11 02:58 . dr-xr-xr-x. 18 root root 4096 Jan 9 17:47 .. -rw-------. 1 root root 1462 Oct 27 2019 anaconda-ks.cfg -rw-------. 1 root root 1348 Jan 10 19:05 .bash_history -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc drwx------ 3 root root 4096 Oct 27 2019 .config -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc -rw------- 1 root root 10 Jan 9 20:15 .dbshell -rw-r--r-- 1 root root 0 Jan 11 02:07 files.zip drwxr-xr-x 2 root root 4096 Jan 11 02:05 Help -rw-r--r-- 1 root root 0 Jan 11 02:06 httpd.conf drwxr-xr-x 2 root root 4096 Jan 11 02:05 Install -rw------- 1 root root 66 Jan 11 13:12 .lesshst -rw------- 1 root root 0 Jan 9 20:10 .mongorc.js drwxr-----. 3 root root 4096 Oct 27 2019 .pki -rw-r--r-- 1 root root 0 Jan 11 02:04 ReadMe.txt -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc |
مثال 9
دستور ls -lar که r- به آن اضافه شده است در زمان لیست کردن فایل ها بصورت برعکس مرتب میکند.
در تصویر بصورت ls -la -r نوشته شده است تا متوجه r- شوید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[root@static ~]# ls -al -r total 60 -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc -rw-r--r-- 1 root root 0 Jan 11 02:04 ReadMe.txt drwxr-----. 3 root root 4096 Oct 27 2019 .pki -rw------- 1 root root 0 Jan 9 20:10 .mongorc.js -rw------- 1 root root 66 Jan 11 13:12 .lesshst drwxr-xr-x 2 root root 4096 Jan 11 02:05 Install -rw-r--r-- 1 root root 0 Jan 11 02:06 httpd.conf drwxr-xr-x 2 root root 4096 Jan 11 02:05 Help -rw-r--r-- 1 root root 0 Jan 11 02:07 files.zip -rw------- 1 root root 10 Jan 9 20:15 .dbshell -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc drwx------ 3 root root 4096 Oct 27 2019 .config -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-------. 1 root root 1348 Jan 10 19:05 .bash_history -rw-------. 1 root root 1462 Oct 27 2019 anaconda-ks.cfg dr-xr-xr-x. 18 root root 4096 Jan 9 17:47 .. dr-xr-x---. 6 root root 4096 Jan 11 02:58 . |
دستور ls در linux با گزینه R-
دستور ls -R در لینوکس برای لیست کردن فولدرها بصورت درختی استفاده می شود.
مثال 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[root@static log]# ls -R .: anaconda firewalld rhsm vmware-network.3.log audit grubby secure vmware-network.4.log boot.log grubby_prune_debug secure-20210110 vmware-network.5.log boot.log-20210110 lastlog spooler vmware-network.6.log btmp maillog spooler-20210110 vmware-network.log cron maillog-20210110 tallylog vmware-vgauthsvc.log.0 cron-20210110 messages tuned vmware-vmsvc.log dmesg messages-20210110 vmware-network.1.log wtmp dmesg.old mongodb vmware-network.2.log yum.log ./anaconda: anaconda.log journal.log packaging.log storage.log X.log ifcfg.log ks-script-adiWs_.log program.log syslog ./audit: audit.log audit.log.1 audit.log.2 audit.log.3 audit.log.4 ./mongodb: mongod.log ./rhsm: ./tuned: tuned.log |
دستور ls در linux با گزینه full-time–
دستور ls –full-time در لینوکس همانند ls -l است با این تفاوت که زمان و تاریخ را بصورت کامل نمایش میدهد.
مثال 11
1 2 3 4 5 6 7 8 |
[root@static ~]# ls --full-time total 12 -rw-------. 1 root root 1462 2019-10-27 19:03:26.344472620 +0330 anaconda-ks.cfg -rw-r--r-- 1 root root 0 2021-01-11 02:07:11.327549565 +0330 files.zip drwxr-xr-x 2 root root 4096 2021-01-11 02:05:59.664546148 +0330 Help -rw-r--r-- 1 root root 0 2021-01-11 02:06:32.588547718 +0330 httpd.conf drwxr-xr-x 2 root root 4096 2021-01-11 02:05:30.126544739 +0330 Install -rw-r--r-- 1 root root 0 2021-01-11 02:04:54.133543023 +0330 ReadMe.txt |
دستور ls در linux با گزینه time-style–
برای گزینه time-style– می توانید از مقادیری مختلفی استفاده کنید:
1 2 3 4 5 |
full-iso long-iso iso locale +%H:%M:%S:%D |
مثال 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[root@static log]# ls -l --time-style=long-iso total 32680 drwxr-xr-x. 2 root root 4096 2019-10-27 19:03 anaconda drwx------. 2 root root 4096 2021-01-11 10:59 audit -rw-------. 1 root root 0 2021-01-10 03:30 boot.log -rw------- 1 root root 70261 2021-01-10 03:30 boot.log-20210110 -rw-------. 1 root utmp 16347648 2021-01-11 15:26 btmp -rw------- 1 root root 9762 2021-01-11 15:01 cron -rw-------. 1 root root 7577 2021-01-10 03:30 cron-20210110 -rw-r--r-- 1 root root 98068 2021-01-09 17:47 dmesg -rw-r--r-- 1 root root 94801 2020-11-30 17:12 dmesg.old -rw-r-----. 1 root root 0 2019-10-27 19:15 firewalld -rw-------. 1 root root 1278 2019-10-27 20:24 grubby -rw-r--r--. 1 root root 489 2019-10-27 20:24 grubby_prune_debug -rw-r--r--. 1 root root 292292 2021-01-11 12:57 lastlog -rw------- 1 root root 0 2021-01-10 03:30 maillog -rw-------. 1 root root 2417 2021-01-09 18:27 maillog-20210110 -rw------- 1 root root 3873 2021-01-11 15:01 messages -rw-------. 1 root root 748999 2021-01-10 03:01 messages-20210110 drwxr-xr-x 2 mongod mongod 4096 2021-01-09 19:35 mongodb drwxr-xr-x. 2 root root 4096 2019-10-27 19:03 rhsm -rw------- 1 root root 12492011 2021-01-11 15:26 secure |
دستور ls در linux با گزینه t-
دستور ls -t در لینوکس فایلها و فولدرها را بر اساس زمان اصلاح بصورت نزولی مرتب می کند.
مثال 13
در دستور تصویر زیر از گزینه های l- و time-style– در کنار t- استفاده است تا کاربرد t- را کامل مواجه شوید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
[root@static log]# ls -l --time-style=long-iso -t total 34824 -rw------- 1 root root 13543212 2021-01-11 19:07 secure -rw-------. 1 root utmp 17482368 2021-01-11 19:07 btmp -rw-r--r--. 1 root root 292292 2021-01-11 19:05 lastlog -rw-rw-r--. 1 root utmp 24576 2021-01-11 19:05 wtmp -rw------- 1 root root 10686 2021-01-11 19:01 cron -rw------- 1 root root 4469 2021-01-11 19:01 messages drwx------. 2 root root 4096 2021-01-11 15:57 audit -rw-------. 1 root root 0 2021-01-10 03:30 boot.log -rw------- 1 root root 0 2021-01-10 03:30 maillog -rw------- 1 root root 0 2021-01-10 03:30 spooler -rw------- 1 root root 70261 2021-01-10 03:30 boot.log-20210110 -rw-------. 1 root root 7577 2021-01-10 03:30 cron-20210110 -rw-------. 1 root root 3383696 2021-01-10 03:30 secure-20210110 -rw-------. 1 root root 748999 2021-01-10 03:01 messages-20210110 -rw-------. 1 root root 11261 2021-01-09 19:35 yum.log drwxr-xr-x 2 mongod mongod 4096 2021-01-09 19:35 mongodb -rw-------. 1 root root 64064 2021-01-09 19:35 tallylog -rw-------. 1 root root 2417 2021-01-09 18:27 maillog-20210110 -rw-r--r-- 1 root root 11171 2021-01-09 17:47 vmware-vmsvc.log -rw------- 1 root root 723 2021-01-09 17:47 vmware-network.log -rw------- 1 root root 10220 2021-01-09 17:47 vmware-vgauthsvc.log.0 -rw-r--r-- 1 root root 98068 2021-01-09 17:47 dmesg -rw------- 1 root root 727 2020-11-30 17:12 vmware-network.1.log -rw-r--r-- 1 root root 94801 2020-11-30 17:12 dmesg.old -rw------- 1 root root 727 2020-11-30 17:03 vmware-network.2.log -rw------- 1 root root 723 2019-11-02 13:52 vmware-network.3.log |
مثال 14
برای مرتب کردن برعکس بر اساس زمان اصلاح بصورت صعودی از r- در کنار t- استفاده شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@static log]# ls -l --time-style=long-iso -t -r total 34940 drwxr-xr-x. 2 root root 4096 2019-09-13 22:46 tuned -rw-------. 1 root root 0 2019-10-27 19:00 spooler-20210110 drwxr-xr-x. 2 root root 4096 2019-10-27 19:03 anaconda drwxr-xr-x. 2 root root 4096 2019-10-27 19:03 rhsm -rw-r-----. 1 root root 0 2019-10-27 19:15 firewalld -rw-r--r--. 1 root root 489 2019-10-27 20:24 grubby_prune_debug -rw-------. 1 root root 1278 2019-10-27 20:24 grubby -rw------- 1 root root 727 2019-10-27 20:34 vmware-network.6.log -rw------- 1 root root 727 2019-10-27 20:46 vmware-network.5.log -rw------- 1 root root 0 2019-10-30 23:27 vmware-network.4.log -rw------- 1 root root 723 2019-11-02 13:52 vmware-network.3.log -rw------- 1 root root 727 2020-11-30 17:03 vmware-network.2.log -rw-r--r-- 1 root root 94801 2020-11-30 17:12 dmesg.old -rw------- 1 root root 727 2020-11-30 17:12 vmware-network.1.log -rw-r--r-- 1 root root 98068 2021-01-09 17:47 dmesg |
دستور ls در linux با گزینه S-
دستور ls -S در لینوکس برای لیست و مرتب کردن فایلها و فولدرها بر اساس اندازه میباشد.
با دستور ls امکان مشاهده اندازه داخل فولدر نیست و اندازه همه فولدرها را 4096 بایت یا 4k نمایش میدهد.
مثال 15
دستور ls در linux با گزینه i-
دستور ls -i در لینوکس برای نمایش شماره inode فایلها و دایرکتوری ها استفاده می شود.
مثال 16
در تصویر شماره inode با رنگ زرد مشخص شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@static log]# ls -i 33373 anaconda 11339 lastlog 25622 tuned 25753 audit 26938 maillog 26823 vmware-network.1.log 100 boot.log 22562 maillog-20210110 400 vmware-network.2.log 26936 boot.log-20210110 26939 messages 4414 vmware-network.3.log 12389 btmp 22560 messages-20210110 126 vmware-network.4.log 26937 cron 131268 mongodb 206 vmware-network.5.log 122 cron-20210110 33374 rhsm 152 vmware-network.6.log 120 dmesg 26940 secure 26887 vmware-network.log 121 dmesg.old 22561 secure-20210110 106 vmware-vgauthsvc.log.0 108 firewalld 26941 spooler 153 vmware-vmsvc.log 28932 grubby 22563 spooler-20210110 12388 wtmp 9377 grubby_prune_debug 5674 tallylog 155 yum.log |
دستور ls در linux برای لیست کردن محتوای یک فولدر مشخص
با دستور ls -la directory برای لیست کردن فایلها و فولدرهای داخل یک فولدر مشخص استفاده میشود. در اینجا directory در واقع مسیر دسترسی به یک فولدر است.
مثال 17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@static ~]# ls -la /var/log/ total 36612 drwxr-xr-x. 7 root root 4096 Jan 10 03:30 . drwxr-xr-x. 19 root root 4096 Oct 27 2019 .. drwxr-xr-x. 2 root root 4096 Oct 27 2019 anaconda drwx------. 2 root root 4096 Jan 11 20:20 audit -rw-------. 1 root root 0 Jan 10 03:30 boot.log -rw------- 1 root root 70261 Jan 10 03:30 boot.log-20210110 -rw-------. 1 root utmp 18443520 Jan 11 20:30 btmp -rw------- 1 root root 10917 Jan 11 20:01 cron -rw-------. 1 root root 7577 Jan 10 03:30 cron-20210110 -rw-r--r-- 1 root root 98068 Jan 9 17:47 dmesg -rw-r--r-- 1 root root 94801 Nov 30 17:12 dmesg.old -rw-r-----. 1 root root 0 Oct 27 2019 firewalld |
دستور ls در linux با گزینه d-
با دستور ls -ld در لینوکس برای مشاهده جزئیات یک فولدر استفاده میشود.
مثال 18
1 2 |
[root@static ~]# ls -l -d /var/log/ drwxr-xr-x. 7 root root 4096 Jan 10 03:30 /var/log/ |
دستور ls در linux با گزینه n-
با دستور ls -n در لینوکس میتوان UID و GID فایلها و فولدرها را مشاهده کرد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@static lib]# ls -n total 92 drwxr-xr-x. 2 0 0 4096 Oct 27 2019 alternatives drwx------. 3 0 0 4096 Oct 27 2019 authconfig drwxr-xr-x. 2 0 0 4096 Mar 14 2019 dbus drwxr-xr-x. 2 0 0 4096 Aug 9 2019 dhclient drwxr-xr-x. 2 0 0 4096 Apr 11 2018 games drwxr-xr-x. 2 0 0 4096 Aug 9 2019 initramfs drwxr-xr-x. 2 0 0 4096 Jan 11 03:11 logrotate drwx------. 2 0 0 4096 Oct 27 2019 machines drwxr-xr-x. 2 0 0 4096 Oct 27 2019 misc drwxr-xr-x 4 998 996 4096 Jan 9 19:49 mongo drwx------. 2 0 0 4096 Jan 9 17:47 NetworkManager drwxr-xr-x. 2 0 0 4096 Nov 6 2016 os-prober drwxr-xr-x. 2 0 0 4096 Aug 8 2019 plymouth drwxr-x---. 3 0 998 4096 Oct 27 2019 polkit-1 drwx------. 2 89 0 4096 Oct 27 2019 postfix |
دستور ls در linux با گزینه b-
با دستور ls -b یک کاراکتر escape که \ می باشد قبل از کاراکتر غیرگرافیکی نمایش داده میشود.
مثال 19
فولدری با نام dir ectory وجود دارد که در نام آن کاراکتر فاصله وجود دارد و برای نمایش آن بصورت گرافیکی از گزینه b- استفاده شده است.
1 2 3 4 |
[root@static ~]# ls -b anaconda-ks.cfg dir\ ectory files.zip Help httpd.conf Install ReadMe.txt [root@static ~]# ls anaconda-ks.cfg dir ectory files.zip Help httpd.conf Install ReadMe.txt |
دستور ls در linux با گزینه c-
دستور ls -c با گزینه l- برای نمایش زمان و تاریخ تغییر فایل یا فولدر در اصطلاح ctime استفاده میشود.
حرف c مربوط به حرف اول کلمه Change است و اصطلاح ctime مخفف Change Time است.
ctime فایل یا فولدر زمانی تغییر میکند که metadata آن مثل مالک، گروه یا پرمیژن آن تغییر کند.
مثال 20
با دستور touch فایل جدید ایجاد شد و پرمیژن با آن با دستور chmod تغییر داده شد.
1 2 3 4 5 6 |
[root@static ~]# touch ctime.txt [root@static ~]# ls -lc ctime.txt -rw-r--r-- 1 root root 0 Jan 12 19:49 ctime.txt [root@static ~]# chmod 666 ctime.txt [root@static ~]# ls -lc ctime.txt -rw-rw-rw- 1 root root 0 Jan 12 19:51 ctime.txt |
دستور ls -l برای نمایش زمان و تاریخ تغییر فایلها یا فولدر در اصطلاح mtime استفاده میشود.
حرف m مربوط به حرف اول کلمه Modify است و اصطلاح mtime مخفف Mhange Time است.
mtime فایل زمانی تغییر میکند که محتوای فایل تغییر میکند که میتواند توسط کاربر باشد یا توسط یک process.
مثال 21
یک فایل با دستور touch ایجاد و با دستور echo متنی داخل آن قرار داده شد.
1 2 3 4 5 6 7 8 9 |
[root@static ~]# touch mtime.txt [root@static ~]# ls -l mtime.txt -rw-r--r-- 1 root root 5 Jan 12 19:18 mtime.txt [root@static ~]# cat mtime.txt [root@static ~]# echo test >> mtime.txt [root@static ~]# cat mtime.txt test [root@static ~]# ls -l mtime.txt -rw-r--r-- 1 root root 5 Jan 12 19:19 mtime.txt |
mtime فولدر زمانی تغییر میکند که فایل یا فولدری داخل آن فولدر اضافه شود که میتواند توسط کاربر باشد یا توسط یک process.
مثال 22
با دستور mkdir یک فولدر جدید ایجاد و با دستور touch یک فایل داخل فولدر اضافه شد.
1 2 3 4 5 6 |
[root@static ~]# mkdir mtime [root@static ~]# ls -ld mtime drwxr-xr-x 2 root root 4096 Jan 12 19:27 mtime [root@static ~]# touch mtime/file.txt [root@static ~]# ls -ld mtime drwxr-xr-x 2 root root 4096 Jan 12 19:28 mtime |
دستور ls در لینوکس با گزینه u-
دستور ls -u با گزینه l- برای نمایش زمان و تاریخ خوانده شدن فایلها یا وارد شدن به فولدر در اصطلاح atime استفاده میشود.
حرف u احتمالا مربوط به حرف اول کلمه use است و اصطلاح atime مخفف Acess Time است.
atime فایل زمانی تغییر میکند که فایل خوانده شود که میتواند توسط کاربر باشد یا توسط یک process.
مثال 23
با touch یک فایل ایجاد و با echo محتوا در آن کپی و با دستور cat محتوا خوانده شد.
1 2 3 4 5 6 7 8 |
[root@static ~]# touch atime.txt [root@static ~]# ls -lu atime.txt -rw-r--r-- 1 root root 0 Jan 13 02:28 atime.txt [root@static ~]# echo test > atime.txt [root@static ~]# cat atime.txt test [root@static ~]# ls -lu atime.txt -rw-r--r-- 1 root root 5 Jan 13 02:30 atime.txt |
atime فولدر زمانی تغییر میکند که داخل فولدر خوانده شود که میتواند توسط کاربر باشد یا توسط یک process.
مثال 24
با mkdir یک فولدر ایجاد و با ls -la محتوای داخل فولدر لیست شد که به عبارتی خوانده شده است.
1 2 3 4 5 6 7 8 9 |
[root@static ~]# mkdir atime [root@static ~]# ls -ldu atime drwxr-xr-x 2 root root 4096 Jan 13 02:39 atime [root@static ~]# ls -la atime total 8 drwxr-xr-x 2 root root 4096 Jan 13 02:39 . dr-xr-x---. 9 root root 4096 Jan 13 02:39 .. [root@static ~]# ls -ldu atime drwxr-xr-x 2 root root 4096 Jan 13 02:40 atime |
با دستور stat در لینوکس امکان مشاهده همزمان atime و mtime و ctime وجود دارد.
مثال 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
[root@static ~]# touch stat.txt [root@static ~]# stat stat.txt File: ‘stat.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 26950 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-01-13 02:45:45.945899680 +0330 Modify: 2021-01-13 02:45:45.945899680 +0330 Change: 2021-01-13 02:45:45.945899680 +0330 Birth: - [root@static ~]# date Wed Jan 13 02:46:59 +0330 2021 [root@static ~]# echo test > stat.txt [root@static ~]# stat stat.txt File: ‘stat.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 26950 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-01-13 02:45:45.945899680 +0330 Modify: 2021-01-13 02:47:13.581903859 +0330 Change: 2021-01-13 02:47:13.581903859 +0330 Birth: - [root@static ~]# cat stat.txt test [root@static ~]# stat stat.txt File: ‘stat.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 26950 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-01-13 02:47:50.404905615 +0330 Modify: 2021-01-13 02:47:13.581903859 +0330 Change: 2021-01-13 02:47:13.581903859 +0330 Birth: - [root@static ~]# chmod 666 stat.txt [root@static ~]# stat stat.txt File: ‘stat.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 26950 Links: 1 Access: (0666/-rw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2021-01-13 02:47:50.404905615 +0330 Modify: 2021-01-13 02:47:13.581903859 +0330 Change: 2021-01-13 02:48:52.813908591 +0330 Birth: - |
دستور ls در لینوکس با گزینه p-
با دستور ls -p در انتهای نام فولدر یک کاراکتر / نمایش میدهد.
مثال 26
1 2 3 4 |
[root@static ~]# ls -p anaconda-ks.cfg ctime.txt f3.tt Help/ mtime/ stat.txt atime/ dir ectory/ files.zip httpd.conf mtime.txt table.txt1 atime.txt f2.txt file.txt Install/ ReadMe.txt |
ترفند: مشاهده تمامی option های دستور ls
جهت مشاهده تمامی گزینه های دستور ls می تواید از دستور man ls استفاده کنید.
1 |
man ls |
مثال 27
خروجی دستور man ls بصورت زیر خواهد بود:
ترفند: استفاده از ls و grep برای لیست کردن فقط فولدرها
مثال 28
دستور اول ls و grep، فقط فولدرها را با جزيیات لیست میکند که شامل فولدرهای مخفی نیز میشود.
1 2 3 4 5 6 7 8 |
[root@static ~]# ls -Al | grep ^d drwxr-xr-x 2 root root 4096 Jan 13 02:39 atime drwx------ 3 root root 4096 Oct 27 2019 .config drwxr-xr-x 2 root root 4096 Jan 12 14:16 dir ectory drwxr-xr-x 2 root root 4096 Jan 11 02:05 Help drwxr-xr-x 2 root root 4096 Jan 11 02:05 Install drwxr-xr-x 2 root root 4096 Jan 12 19:28 mtime drwxr-----. 3 root root 4096 Oct 27 2019 .pki |
مثال 29
دستور دوم ls و grep، فقط فولدرها را با کاراکتر / لیست میکند که شامل فولدرهای مخفی نیز میشود.
ترفند: استفاده از find برای لیست کردن فقط فولدرها
مثال 30
دستور اول، فولدرهای داخل یک فولدر مشخص را نمایش میدهد که شامل فولدرهای مخفی نیز هست.
منظور از . یعنی همین فولدری است که در حال حاضر داخل آن هستیم.
1 2 3 4 5 6 7 8 9 |
[root@static ~]# find . -maxdepth 1 -type d . ./Install ./.pki ./.config ./atime ./Help ./mtime ./dir ectory |
دستور دوم، فولدرها و ساب فولدرهای داخل یک فولدر مشخص را نمایش میدهد که شامل فولدرهای مخفی نیز هست.
ترفند: مشاهده alias های تعریف شده برای دستور ls
با دستور alias در لینوکس میتوان alias یا نام های مستعار تعریف شده را مشاهده کرد.
نامهای مستعار تعریف شده برای ls سه .l وll و ls می باشند که در تصویر مشخص است.
مثال 31
1 2 3 4 5 6 7 8 9 10 11 |
[root@static lib]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' |
ترفند: حذف یا اضافه کردن alias برای دستور ls
به منظور حذف alias تعریف شده می توانید از دستور unalias استفاده کنید.
به منظور اضافه کردن alias می توانید از دستور alias اضافه کنید.
مثال 32
با دستور unalias ls نام مستعار ls حذف میشود. با اجرای ls دیگر خروجی رنگی نیست.
با دستور alias مجدد برای ls همان نام مستعار قبلی اضافه می شود و خروجی دستور ls رنگی میشود.
ترفند: دستور echo برای لیست کردن فایلها و فولدرها
دستور * echo در لینوکس شبیه دستور ls عمل می کند.
مثال 33
1 2 3 4 5 |
[root@static ~]# echo * anaconda-ks.cfg atime atime.txt ctime.txt dir ectory files.zip Help httpd.conf Install mtime mtime.txt ReadMe.txt stat.txt table.txt1 [root@static ~]# ls anaconda-ks.cfg atime.txt dir ectory Help Install mtime.txt stat.txt atime ctime.txt files.zip httpd.conf mtime ReadMe.txt table.txt1 |
دستور echo در لینوکس برای نمایش فایلها و فولدرهای مخفی
فایلها مخفی در لینوکس با نقطه یعنی . شروع می شوند و امکان مشاهده انها با دستور echo نیز وجود دارد.
مثال 34
1 2 |
[root@static ~]# echo .* . .. .bash_history .bash_logout .bash_profile .bashrc .config .cshrc .dbshell .lesshst .mongorc.js .pki .tcshrc |
سخن پایانی
برچسبها: command, command line, gnu/linux, linux, آموزش لینوکس, ترفند لینوکس, لینوکس