ls: 显示目下的内容及相关属性信息
ls: 顯示目下的內容及相關屬性信息
【功能說明】
ls 命令可以理解為英文單詞 “l(fā)ist” 的縮寫,其功能是列出目錄的內容及其內容屬性信息(list directory contents)。該命令有點類似于DOS系統(tǒng)下的dir命令,有趣的是,Linux下其實也有dir命令,但是我們更習慣于使用ls命令。
【語法格式】
1 ls [option] [file] 2 ls 【選項】 【文件或者目錄】提示說明:
1) ls命令以及后面的選項和文件,每個元素之間都要至少要有一個空格。
2) 命令后面的選項和目錄文件可以省略,表示查看當前路徑的文件信息
【命令參數(shù)說明】
| 參數(shù)選項 | 解釋說明 |
| -l | 使用長格式列出文件及目錄信息 |
| -a | 顯示目錄下的所有文件,包括以 “.” 字符開始的隱藏文件 |
| -t | 根據(jù)最后的修改時間(mtime)排序,默認是以文件名排序 |
| -r | 依相反次序排序 |
| -F | 在條目后加文件類型的指示符號(*、/、=、@、|,其中的一個) |
| -P | 只在目錄后面加上 “/” |
| -i | 顯示文件或目錄的inode節(jié)點信息 |
| -d | 當遇到目錄時,列出目錄本身而非目錄內的文件,并且不跟隨符號鏈接 |
| -h | 以人類可讀的信息顯示文件或目錄大小,如1kb、1M、1G等顯示格式 |
| -S | 根據(jù)文件大小排序 |
| -R | 遞歸列出所有子目錄 |
| -x | 逐行列出項目而不是逐欄列出 |
| -X | 根據(jù)擴展名排序 |
| -c | 根據(jù)狀態(tài)改變時間(ctime)排序 |
| -u | 根據(jù)最后訪問時間(atime)排序 |
| --color={never,always,auto} | 不同的文件類型顯示不同的顏色參數(shù),never表示不顯示,always表示總是顯示,auto表示自動顯示 |
| --full-time | 以完整的時間格式輸出 |
| --time-style={full-iso,long-ios,ios,locale} | 以不同的時間格式輸出,long-iso效果最好 |
| --time={atime,ctime} | 按不同的時間屬性輸出,atime表示按訪問時間,ctime表示按改變權限屬性時間,如果不加此參數(shù)則默認認為最后的修改時間。 |
| ? | ? |
【使用范例】
? ? ?在開始范例講解之前,需要先做一些準備,順便整合一下前面使用的命令。
1 [root@test-1 ansible]# mkdir -p /test 2 [root@test-1 ansible]# cd /test/ 3 [root@test-1 test]# touch file{1..5}.txt 4 [root@test-1 test]# mkdir -p dir{1..5} 5 [root@test-1 test]# tree 6 . 7 ├── dir1 8 ├── dir2 9 ├── dir3 10 ├── dir4 11 ├── dir5 12 ├── file1.txt 13 ├── file2.txt 14 ├── file3.txt 15 ├── file4.txt 16 └── file5.txt 17 18 5 directories, 5 files1.基礎范例
1.1 案例1:直接指向ls命令,不帶任何參數(shù)。
1 [root@test-1 test]# ls 2 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt1.2 案例2:使用-a參數(shù)顯示所有文件,特別是隱藏文件。
1 [root@test-1 test]# touch .file6.txt #在創(chuàng)建一個隱藏文件,在linux系統(tǒng)中“.”(點號)開頭的文件就是隱藏文件 2 [root@test-1 test]# ls 3 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt 4 [root@test-1 test]# ls -a 5 . .. dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt .file6.txt 6 #提示: 7 #加了-a參數(shù),就會把以“.”(點號)開頭的內容顯示出來了,這里顯示的第一個點號,表示當前目錄,即test目錄本身,而兩個點號則表示當前目錄的上級目錄,此處就代表根目錄了。有關一個點、兩個點的知識,在后面的ln命令中會有詳細講解 8 [root@test-1 test]# ls -A #列出所有文件,包括隱藏文件,但不包括 “.” 與 “..”這兩個目錄 9 dir1 dir2 dir3 dir4 dir5 file1.txt file2.txt file3.txt file4.txt file5.txt .file6.txt1.3 案例3:使用-l參數(shù)顯示詳細信息
[root@test-1 test]# ls -l #此處的時間屬性列默認顯示的是文件的最后一次修改時間 total 0 drwxr-xr-x 2 root root 6 Sep 21 07:06 dir1 drwxr-xr-x 2 root root 6 Sep 21 07:06 dir2 drwxr-xr-x 2 root root 6 Sep 21 07:06 dir3 drwxr-xr-x 2 root root 6 Sep 21 07:06 dir4 drwxr-xr-x 2 root root 6 Sep 21 07:06 dir5 -rw-r--r-- 1 root root 0 Sep 21 07:06 file1.txt -rw-r--r-- 1 root root 0 Sep 21 07:06 file2.txt -rw-r--r-- 1 root root 0 Sep 21 07:06 file3.txt -rw-r--r-- 1 root root 0 Sep 21 07:06 file4.txt -rw-r--r-- 1 root root 0 Sep 21 07:06 file5.txt #提示:#說明:這個-l參數(shù)是最常用的參數(shù)了,意思是用長格式列出目錄下的文件類型、權限、連接數(shù)、屬主、屬組及創(chuàng)建修改時間的信息。這里每個列的屬性含義都需要熟練掌握,后文會詳細說明這些屬性信息可能有人已經(jīng)注意到了,創(chuàng)建或修改時間的格式?jīng)]有年份的信息,那么如何顯示時間全部信息呢,請看案例4
1.4 案例4:顯示完整時間屬性的參數(shù) --time-style=long-iso
1 [root@test-1 test]# ls -l --time-style=long-iso #以long-iso方式顯示時間 2 total 0 3 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1 4 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2 5 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3 6 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4 7 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5 8 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file1.txt 9 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt 10 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt 11 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt 12 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt 13 14 #提示:這樣的時間格式看起來是不是總讓人感到心情舒暢呢,關于--time-style的其他可選參數(shù),請大家自行測試對于上面的命令,說明如下:
1)--time-style 可選的參數(shù)值有如下幾個,如full-iso、long-iso、iso、locale。默認值是locale
2)在生產(chǎn)場景中經(jīng)常會遇到同一個目錄下的文件及目錄時間的顯示不一致的問題,所以需要使用 ls -l --time-style=long-iso 來調整,如果覺得參數(shù)太多不好記,則可以設置一個別名管理,見后文的alias命令
3)值得一提的是,執(zhí)行l(wèi)s -l等命令時,默認顯示的是文件最后一次的修改時間(如果是新文件那么就是創(chuàng)建時間了)
4)ls --full-time用于顯示完整時間,等同于ls -l --time-style=full-iso
既然ls -l輸出結果的時間屬性列為修改時間,那么能否改成其他的時間,例如:顯示最后一次文件訪問時間,這當然也是可以的,具體請參考案例5
1.5 案例5:執(zhí)行l(wèi)s命令,帶顯示內容的訪問時間屬性的參數(shù)
1 [root@test-1 test]# stat file1.txt #顯示文件的屬性及狀態(tài)信息, 2 File: ‘file1.txt’ 3 Size: 0 Blocks: 0 IO Block: 4096 regular empty file 4 Device: fd00h/64768d Inode: 100825163 Links: 1 5 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 6 Access: 2019-09-21 07:06:01.923683869 -0400 #這里就是文件的訪問時間,是我們現(xiàn)在需要關注的 7 Modify: 2019-09-21 07:06:01.923683869 -0400 8 Change: 2019-09-21 07:06:01.923683869 -0400 9 Birth: - 10 [root@test-1 test]# date #查看當前系統(tǒng)時間 11 Sat Sep 21 07:51:47 EDT 2019 12 [root@test-1 test]# cat file1.txt #查看文件內容即表示訪問了文件, 13 [root@test-1 test]# stat file1.txt #重新查看文件的訪問時間 14 File: ‘file1.txt’ 15 Size: 0 Blocks: 0 IO Block: 4096 regular empty file 16 Device: fd00h/64768d Inode: 100825163 Links: 1 17 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) 18 Access: 2019-09-21 07:52:12.945530547 -0400 #可以發(fā)現(xiàn)file1.txt的訪問時間已經(jīng)發(fā)生了變化 19 Modify: 2019-09-21 07:06:01.923683869 -0400 20 Change: 2019-09-21 07:06:01.923683869 -0400 21 Birth: - 22 [root@test-1 test]# ls -l --time-style=long-iso --time=atime #增加--time=atime參數(shù),顯示訪問時間 23 total 0 24 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1 25 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2 26 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3 27 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4 28 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5 29 -rw-r--r-- 1 root root 0 2019-09-21 07:52 file1.txt #文件的時間列確實發(fā)生了改變,是前面的訪問的時間無疑 30 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt 31 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt 32 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt 33 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt 34 [root@test-1 test]# ls -l --time-style=long-iso 35 total 0 36 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir1 37 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir2 38 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir3 39 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir4 40 drwxr-xr-x 2 root root 6 2019-09-21 07:06 dir5 41 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file1.txt #這里是文件的默認修改時間列 42 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file2.txt 43 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file3.txt 44 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file4.txt 45 -rw-r--r-- 1 root root 0 2019-09-21 07:06 file5.txt提示:通過上面實踐,可以得出結論了,--time=atime顯示的確實是訪問時間,而非默認的修改時間。
對于上的命令,需要說明如下兩點
1)與之相關命令還有l(wèi)s -l --time-style=long-iso --time=ctime,用于顯示文件改變的時間
2)有關文件時間列及mtime、atime、ctime的知識,touch命令時已經(jīng)寫出來了
1.6 案例6:執(zhí)行l(wèi)s 命令,帶 -F參數(shù)(這一點和tree命令有點類似)
1 [root@test-1 test]# ls -F # -F 我們可以清晰的看到所有的目錄的結尾都被加上了斜線 "/" 2 dir1/ dir2/ dir3/ dir4/ dir5/ file1.txt file2.txt file3.txt file4.txt file5.txt 3 [root@test-1 test]# ls -F |grep / #過濾目錄 4 dir1/ 5 dir2/ 6 dir3/ 7 dir4/ 8 dir5/ 9 [root@test-1 test]# ls -F |grep -v / #排除所有目錄,過濾出文件 10 file1.txt 11 file2.txt 12 file3.txt 13 file4.txt 14 file5.txt?
轉載于:https://www.cnblogs.com/scajy/p/11563055.html
總結
以上是生活随笔為你收集整理的ls: 显示目下的内容及相关属性信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应用软件,操作系统,CPU的关系
- 下一篇: echarts 图表无数据/空数据 展示