开发手册 欢迎您!
软件开发者资料库

Linux 目录管理

Linux目录是一个文件,它的单独任务是存储文件名和相关信息。所有文件,无论是普通文件、特殊文件还是目录文件,都包含在目录中。Linux使用层次结构来组织文件和目录。这种结构通常被称为目录树。该树只有一个根节点、斜杠字符(/),它下面包含所有其他目录。本文主要介绍Linux 目录管理。

1、Home目录

Home目录是第一次登录时所在的目录称为主目录。

大部分工作将在主目录和子目录中进行,您将创建这些子目录来组织文件。

可以随时使用下面的命令进入你的主目录:

cd ~

~表示主目录(home目录)。假设必须进入任何其他用户的主目录,使用以下命令:

cd ~username

返回到上一次的工作目录,可以使用如下命令:

cd -

注意:cd ..是返回上一层目录, cd -而是返回到上一次的工作目录。

2、绝对/相对路径

目录以根(/)在顶部的层次结构排列。任何文件在层次结构中的位置都由其路径名描述。

路径名的元素之间用"/"分隔。路径名是绝对的,它是与根相关的,则绝对路径总是以/开头。

绝对文件名如下,

/etc/passwd/users/levi/wonhero/dev/vda1/python

路径名也可以相对于当前工作目录。相对路径名不能以/开头。相对于用户levi的主目录,一些路径名如下:

wonhero/notesdocs/python

要在任何时候确定在文件系统层次结构中的位置,输入命令pwd打印当前工作目录,如下,

$ pwd/home/levi

3、ls列出目录中文件

要列出目录中的文件,可以使用以下语法,

ls dirname

下面以列出"/usr/local"目录下的所有文件,例如,

$ ls /usr/localX11       bin          gimp       wonhero       sbinace       doc          include    lib         shareetc       info         man        ami

4、创建目录

可以使用mkdir命令创建目录。目录创建命令使用如下:

$ mkdir dirname

directory是要创建的目录的绝对路径名或相对路径名。

例如,

mkdir /tmp/wonhero

该命令在/tmp目录下创建目录wonhero。如果成功创建了目录,mkdir命令不会产生输出。

如果在命令行上提供多个目录,mkdir将创建每个目录。例如,

mkdir docs patchs

在当前目录下创建docspatchs目录。

5、创建父目录

当创建一个目录时,它的父目录或目录可能不存在。在这种情况下,mkdir发出如下错误消息:

mkdir /tmp/wonhero/linuxmkdir: Failed to make directory "/tmp/wonhero/linux"; No such file or directory

在这种情况下,可以在mkdir命令中指定-p选项。它为创建所有的目录。

例如,

mkdir -p /tmp/wonhero/linux

上面的命令会创建所有不存在的父目录。

6、删除目录

可以使用rmdir命令删除目录,如下所示,

rmdir dirname

注意:删除目录时,需要确保该目录为空,即该目录内不应有任何文件或子目录。

可以一次删除多个目录,具体操作如下:

rmdir dirname1 dirname2 dirname3

以上命令将删除目录dirname1dirname2dirname3,如果它们是空的。如果成功执行rmdir命令,则不会产生任何输出。

7、切换目录

可以使用cd命令执行更多操作,而不仅仅是更改到主目录。通过指定有效的绝对或相对路径,可以使用它更改到任何目录。语法如下所示,

cd dirname

dirname是想要更改为的目录的名称,

例如,

cd /usr/local/bin

切换为/usr/local/bin目录。从这个目录中,可以使用以下相对路径cd/usr/wonhero/levi目录,例如,

cd ../../wonhero/levi

8、重命名目录

mv(移动)命令也可以用来重命名目录。语法如下所示,

mv olddir newdir

可以将目录docsdir重命名为docs,如下所示,

mv docsdir docs

9、目录(.)和(..)

目录列表中(.)表示当前工作目录,目录列表中(..)表示当前工作目录之上一级的目录,通常称为父目录。

如果输入命令显示当前工作目录/文件的列表,并使用-a选项列出所有文件,使用-l选项提供长列表,如果如下:

$ ls -ladrwxrwxr-x    4    levi   class   2121  Jul 11 17.03 .drwxr-xr-x    60   root              1036  Jul 12 11:08 ..----------    1    levi   class   5210  May 1 08:27 .bash_profile-rwxr-xr-x    1    levi   class   1247 May 12 13:42 config$