歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Unix系統中目錄的操作命令總結

Unix系統中目錄的操作命令總結

日期:2017/3/1 18:12:55   编辑:關於Unix

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

UNIX 使用層次結構來組織文件和目錄。這種結構通常被稱為一個目錄樹。樹上有一個根節點,斜槓字符 (/),所有其他目錄包含在它之下。

主目錄
主目錄是當您第一次登錄時所在的目錄。

您的大部分工作將在主目錄及您自定義的子目錄中完成。

在任意目錄下執行以下命令可以隨時切換到主目錄:

復制代碼代碼如下:
$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 includelib share
atalk etc info man ami


創建目錄
通過下面的命令創建目錄:

復制代碼代碼如下:
$mkdir dirname

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

復制代碼代碼如下:
$mkdir mydir

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

復制代碼代碼如下:
$mkdir /tmp/test-dir

此命令在 /tmp 目錄中創建目錄 test-dir。命令 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。從該目錄,您可以使用下面的相對路徑跳轉到 /usr/home/amrood 目錄:

復制代碼代碼如下:
$cd ../../home/amrood


重命名目錄
mv ( move ) 命令也可以用於重命名目錄。語法如下所示:

復制代碼代碼如下:
$mv olddir newdir

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

復制代碼代碼如下:
$mv mydir yourdir

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

如果我們輸入要顯示的當前工作目錄文件的列表,使用 -a 選項列出所有的文件與 -l 選項提供長列表,這是結果。

復制代碼代碼如下:
$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 中的所有數據被都組織到文件。所有文件被都組織成目錄。這些目錄被組織成一個稱為文件系統的樹狀結構。
您可以使用 ls 命令列出所有的文件或目錄在目錄中。以下是使用 ls 命令與 -l 選項的示例。

復制代碼代碼如下:
$ 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...... 開頭的在這裡表示目錄。例如 uml, univ 和 urlspedia 是目錄,其余的為文件。

Copyright © Linux教程網 All Rights Reserved