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...