# 【Linux高頻命令專題(9)】ls與目錄結構
標簽(空格分隔): Linux
---
ls命令是linux下最常用的命令。ls命令就是list的縮寫缺省下ls用來打印出當前目錄的清單如果ls指定其他目錄那么就會顯示指定目錄里的文件及文件夾清單。 通過ls 命令不僅可以查看linux文件夾包含的文件而且可以查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等。ls 命令在日常的linux操作中用的很多!
## 常用參數
-a:顯示所有文件,包括隱藏文件(以.開頭的文件)
-l:列出文件詳細信息如屬性與權限信息 可用別名命令 ll
-t:按修改時間先后顯示
-R:顯示目錄及下級子目錄結構(遞歸)
-m: 橫向輸出文件名,并以“,”作分格符。
-S: 以文件大小排序。
## 常用范例
```
# 按文件修改時間 從新到舊
[root@localhost ~]# ls -lt
total 58200
-rw-r--r-- 1 root root 448 Sep 4 14:33 test
drwxr-xr-x 3 root root 20 Aug 29 18:52 home
drwxr-xr-x 2 root root 97 Aug 26 20:21 crond
-rw-r--r-- 1 root root 57 Aug 25 12:50 sort.txt
```
第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫“-”表示,則表示這是文件。其余剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的權限,其文件的權限位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的權限是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。
第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是目錄的話,那它的數目就是該目錄中的文件個數了。
第三個欄位,表示該文件或目錄的擁有者。若使用者目前處于自己的Home,那這一欄大概都是它的賬號名稱。
第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬于一個組,只有當系統管理員希望給予某使用者特殊權限時,才可能會給他另一個組。
第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb萊顯示一個文件的大小單位,不過一般我們還是以byte為主。
第六個欄位,表示創建日期。以“月,日,時間”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
```
# 支持通配符
ls -l *.txt
# 有微秒的顯示文件
ls -l --full-time
# 連文件的id都顯示出來
ls -li
# 以容易識別的單位顯示如GB/MB/KB
ls -lh
# 按文件大小排序 從大到小
ls -lSh
# 按文件大小排序 從小到大
ls -lShr
ls -lc filename # 列出文件的 ctime (ls -l --time=ctime)
ls -lu filename # 列出文件的 atime (ls -l --time=atime)
ls -l filename # 列出文件的 mtime (ls -l --time=mtime)
```
- Apache
- 【Apache運維基礎(1)】Apache的安裝與使用
- 【Apache運維基礎(2)】主配置文件說明
- 【Apache運維基礎(3)】虛擬主機配置說明
- 【Apache運維基礎(4)】Apache的Rewrite攻略(1)
- 【Apache運維基礎(5)】Apache的Rewrite攻略(2).htaccess文件
- 【Apache運維基礎(6)】Apache的日志管理與分析
- 工具篇
- supervisor進程管理器
- Haproxy安裝與配置
- Nginx
- 【nginx網站性能優化篇(1)】gzip壓縮與expire瀏覽器緩存
- 【nginx網站性能優化篇(2)】反向代理實現Apache與Nginx的動靜分離(LNMPA)
- 【nginx網站性能優化篇(3)】反向代理實現負載均衡
- 【nginx網站性能優化篇(4)】理解nginx的高并發原理及其配置調優
- 【nginx運維基礎(1)】Nginx的編譯安裝與使用
- 【nginx運維基礎(2)】Nginx的配置文件說明及虛擬主機配置示例
- 【nginx運維基礎(3)】Nginx的編譯PHP
- 【nginx運維基礎(4)】Nginx的日志管理(日志格式與定時分割日志)
- 【nginx運維基礎(5)】Nginx的location攻略
- 【nginx運維基礎(6)】Nginx的Rewrite語法詳解
- 【nginx運維基礎(7)】配置SSL支持https訪問
- 【nginx運維基礎(8)】配置支持http2協議
- 【nginx運維基礎(9)】了解PHP-FPM 與 Nginx 的通信機制
- 其它
- Apache與Nginx下php隱藏http頭部版本信息的實現方法
- CURL與PHP-CLI的應用【CLI篇】
- CURL與PHP-CLI的應用【Curl篇】
- Linux之SAMBA共享服務
- 【Linux常識篇(1)】所謂的正向代理與反向代理
- 【Linux常識篇(2)】理解inode
- 【Linux常識篇(3)】文件及文件夾的ctime atime mtime的含義詳解
- centOS使用手記
- 服務器日志分析
- 高頻命令
- df
- mv
- gzip
- cp
- tar
- touch
- cat
- uniq
- nl
- more
- rmdir
- less
- mkdir
- head
- rm
- tail
- 五大查詢命令
- vi&vim
- ls與目錄結構
- grep
- awk
- sed
- 其他高頻命令