Linux 目录管理

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

1、Home目录

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

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

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

cd ~

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

cd ~username

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

cd -

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

2、绝对/相对路径

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

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

绝对文件名如下,

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

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

cjavapy/notes
docs/python

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

$ pwd
/home/levi

3、ls列出目录中文件

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

ls dirname

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

$ ls /usr/local
X11       bin          gimp       cjavapy       sbin
ace       doc          include    lib         share
etc       info         man        ami

4、创建目录

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

$ mkdir dirname

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

例如,

mkdir /tmp/cjavapy

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

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

mkdir docs patchs

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

5、创建父目录

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

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

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

例如,

mkdir -p /tmp/cjavapy/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/cjavapy/levi目录,例如,

cd ../../cjavapy/levi

8、重命名目录

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

mv olddir newdir

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

mv docsdir docs

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

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

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

$ ls -la
drwxrwxr-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
$

推荐阅读
cjavapy编程之路首页