位置:首页 > 其他技术 > 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
$