ls 是最常見的目錄操作命令,主要作用是顯示目錄下的內(nèi)容。這個命令的基本信息如下:
命令名稱:ls。
英文原意:list。
所在路徑:/bin/ls。
執(zhí)行權(quán)限:所有用戶。
功能描述:顯示目錄下的內(nèi)容。
對命令的基本信息進行說明:英文原意有助于理解和記憶命令;執(zhí)行權(quán)限是命令只能被超級用戶執(zhí)行,還是可以被所有用戶執(zhí)行;功能描述指的是這個命令的基本作用。
本節(jié)主要講解基本命令,基本信息有助于大家記憶,本章所有命令都會加入命令的基本信息。在后續(xù)章節(jié)中,大家要學(xué)會通過幫助命令、搜索命令來自己査詢這些信息,所以不再浪費篇幅來寫了。
命令格式
[root@localhost ~]#ls [選項][文件名或目錄名]
選項:
-a:顯示所有文件;
--color=when:支持顏色輸出,when 的值默認是 always(總顯示顏色),也可以是 never(從不顯示顏色)和 auto(自動);-d:顯示目錄信息,而不是目錄下的文件;
-h:人性化顯示,按照我們習慣的單位顯示文件大??;-i:顯示文件的 i 節(jié)點號;
-l:長格式顯示;
學(xué)習命令,主要學(xué)習的是命令選項,但是每個命令的選項非常多,比如 ls 命令就支持五六十個選項,我們不可能講解每個選項,也沒必要講解每個選項,本章只能講解最為常用的選項,即可滿足我們曰常操作使用。
常見用法
【例 1】"-a"選項
-a 選項中的 a 是 all 的意思,也就是顯示隱藏文件。例如:
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog[root@localhost ~]# Is -a
.anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history .viminfo ...bash_history .bash_profile .cshrc install.log.syslog .tcshrc可以看到,加入"-a"選項后,顯示出來的文件明顯變多了。而多出來的這些文件都有一個共同的特性,就是以"."開頭。在 Linux 中以"."開頭的文件是隱藏文件,只有通過"-a"選項才能査看。
說到隱藏文件的査看方式,曾經(jīng)有讀者問我:"為什么在 Linux 中査看隱藏文件這么簡單?這樣的話隱藏文件還有什么意義?"其實,他理解錯了隱藏文件的含義。
隱藏文件不是為了把文件藏起來不讓其他用戶找到,而是為了告訴用戶這些文件都是重要的系統(tǒng)文件,如非必要,不要亂動!所以,不論是 Linux 還是 Windows 都可以非常簡單地査看隱藏文件,只是在 Windows 中絕大多數(shù)的病毒和木馬都會把自己變成隱藏文件,給用戶帶來了錯覺,以為隱藏文件是為了不讓用戶發(fā)現(xiàn)。
【例 2】"-l"選項
[root@localhost ~]# ls -l
總用量44
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg-rw-r-r--.1 root root 24772 1 月 14 18:17 install.log-rw-r-r--.1 root root 7690 1 月 14 18:17 install.log.syslog#權(quán)限 引用計數(shù) 所有者 所屬組 大小 文件修改時間 文件名我們已經(jīng)知道"-l"選項用于顯示文件的詳細信息,那么"-l"選項顯示的這 7 列分別是什么含義?
第一列:權(quán)限,具體權(quán)限的含義將在后續(xù)章節(jié)中講解。
第二列:引用計數(shù),文件的引用計數(shù)代表該文件的硬鏈接個數(shù),而目錄的引用計數(shù)代表該目錄有多少個一級子目錄。
第三列:所有者,也就是這個文件屬于哪個用戶。默認所有者是文件的建立用戶第四列:所屬組,默認所屬組是文件建立用戶的有效組,一般情況下就是建立用戶的所在組。
第五列:大小,默認單位是字節(jié)。
第六列:文件修改時間,文件狀態(tài)修改時間或文件數(shù)據(jù)修改時間都會更改這個時間,注意這個時間不是文件的創(chuàng)建時間。
第七列:文件名。
【例 3】"-d"選項
如果我們想査看某個目錄的詳細信息,例如:
[root@localhost ~]# ls -l /root/
總用量44
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg-rw-r-r--.1 root root 24772 1 月 14 18:17 install.log-rw-r-r--.1 root root 7690 1 月 14 18:17 install.log.syslog這個命令會顯示目錄下的內(nèi)容,而不會顯示這個目錄本身的詳細信息。如果想顯示目錄本身的信息,就必須加入"-d"選項。
[root@localhost ~]# ls -ld /root/
dr-xr-x---.2 root root 4096 1 月 20 12:30 /root/【例 4】"-h"選項
"ls-l"顯示的文件大小是字節(jié),但是我們更加習慣的是千字節(jié)用 KB 顯示,兆字節(jié)用 MB 顯示,而"-h"選項就是按照人們習慣的單位顯示文件大小的,例如:
[root@localhost ~]# ls -lh
總用量44K
-rw-------.1 root root1.2K 1 月 14 18:18 anaconda-ks.cfg-rw-r-r--.1 root root25K 1 月 14 18:17 install.log-rw-r-r--.1 root root7.6K 1 月 14 18:17 install.log.syslog【例 5】"-i"選項
每個文件都有一個被稱作 inode(i 節(jié)點)的隱藏屬性,可以看成系統(tǒng)搜索這個文件的 ID,而"-i"選項就是用來査看文件的 inode 號的,例如:
[root@localhost ~]# ls -i
262418 anaconda-ks.cfg 262147 install.log 262148 install.log.syslog從理論上來說,每個文件的 inode 號都是不一樣的,當然也有例外(如硬鏈接),這些例外情況我們會在本章的鏈接小節(jié)中進行講解。