linux命令—ls

linux命令—ls

命令簡介

ls(List Files)是 linux 中最基礎且高頻使用的命令之一,用于列出目錄內容。無論是查看文件、檢查權限還是分析磁盤空間,ls 都是不可或缺的工具

用法ls命令的語法格式如下代碼語言:JavaScript代碼運行次數:0運行復制

ls [選項] [目錄/文件]#不添加參數時:默認列出當前目錄的非隱藏文件#添加目錄路徑:顯示目標目錄內容#添加文件路徑:顯示該文件信息(若存在)

ls命令的常用選項及說明如下

選項

說明

-l,–format=long, –format=verbose

長格式顯示詳細信息。輸出的信息從左到右依次包括文件名、文件類型、權限、硬鏈接數、所有者名、組名、大小(byte)、及時間信息(如未指明是其它時間即指修改時間)

-a,–all

顯示所有文件和目錄,包括以點(.)開頭的隱藏文件

-h, –human-readable

與 -l 和 -s 一起,以易于閱讀的格式輸出文件大小(例如 1K 234M 2G等)

-d, –Directory

當遇到目錄時列出目錄本身而非目錄內的文件

-t,–sort=time

按修改時間排序,最新的最前

-r, –reverse

逆序排列

-S, –sort=size

按文件大小而不是字典序排序目錄內容,大文件靠前

-R, –recursive

遞歸列出全部目錄的內容

-i, –inode

顯示每個文件的索引編號(inode號)

命令案例場景1.基礎文件查看代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -l #ls -l #命令等效于部分Linux發行版中的ll別名drwxr-xr-x. 2 root root           6  5月 29 22:07 下載drwxr-xr-x. 2 root root           6  5月 29 22:07 桌面-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfg-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso字段解析  第一列:文件類型(-普通文件,d目錄)及權限  第二列:硬鏈接數  第三列:所有者  第四列:所屬組  第五列:文件大小(字節)  第六列:文件的創建日期或者是最近的修改日期  第七列:文件或目錄的名稱

2.以易讀的格式輸出文件目錄大小代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -lhdrwxr-xr-x. 2 root root    6  5月 29 22:07 下載drwxr-xr-x. 2 root root    6  5月 29 22:07 桌面-rw-------. 1 root root 1.5K  5月 29 21:30 anaconda-ks.cfg-rw-r--r--. 1 root root  12G  6月 14 14:46 rhel-9.6-x86_64-dvd.iso#-h參數將字節自動轉換為K/M/G單位,提升可讀性

3.按時間排序文件代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -lt #按修改時間倒序(最新在最前)-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.isodrwxr-xr-x. 2 root root           6  5月 29 22:07 下載drwxr-xr-x. 2 root root           6  5月 29 22:07 桌面-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfg[root@blog ~]# ls -ltr #按修改時間正序(最舊在最前)-rw-------. 1 root root        1505  5月 29 21:30 anaconda-ks.cfgdrwxr-xr-x. 2 root root           6  5月 29 22:07 桌面drwxr-xr-x. 2 root root           6  5月 29 22:07 下載-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso#按修改時間倒序排列,最近修改的文件排在最前,配合-r可實現升序排列

4.查看隱藏文件代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -la #顯示包括.bashrc、.ssh等配置文件在內的所有隱藏文件,和普通文件及目錄總用量 12462572dr-xr-x---. 14 root root        4096  6月 14 14:44 .dr-xr-xr-x. 18 root root         235  5月 29 21:25 ..drwxr-xr-x.  2 root root           6  5月 29 22:07 下載drwxr-xr-x.  2 root root           6  5月 29 22:07 桌面-rw-------.  1 root root        1505  5月 29 21:30 anaconda-ks.cfg-rw-------.  1 root root         102  5月 30 12:03 .bash_history-rw-r--r--.  1 root root          18  2月 12 22:29 .bash_logout-rw-r--r--.  1 root root         141  2月 12 22:29 .bash_profile-rw-r--r--.  1 root root         429  2月 12 22:29 .bashrc-rw-r--r--.  1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.isodrwx------.  2 root root           6  5月 29 21:25 .ssh#解析:.表示當前目錄,..表示上級目錄

5.磁盤空間分析代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -lSh #按文件大小降序排列,快速定位大文件/目錄-rw-r--r--. 1 root root  12G  6月 14 14:46 rhel-9.6-x86_64-dvd.iso-rw-------. 1 root root 1.5K  5月 29 21:30 anaconda-ks.cfgdrwxr-xr-x. 2 root root    6  5月 29 22:07 下載drwxr-xr-x. 2 root root    6  5月 29 22:07 桌面

6.遞歸目錄遍歷代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -lR /etc/NetworkManager/ #遞歸顯示目錄及其所有子目錄中的文件總用量 4drwxr-xr-x. 2 root root    6  3月  3 22:10 conf.ddrwxr-xr-x. 5 root root   57  5月 29 21:25 dispatcher.ddrwxr-xr-x. 2 root root    6  3月  3 22:10 dnsmasq.ddrwxr-xr-x. 2 root root    6  3月  3 22:10 dnsmasq-shared.d-rw-r--r--. 1 root root 2263  3月  3 22:10 NetworkManager.confdrwxr-xr-x. 2 root root   33  5月 29 21:30 system-connections/etc/NetworkManager/conf.d:/etc/NetworkManager/dispatcher.d:drwxr-xr-x. 2 root root 6  3月  3 22:10 no-wait.ddrwxr-xr-x. 2 root root 6  3月  3 22:10 pre-down.ddrwxr-xr-x. 2 root root 6  3月  3 22:10 pre-up.d/etc/NetworkManager/dispatcher.d/no-wait.d:/etc/NetworkManager/dispatcher.d/pre-down.d:/etc/NetworkManager/dispatcher.d/pre-up.d:/etc/NetworkManager/dnsmasq.d:/etc/NetworkManager/dnsmasq-shared.d:/etc/NetworkManager/system-connections:-rw-------. 1 root root 229  5月 29 21:30 ens160.nmconnection

7.使用正則過濾代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -l  *.cfg #僅顯示.cfg結尾的文件-rw-------. 1 root root 1505  5月 29 21:30 anaconda-ks.cfg[root@blog ~]# ls -l rhel-*.iso #僅顯示rhel開頭與.iso結尾的文件-rw-r--r--. 1 root root 12761628672  6月 14 14:46 rhel-9.6-x86_64-dvd.iso[root@blog ~]# ls [a-c]* #與通配符結合,列出以a/b/c開頭的文件anaconda-ks.cfg

8.顯示文件inode號代碼語言:javascript代碼運行次數:0運行復制

[root@blog ~]# ls -i #查看文件的inode編號(文件系統的唯一標識)67478510 anaconda-ks.cfg   69108591 下載  34476647 桌面   69108244 rhel-9.6-x86_64-dvd.iso

注意事項使用man ls查看完整手冊,或ls –help 獲取快速幫助。掌握ls是高效使用 Linux 的第一步權限限制:若目錄無讀取權限(如 /root),ls 會報錯 Permission denied。需使用sudo提升權限(sudo ls /root)特殊字符處理:文件名含空格或換行符時,需用引號包裹或轉義:ls “my file.txt”;ls ‘my file.txt’;ls my file.txt性能影響:在含數十萬文件的目錄中使用-R或復雜組合選項(如 -lhtR)可能導致卡頓,建議優先使用find替代遞歸遍歷。隱藏文件邏輯:ls默認不顯示隱藏文件,需顯式使用 -a。若需排除.和..目錄,可用ls -A。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享