UNIX 目錄及目錄操作

2018-04-26 16:50 更新

目錄

目錄是一個(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 -
    $

絕對(duì)/相對(duì)路徑名

目錄采用分層方式組織,其頂部為根目錄 (/)。層次結(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)建目錄

通過下面的命令創(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è)目錄里有任何文件或子目錄。

您可以一次刪除多個(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
    $

您可以重命名目錄 mydiryourdir,如下所示:

    $mv mydir yourdir
    $

目錄 . ( 點(diǎn) ) 和 .. ( 點(diǎn)點(diǎn) )

文件名 . ( 點(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
    $
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)