檢視檔案和目錄 ls

2021-05-22 00:40:59 字數 4689 閱讀 3415

7.2  管理檔案與目錄

談了目錄與路徑之後,下面討**件的基本管理。檔案與目錄的管理就是「顯示屬性」、「複製」、「刪除檔案」及「移動檔案或目錄」等等。檔案與目錄的 管理在linux中很重要,特別是,每個人家目錄的資料也都需要管理。我們在執行程式後,系統預設有乙個搜尋路徑順序,如果有兩個以上相同檔名的執行文 件分別在不同的路徑,就需要特別注意。這裡我們來談一談檔案與目錄的基本管理。

7.2.1  檢視檔案和目錄:ls

[root@linux ~]# ls [-aadffhilrs] 目錄名

[root@linux ~]# ls [--color=] 目錄名

[root@linux ~]# ls [--full-time] 目錄名

引數:-a  : 全部檔案,連同隱藏檔案(開頭為 . 的檔案)一起列出來。

-a  : 全部檔案,連同隱藏檔案,但不包括 . 與 .. 這兩個目錄,一起列出來。

-d  : 僅列出目錄本身,而不是列出目錄內的檔案資料

-f  : 直接列出結果,而不進行排序(ls缺省會以檔名排序)。

-f  : 根據檔案、目錄等資訊,附加資料結構,例如:

*:表示可執行檔案;/:表示目錄;=:表示套接字檔案;|:表示fifo檔案。

-h  : 列出檔案大小(例如gb, kb等等)。

-i  : 列出inode位置,而非列出檔案屬性。

-l  : 列出長資料串,包含檔案的屬性等等。

-n  : 列出uid與gid而非使用者與使用者組的名稱(uid與gid會在賬號管理提到)。

-r  : 將排序結果反向輸出,例如:原檔名由小到大,反向則為由大到小。

-r  : 連同子目錄內容一起列出來。

-s  : 按檔案大小排序。

-t  : 按時間排序

--color=never        : 不要按照檔案屬性用不同的顏色顯示。

--color=always       : 顯示顏色

--color=auto         : 讓系統自行按照設定來判斷是否使用顏色

--full-time          : 以完整時間模式(包含年、月、日、時、分)輸出

--time= : 輸出訪問時間或改變許可權屬性時間(ctime)

而非內容更改時間(modification time)

範例:

在 linux系統中,ls命令可能是最常執行的。因為我們隨時都要知道檔案或目錄的相關資訊。不過,linux檔案所記錄的資訊實在是太多了,ls沒有必要 全部都列出來。所以,只使用ls時,預設顯示的只有非隱藏檔案的檔名、以檔名進行排序及檔名的顏色顯示。舉例來說,執行命令ls /etc之後,只顯示經過排序的檔名,藍色顯示目錄,白色顯示普通檔案,如此而已。

如果還要加入其他顯示資訊時,可以加入前面提到的哪些引數呢?舉例來說,我們一直用 -l顯示長資料內容,用a將隱藏檔案也一起顯示出來。

範例一:將家目錄下的所有檔案列出來(含屬性與隱藏檔案)

[root@linux ~]# ls -al ~

total 252

drwxr-x---   9 root root  4096 jul 16 23:40 .

drwxr-xr-x  24 root root  4096 jul 16 23:45 ..

-rw-------   1 root root  1491 jun 25 08:53 anaconda-ks.cfg

-rw-------   1 root root 12543 jul 18 01:23 .bash_history

-rw-r--r--   1 root root    24 dec  4  2004 .bash_logout

-rw-r--r--   1 root root   191 dec  4  2004 .bash_profile

-rw-r--r--   1 root root   395 jul  4 11:45 .bashrc

-rw-r--r--   1 root root 68495 jun 25 08:53 install.log

-rw-r--r--   1 root root  5976 jun 25 08:53 install.log.syslog

drwx------   2 root root  4096 jul  4 16:03 .ssh

-rw-------   1 root root 12613 jul 16 23:40 .viminfo

# 這個時候會看到以 . 為開頭的幾個檔案,以及目錄檔案 ./../.ssh等等,

# 不過,目錄檔案都是以深藍色顯示,有點不容易看清楚。

範例二:承上題,不顯示顏色,但在檔名末尾顯示出該檔名表示的型別(type)

[root@linux ~]# ls -alf --color=never  ~

