ChinaUnix.net
 >> ChinaUnix.net > Solaris

Solaris8入门教材(SA118中文翻译)(3)

作者:hfzheng     发表时间:2002/12/31 10:32pm

第三章 访问文件和目录
目录树
图3-1表示了一个Solaris目录树的一部分。显示了存放某一用户的文件和目录的位置。
路径名
路径名是用来唯一识别某一具体文件和目录在目录树中的位置。路径名与路径映射类似,显示了如何从目录树中的一个位置到另外一个位置。
目录名中的/作为目标名称之间的分隔符,目标名称可以是目录名或者是文件名,路径名中的第一个/通常代表根目录,例如:
/export/home/user1/dir1/coffees
根据系统的设置,用户的home目录可以位于/export/home目录或者/home目录。
路径名称的类型
有两种类型的路径名称:绝对路径和相对路径
绝对路径名:绝对路径名指明了一个文件或者目录相对于整个Solaris目录树的位置。绝对路径总是:
以根目录开始,然后列出每个目录路径直到最终的目标,可以是一个文件或者另外一个目录。
在路径中使用/来分割每个目标名称,/作为目标名称之间的分隔符,目标名称可以是一个目录名或者文件名
相对路径:
相对路径描述了一个目录或者文件相对于当前目录的位置,相对路径从不以/开始,不过仍然使用/作为目标名称之间的分隔符(例如文件和目录之间)。如果在一个目录中,你想访问在这个层次中的另外一个目录,不必键入绝对路径名。只要输入树结构向下一级路径名即可。
文件和目录命名规则:当创建一个文件或者目录时,遵守下列规则是相当重要的:
文件或者目录名称最多可以包括255个字符;
非字母字符,例如下划线( )、连字符(-)、句点(.)也可以使用在文件和目录名中;
特殊字符,例如星号(*)、And字符(&)、管道号(|)、引号(””)不可以使用,因为这些字符对于shell而言有特殊含义;
目录名称,习惯上而言,不包括扩展名,你仍然可以使用带扩展名的目录名;
改变目录
在任何时候,你都处于目录树中的当前工作目录。你最初登录系统时,当前工作目录设置为你的home目录。任何时候你都可以使用cd命令来改变你的当前工作目录。
命令格式:
cd directory_name
在目录树中切换
以下示例显示了如何在目录树中改变目录:
使用绝对路径:
$ cd /export/home/user1/dir1/coffees
使用相对路径:
$ cd user1/dir1/coffees
使用不带参数的cd命令在可以回到你的home目录
$ cd
显示当前目录
pwd命令可以打印出当前工作目录,确定你当前工作在哪个目录。Pwd命令显示当前工作目录的绝对路径。
命令格式:
$ pwd
使用带路径名缩写来改变目录
路径名缩写通常用在命令行方式中快速改变目录的方法中。
路径名称缩写
。  当前工作目录
。。 父目录,当前工作目录的直接上一级目录
以下示例显示了如何使用路径名缩写来在Solaris目录树中切换:
$ cd /export/home/user1/dir1
$ cd 。。
$ pwd
显示目录内容
使用ls命令可以显示一个目录的内容,该命令显示制定目录下的所有文件和目录,使用不带参数的ls命令只是简单显示当前目录的内容
命令格式
ls –options pathnames
显示隐藏文件
以。开头的文件成为隐藏文件,隐藏文件通常用于定制你的工作环境。使用ls –a可以列出一个目录下的所有文件,包括隐藏文件。
显示文件类型
使用ls –F命令可以显示文件类型,不同的文件类型符号如下:
目录/
可执行文件 *
文本文件或ASCII文件(none)
符号链接@
显示长输出列表
为了得到一个目录内容的详细信息,使用ls –l命令。
单输出目录列表
使用ls –ld命令列出当前工作目录的详细信息,而不是它的内容。
使用ls –R命令显示一个目录和它的所有子目录的内容,通常这称为为递归列表。
元字符
元字符是特殊字符,或者称为符号,对shell而言有特殊的含义。元字符的一些示例有:
~ - + * ? [ ] ; $ < > |
使用~符号
shell用当前用户的home目录替换~符号。它是绝对路径名的缩写。例如:
$ cd  ~/dir1
$ pwd
$ /export/home/user1/dir1
~字符除了在Bourne shell外所有的shell都可用。
使用 ~username
在~后面紧跟username代表指定用户(login ID)的home目录,例如:
$ cd  ~user2
$ pwd
$ /export/home/user2
使用~+和~-
~+符号代表当前工作目录,~-符号代表前一个工作目录(也就是进入当前工作目录之前所在的目录)。
使用dash-
为在特定的两个目录之间切换,使用Korn shell的-符号。Korn shell自动显示带特定参数的当前目录路径(在当前工作目录以及进入当前工作目录之前所在目录之间切换)。
使用*符号
星号代表零个或者多个字符,不包括隐藏文件开头的.字符。星号通常称为通配符。
使用问号(?)
问号?匹配任意单个字符,不包括隐藏文件开头的.字符。
使用方括号[]
使用方括号来匹配某一单个字符位置上的一个字符集合和范围。当查找字符集合时,在[]里面不需要指定任何顺序,例如,[abc]、[cab]、[bac]是一样的。
但是,当我们希望匹配一个字符范围时,必须指定正确的顺序,例如:[a-z]、[0-9]。
查找所有的字母字符,不管是否大小写,使用模式[a-z]或[A-Z]来匹配。

此文章相关评论:
该文章有16个相关评论如下:(点这儿可以发表评论)
hfzheng 发表于: 2003/01/01 10:46am
有没有人看啊?不要浪费我一番心血。
 
mynix 发表于: 2003/01/01 10:58am
初、中、高各级肯定都有人看。帖上来
就是好同志。谢谢。
 
windowsnt 发表于: 2003/01/01 05:01pm
支持一下
 
xiufan 发表于: 2003/01/01 05:10pm
up
 
huoju 发表于: 2003/01/01 11:20pm
支持一下  
 
zpdpd 发表于: 2003/01/02 09:00am
 好东西
 
wasp 发表于: 2003/01/02 09:45am
不错!支持一下
 
zqsq 发表于: 2003/01/02 09:58am
好东东,不过可不可以打包让我下载呀, 一次贴一章看得不过瘾。。。呵呵
 
iricyan 发表于: 2003/01/02 10:14am
很详细!

继续!

 
hurmark 发表于: 2003/01/02 10:33am
最好开FTP提供下载!
 
白菜梆子 发表于: 2003/01/02 10:36am
很好的,继续阿~~
 
chinaybqk 发表于: 2003/01/02 11:15am
很好呀,支持,最好能有打包的下载呀
 
javamud 发表于: 2003/01/02 12:05pm
热切的期待续集!

非常感谢!

 
南非蜘蛛 发表于: 2003/01/02 12:06pm
好呀,这个也有人翻译了,加入我得中文论坛吧
 
deche-stone 发表于: 2003/01/02 12:15pm
最好打包,提供http下载,上班的地方有时不提供ftp服务
 
noress 发表于: 2003/01/03 09:45pm
支持!
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者