目錄是一個(gè)文件,它的作用是存儲(chǔ)文件的名稱和相關(guān)的信息。所有的文件,無論是普通,特殊,或目錄都包含在目錄中。
UNIX 使用層次結(jié)構(gòu)來組織文件和目錄。這種結(jié)構(gòu)通常被稱為一個(gè)目錄樹。樹上有一個(gè)根節(jié)點(diǎn),斜杠字符 (/)
,所有其他目錄包含在它之下。
主目錄是當(dāng)您第一次登錄時(shí)所在的目錄。
您的大部分工作將在主目錄及您自定義的子目錄中完成。
在任意目錄下執(zhí)行以下命令可以隨時(shí)切換到主目錄:
$cd ~
$
在這里 ~
表示主目錄。如果您想要跳轉(zhuǎn)至任何其他用戶的主目錄中,可以使用以下命令:
$cd ~username
$
跳轉(zhuǎn)至您最近的目錄中可以使用下列命令:
$cd -
$
目錄采用分層方式組織,其頂部為根目錄 (/)
。層次結(jié)構(gòu)內(nèi)的任何文件的位置由其路徑描述。
路徑由 /
來分隔。路徑名是絕對(duì)的如果它是描述與根的關(guān)系,所以絕對(duì)路徑名的開頭總是 /
。
這些是絕對(duì)文件名的一些例子。
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
路徑也可以是相對(duì)于你當(dāng)前的工作目錄。相對(duì)路徑永遠(yuǎn)不會(huì)以 /
開始。相對(duì)于用戶 amrood 的主目錄,一些路徑可能看起來像這樣:
chem/notes
personal/res
在任何時(shí)候要確定你所在的文件系統(tǒng)層次結(jié)構(gòu)時(shí),請(qǐng)輸入命令 pwd 打印當(dāng)前工作目錄:
$pwd
/user0/home/amrood
$
要列出目錄中的文件可以使用下面的語法:
$ls dirname
以下是示例,列出 /usr/local
目錄中包含的所有文件:
$ls /usr/local
X11 bin gimp jikes sbin
ace doc includelib share
atalk etc info man ami
通過下面的命令創(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 。
有時(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è)目錄里有任何文件或子目錄。
您可以一次刪除多個(gè)目錄如下:
$rmdir dirname1 dirname2 dirname3
$
上面的命令刪除目錄 dirname1、dirname2 和 dirname2,前提是它們是空的。如果成功刪除,rmdir 命令不生成任何輸出。
你可以使用 cd 命令來做比更改主目錄更多的事:你可以使用它來跳轉(zhuǎn)到任何目錄,其參數(shù)為一個(gè)有效的絕對(duì)或相對(duì)路徑。語法如下所示:
$cd dirname
$
在這里,dirname 是你想要跳轉(zhuǎn)到的目錄的名稱。例如,命令:
$cd /usr/local/bin
$
更改目錄 /usr/local/bin
。從該目錄,您可以使用下面的相對(duì)路徑跳轉(zhuǎn)到 /usr/home/amrood
目錄:
$cd ../../home/amrood
$
mv ( move ) 命令也可以用于重命名目錄。語法如下所示:
$mv olddir newdir
$
您可以重命名目錄 mydir 為 yourdir,如下所示:
$mv mydir yourdir
$
文件名 .
( 點(diǎn) ) 表示當(dāng)前的工作目錄;和文件名 ..
( 點(diǎn)點(diǎn) ) 代表當(dāng)前工作目錄的上一級(jí),通常被稱為父目錄。
如果我們輸入要顯示的當(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
$
更多建議: