位置:首頁 > 其他技術 > Unix > UNIX 目錄管理

UNIX 目錄管理

目錄是一個文件,其唯一的工作就是存儲文件的名稱和相關信息。無論是普通的,特殊的或目錄,包含所有文件,在目錄中。

UNIX采用了分層結構組織的文件和目錄。這種結構通常稱為作為一個目錄樹。樹有單個根節點,斜杠字符(/),和所有其他目錄下麵都包含它。

主目錄:

目錄中,你會發現自己,當第一次登錄時被稱為你的home目錄。

你的工作一般會在你的home目錄,創建組織文件的目錄和子目錄。

可以去home目錄中隨時使用下麵的命令:

$cd ~
$

這裡〜表示主目錄。如果想要去的任何其他用戶的主目錄中,然後使用下麵的命令:

$cd ~username
$

最後一個目錄,可以使用以下命令:

$cd -
$

絕對/相對路徑名:

目錄都被排列在頂部的根(/)在一個層次。在層次結構中的位置的任何文件描述由它的路徑名。

用/分隔路徑名的元素。路徑名是絕對的,如果它被描述與根係,所以絕對路徑總是以一個/.

這都是一些例子,絕對文件名.

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3

也可以是相對當前工作目錄的路徑名。永遠不會開始以/相對路徑名。相對到用戶amrood'的主目錄,有些路徑名可能看起來像這樣:

chem/notes
personal/res

為了確定您所處的文件係統的層次結構內的任何時間,輸入命令pwd打印當前工作目錄:

$pwd
/user0/home/amrood

$

列出目錄:

要列出目錄中的文件,可以使用下麵的語法:

$ls dirname

下麵的例子列出包含的所有文件在/usr/local目錄:

$ls /usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

創建目錄:

通過以下命令創建目錄:

$mkdir dirname

在這裡,目錄是要創建的目錄的絕對或相對路徑名。例如,下麵的命令:

$mkdir mydir
$

在當前目錄下創建目錄mydir。這裡是另一個例子:

$mkdir /tmp/test-dir
$

此命令在/ tmp目錄下創建目錄test目錄。 mkdir命令不產生任何輸出,如果它成功地創建請求的目錄。

如果在命令行上給多目錄,mkdir 會創建的每個目錄。例如:

$mkdir docs pub
$

在當前目錄下創建目錄 docs 和 pub。

創建父目錄:

有時,當想創建一個目錄,它的父目錄或目錄可能不存在。在這種情況下mkdir 會發出錯誤消息,如下所示:

$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test"; 
No such file or directory
$

在這種情況下,您可以指定命令mkdir-p選項。它會創建所有必需的目錄。例如:

$mkdir -p /tmp/amrood/test
$

上麵的命令創建所有必需的父目錄。

刪除目錄:

目錄可以使用rmdir命令刪除如下:

$rmdir dirname
$

注意:要刪除一個目錄,請確保它是空的,這意味著不應該有這個目錄裡麵的任何文件或子目錄。

可以創建多個目錄的時間如下:

$rmdir dirname1 dirname2 dirname3
$

上述命令將刪除的目錄dirname1 dirname2,dirname2如果它們是空的。 rmdir命令不產生任何輸出,如果它是成功的。

改變目錄:

可以使用cd命令做多變化的主目錄:可以用它來指定一個有效的絕對或相對路徑切換到任意目錄。語法如下:

$cd dirname
$

在這裡,dirname是目錄的名稱。例如,下麵的命令:

$cd /usr/local/bin
$

更改到目錄 /usr/local/bin。在這個目錄中,你可以cd到目錄 /usr/home/amrood 使用下麵的相對路徑:

$cd ../../home/amrood
$

重命名目錄:

 mv (move) 命令也可以用來重命名一個目錄。語法如下:

$mv olddir newdir
$

可以重命名目錄mydir 為 yourdir,如下:

$mv mydir yourdir
$

目錄 .(點)和 .. (點點)

文件名 .(點)代表當前的工作目錄和文件名 .. (點點)代表當前工作目錄的上一級目錄,通常稱為父目錄。

如果我們輸入命令來顯示當前工作目錄的文件清單,並使用-a選項列出的所有文件和-l選項提供長列出,這是結果。

$ls -la
drwxrwxr-x    4    teacher   class   2048  Jul 16 17.56 .
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..
----------    1    teacher   class   4210  May 1 08:27 .profile
-rwxr-xr-x    1    teacher   class   1948  May 12 13:42 memo
$