上一章Unix和Linux教程请查看:Unix和Linux文件管理和操作
在本章中我们将详细讨论Unix/Linux中的目录管理,目录的负责存储文件名和相关信息的文件。所有文件无论是普通的、特殊的还是目录都包含在目录中,Unix使用层次结构来组织文件和目录,这种结构通常称为目录树,其中树有一个根节点即斜杠字符(/),所有其他目录都包含在它下面。
1、主目录~
你第一次登录时所在的目录称为主目录,你将在主目录及其子目录中完成大部分工作,我们将创建这些目录来组织文件。我们可以在任何时候使用以下命令进入主目录:
$cd ~
$
这里~表示主目录,假设你必须进入任何其他用户的主目录请使用以下命令:
$cd ~username
$
进入最后一个目录使用以下命令:
$cd -
$
2、绝对/相对路径名
目录按层次结构排列,其中根(/)在顶部,层次结构中任何文件的位置都由它的路径名来描述。
如果路径名的元素由/分隔,那么这个路径名是绝对的。如果它是根据根来描述的,那么绝对路径名总是以/开头。以下是一些绝对文件名的例子。
/etc/passwd
/users/pw
/dev/rdsk/Os3
路径名也可以相对于当前工作目录。相对路径名从不以/开头,相对于用户user的主目录的一些路径名可能是这样的:
dev/notes
res/res
要在任何时候确定你在文件系统层次结构中的位置,输入命令pwd来打印当前工作目录:
$pwd
/home/user
$
3、列出目录内容
要列出目录中的文件可以使用以下语法:
$ls dirname
下面的示例列出/usr/local目录中包含的所有文件:
$ls /usr/local
X11 bin gimp jikes sbin
ace doc include lib share
atalk etc info man ami
4、创建一个目录
现在我们将了解如何创建目录,其中目录由以下命令创建:
$mkdir dirname
在这里的目录是要创建的目录的绝对路径名或相对路径名,例如下面使用的命令:
$mkdir mydir
$
上面的例子在当前目录中创建目录mydir,看另一个mkdir的例子:
$mkdir /tmp/test-dir
$
该命令在/tmp目录中创建目录test-dir,如果mkdir命令成功创建了请求的目录,则不会产生任何输出。如果在命令行上提供多个目录,mkdir将创建每个目录如:
$mkdir docs pub
$
5、创建父目录
现在我们将了解如何创建父目录,有时若当你想要创建一个目录时,它的父目录或目录可能不存在。在本例中的mkdir发出如下错误消息:
$mkdir /tmp/user/test
mkdir: Failed to make directory "/tmp/user/test";
No such file or directory
$
这时我们可以为mkdir命令指定-p选项,它为你创建所有必要的目录如:
$mkdir -p /tmp/user/test
$
6、删除目录
我们可以使用rmdir命令删除目录,如下使用rmdir的命令所示:
$rmdir dirname
$
注意要删除一个目录要确保它是空的,这意味着在这个目录中不应该有任何文件或子目录。我们也可以一次删除多个目录,如下所示:
$rmdir dirname1 dirname2 dirname3
$
7、更改或切换目录
你可以使用cd命令做更多的事情而不仅仅是更改主目录。通过指定有效的绝对或相对路径,可以使用它更改到任何目录,使用语法如下所示:
$cd dirname
$
在这里dirname是要更改为的目录的名称,下面是一个实际的例子:
$cd /usr/local/bin
$
更改到目录/usr/local/bin。从这个目录中你以使用以下相对路径将cd转到/usr/home/user目录:
$cd ../../home/user
$
8、重命名目录
我们还可以使用mv (move)命令重命名目录语法如下:
$mv olddir newdir
$
9、目录.(点)和. .(点点)
文件名. (点)表示当前工作目录,而文件名..(点点)表示当前工作目录上一层的目录,这又通常称为父目录。
如果我们输入命令来显示当前工作目录/文件的列表,并使用-a选项来列出所有文件,使用-l选项来提供长列表,我们将收到以下结果。
$ls -la
drwxrwxr-x 4 u A 2048 Jul 16 17.56 .
drwxr-xr-x 60 root 1536 Jul 13 14:18 ..
---------- 1 u A 4210 May 1 08:27 .profile
-rwxr-xr-x 1 u A 1948 May 12 13:42 espana
$
评论前必须登录!
注册