目錄是一個(gè)文件,它的作用是存儲(chǔ)文件的名稱(chēng)和相關(guān)的信息。所有的文件,無(wú)論是普通,特殊,或目錄都包含在目錄中。
UNIX 使用層次結(jié)構(gòu)來(lái)組織文件和目錄。這種結(jié)構(gòu)通常被稱(chēng)為一個(gè)目錄樹(shù)。樹(shù)上有一個(gè)根節(jié)點(diǎn),斜杠字符 (/),所有其他目錄包含在它之下。
主目錄
主目錄是當(dāng)您第一次登錄時(shí)所在的目錄。
您的大部分工作將在主目錄及您自定義的子目錄中完成。
在任意目錄下執(zhí)行以下命令可以隨時(shí)切換到主目錄:
$cd ~
在這里 ~ 表示主目錄。如果您想要跳轉(zhuǎn)至任何其他用戶(hù)的主目錄中,可以使用以下命令:
$cd ~username
跳轉(zhuǎn)至您最近的目錄中可以使用下列命令:
$cd -
絕對(duì)/相對(duì)路徑名
目錄采用分層方式組織,其頂部為根目錄 (/)。層次結(jié)構(gòu)內(nèi)的任何文件的位置由其路徑描述。
路徑由 / 來(lái)分隔。路徑名是絕對(duì)的如果它是描述與根的關(guān)系,所以絕對(duì)路徑名的開(kāi)頭總是 /。
這些是絕對(duì)文件名的一些例子。
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
路徑也可以是相對(duì)于你當(dāng)前的工作目錄。相對(duì)路徑永遠(yuǎn)不會(huì)以 / 開(kāi)始。相對(duì)于用戶(hù) amrood 的主目錄,一些路徑可能看起來(lái)像這樣:
chem/notes
personal/res
在任何時(shí)候要確定你所在的文件系統(tǒng)層次結(jié)構(gòu)時(shí),請(qǐng)輸入命令 pwd 打印當(dāng)前工作目錄:
$pwd
/user0/home/amrood
目錄列表
要列出目錄中的文件可以使用下面的語(yǔ)法:
$ls dirname
以下是示例,列出 /usr/local 目錄中包含的所有文件:
$ls /usr/local
X11 bin gimp jikes sbin
ace doc includelib share
atalk etc info man ami
創(chuàng)建目錄
通過(guò)下面的命令創(chuàng)建目錄:
$mkdir dirname
在這里,dirname 是您想要?jiǎng)?chuàng)建的目錄的絕對(duì)或相對(duì)路徑名。例如,命令:
$mkdir mydir
在當(dāng)前目錄中創(chuàng)建目錄 mydir。這里是另一個(gè)示例:
$mkdir /tmp/test-dir
此命令在 /tmp 目錄中創(chuàng)建目錄 test-dir。命令 mkdir 不產(chǎn)生任何輸出如果它成功創(chuàng)建請(qǐng)求的目錄。
如果你在命令行上給出多個(gè)目錄,mkdir 創(chuàng)建每個(gè)目錄。例如:
$mkdir docs pub
在當(dāng)前目錄下創(chuàng)建目錄 docs 和 pub 。
創(chuàng)建父目錄
有時(shí)當(dāng)你想要?jiǎng)?chuàng)建一個(gè)目錄,其父目錄可能不存在。在這種情況下,mkdir 發(fā)出一個(gè)錯(cuò)誤消息,如下所示:
$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
在這種情況下,您可以指定 mkdir 命令的 -p 選項(xiàng)。它為您創(chuàng)建所有必要的目錄。例如:
$mkdir -p /tmp/amrood/test
上面的命令創(chuàng)建所需的父目錄。
刪除目錄
可以按如下方式使用 rmdir 命令刪除目錄:
$rmdir dirname
注意: 刪除目錄時(shí)請(qǐng)確保它是空的,這意味著不應(yīng)該在這個(gè)目錄里有任何文件或子目錄。
您可以一次創(chuàng)建多個(gè)目錄如下:
$rmdir dirname1 dirname2 dirname3
上面的命令刪除目錄 dirname1、dirname2 和 dirname2,前提是它們是空的。如果成功刪除,rmdir 命令不生成任何輸出。
更改目錄
你可以使用 cd 命令來(lái)做比更改主目錄更多的事:你可以使用它來(lái)跳轉(zhuǎn)到任何目錄,其參數(shù)為一個(gè)有效的絕對(duì)或相對(duì)路徑。語(yǔ)法如下所示:
$cd dirname
在這里,dirname 是你想要跳轉(zhuǎn)到的目錄的名稱(chēng)。例如,命令:
$cd /usr/local/bin
更改目錄 /usr/local/bin。從該目錄,您可以使用下面的相對(duì)路徑跳轉(zhuǎn)到 /usr/home/amrood 目錄:
$cd ../../home/amrood
重命名目錄
mv ( move ) 命令也可以用于重命名目錄。語(yǔ)法如下所示:
$mv olddir newdir
您可以重命名目錄 mydir 為 yourdir,如下所示:
$mv mydir yourdir
目錄 . ( 點(diǎn) ) 和 .. ( 點(diǎn)點(diǎn) )
文件名 . ( 點(diǎn) ) 表示當(dāng)前的工作目錄;和文件名 .. ( 點(diǎn)點(diǎn) ) 代表當(dāng)前工作目錄的上一級(jí),通常被稱(chēng)為父目錄。
如果我們輸入要顯示的當(dāng)前工作目錄文件的列表,使用 -a 選項(xiàng)列出所有的文件與 -l 選項(xiàng)提供長(zhǎng)列表,這是結(jié)果。
$ls -la
drwxrwxr-x4teacher class 2048 Jul 16 17.56 .
drwxr-xr-x60 root 1536 Jul 13 14:18 ..
----------1teacher class 4210 May 1 08:27 .profile
-rwxr-xr-x1teacher class 1948 May 12 13:42 memo
列出目錄和文件
在 UNIX 中的所有數(shù)據(jù)被都組織到文件。所有文件被都組織成目錄。這些目錄被組織成一個(gè)稱(chēng)為文件系統(tǒng)的樹(shù)狀結(jié)構(gòu)。
您可以使用 ls 命令列出所有的文件或目錄在目錄中。以下是使用 ls 命令與 -l 選項(xiàng)的示例。
$ ls -l
total 19621
drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml
-rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpg
drwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univ
drwxr-xr-x 2 root root4096 Dec 9 2007 urlspedia
-rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tar
drwxr-xr-x 8 root root4096 Nov 25 2007 usr
-rwxr-xr-x 1 root root3192 Nov 25 2007 webthumb.php
-rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar
-rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid
-rw-rw-r-- 1 amrood amrood166255 Aug 9 2007 yourfile.swf
以 d...... 開(kāi)頭的在這里表示目錄。例如 uml, univ 和 urlspedia 是目錄,其余的為文件。