total 252

drwxr-x---   9 root root  4096 jul 16 23:40 ./

drwxr-xr-x  24 root root  4096 jul 16 23:45 ../

-rw-------   1 root root  1491 jun 25 08:53 anaconda-ks.cfg

-rw-------   1 root root 12543 jul 18 01:23 .bash_history

-rw-r--r--   1 root root    24 dec  4  2004 .bash_logout

-rw-r--r--   1 root root   191 dec  4  2004 .bash_profile

-rw-r--r--   1 root root   395 jul  4 11:45 .bashrc

-rw-r--r--   1 root root 68495 jun 25 08:53 install.log

-rw-r--r--   1 root root  5976 jun 25 08:53 install.log.syslog

drwx------   2 root root  4096 jul  4 16:03 .ssh/

-rw-------   1 root root 12613 jul 16 23:40 .viminfo

# 注意顯示結果的第一行,知道為什麼我們會使用類似 ./command

# 之類的命令了吧?因為 ./ 表示「當前目錄下」。什麼是fifo/套接字呢?

# 請參考前一章的介紹。

範例三:完整顯示檔案的修改時間 *(modification time)

[root@linux ~]# ls -al --full-time  ~

total 252

drwxr-x---   9 root root  4096 2005-07-16 23:40:13.000000000 +0800 .

drwxr-xr-x  24 root root  4096 2005-07-16 23:45:05.000000000 +0800 ..

-rw-------   1 root root  1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg

-rw-------   1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history

-rw-r--r--   1 root root    24 2004-12-04 05:44:13.000000000 +0800 .bash_logout

-rw-r--r--   1 root root   191 2004-12-04 05:44:13.000000000 +0800 .bash_profile

-rw-r--r--   1 root root   395 2005-07-04 11:45:16.000000000 +0800 .bashrc

-rw-r--r--   1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log

-rw-r--r--   1 root root  5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog

drwx------   2 root root  4096 2005-07-04 16:03:24.000000000 +0800 .ssh

-rw-------   1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo

# 請仔細看,「時間」欄位變了。變成較為完整的格式。

# 一般來說,ls -al僅列出當前短格式的時間,有時不會列出年份,

# 通過 --full-time可以檢視到比較正確的完整時間格式。

ls的用法還有很多,包括檢視檔案所在i-node的ls -i引數,以及用來進行檔案排序的 -s引數,還有用來檢視不同時間的 --time=atime等引數。這些引數之所以存在,是因為linux檔案系統記錄了很多有用資訊。那麼,linux的檔案系統中,這些與許可權、屬性有 關的資料放在**呢?放在i-node裡。這部分我們會在下一章繼續深入介紹。

ls最常用到的還是 -l引數,為此,很多版本在預設情況中,已經將ll(l的小寫)設定成為ls -l的意思。其實,這是bash shell的別名(alias)功能。也就是說,我們直接輸入ll就等於是輸入ls -l。這部分內容會在介紹「bash shell」時再次強調。

ls 檢視檔案與目錄

命令解釋 在linux系統中,這個命令有可能是大家最熟悉,最經常用到的並且執行的,因為我們隨時都要知道檔案或者是目錄的相關資訊。不過,linux記錄的檔案資訊實在太多了,ls並沒有全部列出來,所以當你執行ls時,預設顯示的只有非隱藏檔案的檔名 以及檔名進行排序及檔名代表的顏色顯示。命令說明 root...

使用ls命令檢視檔案和目錄列表

基本功能列表 ls最基本的形式會顯示當前目錄下的檔案和目錄 ls 注意,ls命令輸出的列表是按字母排序 按列 f引數輕鬆區分檔案和目錄 ls f 目錄 資料夾 後面新增了正斜線 可執行檔案後面加了 方便使用者區分 a引數將隱藏檔案和普通檔案和目錄一起顯示出來 以點號開頭的都是隱藏檔案,以.bash開...

ls檔案與目錄檢視,檔案內容查閱

a 列出所有的 含隱藏的 檔案,包括.和.a 列出所有的 含隱藏的 檔案,不包括.和.d 僅列出目錄本身,而不是列出目錄內的檔案資料 常用 f 不進行排序,直接列出結果,ls缺省會以文件名字進行排序 f 給檔案或目錄等加上型別指示符,如 代表可執行檔 代表目錄 代表socket 檔案 代表 fifo...