什么是绝对路径:
大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。类似于这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。而在网站中类似以http://www.pckings.net/img/photo.jpg来确定文件位置的方式也是绝对路径。
另外,在网站的应用中,通常我们使用"/"来表示根目录,/img/photo.jpg就表示photo.jpg文件在这个网站的根目录上的img目录里。但是这样使用对于初学者来说是具有风险性的,因为要知道这里所指的根目录并不是你的网站的根目录,而是你的网站所在的服务器的根目录,因此当网站的根目录与服务器根目录不同时,就会发生错误。
什么是相对路径:
让我们先来分析一下为什么会发生图片不能正常显示的情况。举一个例子,现在有一个页面index.htm,在这个页面中联接有一张图片photo.jpg。他们的绝对路径如下:
c:/website/index.htm
c:/website/img/photo.jpg
如果你使用绝对路径c:/website/img/photo.jpg,那么在自己的计算机上将一切正常,因为确实可以在指定的位置即c:/website/img/photo.jpg上找到photo.jpg文件,但是当你将页面上传到网站的时候就很可能会出错了,因为你的网站可能在服务器的c盘,可能在d盘,也可能在aa目录下,更可能在bb目录下,总之没有理由会有c:/website/img/photo.jpg这样一个路径。那么,在index.htm文件中要使用什么样的路径来定位photo.jpg文件呢?对,应该是用相对路径,所谓相对路径,顾名思义就是自己相对与目标位置。在上例中index.htm中联接的photo.jpg可以使用img/photo.jpg来定位文件,那么不论将这些文件放到哪里,只要他们的相对关系没有变,就不会出错。
另外我们使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。(学习过dos的朋友可能更容易理解)
再看几个例子,注意所有例子中都是index.htm文件中联接有一张图片photo.jpg。
例:
c:/website/web/index.htm
c:/website/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:img/photo.jpg
这种写法是不正确的,在此例中,对于index.htm文件来说img/photo.jpg所代表的绝对路径是:c:/website/web/img/photo.jpg,显然不符合要求。
正确写法:使用../img/photo.jpg的相对路径来定位文件
例:
c:/website/web/xz/index.htm
c:/website/img/images/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../img/images/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../img/images/photo.jpg所代表的绝对路径是:c:/website/web/img/images/photo.jpg。
正确写法:可以使用../../img/images/photo.jpg的相对路径来定位文件
例:
c:/website/web/xz/index.htm
c:/website/web/img/photo.jpg
在此例中index.htm中联接的photo.jpg应该怎样表示呢?
错误写法:../../img/photo.jpg
这种写法是不正确的,在此例中对于index.htm文件来说../../img/photo.jpg所代表的绝对路径是:c:/website/img/photo.jpg。
正确写法:可以使用../img/photo.jpg的相对路径来定位文件
总结:通过以上的例子可以发现,在把绝对路径转化为相对路径的时候,两个文件绝对路径中相同的部分都可以忽略,不做考虑。只要考虑他们不同之处就可以了。
如何修改样式表的路径:
使用文本编辑器打开htm文件,查看源代码,在源代码的开头部分<head>......</head>标记中间找到<link rel="stylesheet" href="test.css" type="text/css">。“Href=”后面的内容就是css的路径,我们可以根据以上的知识进行相对路径的转换。
例:
c:/website/web/xz/index.htm
c:/website/css/test.css
在此例中index.htm中联接test.css文件,可以使用../../css/test.css的相对路径来定位文件,完整的代码标记是:<link rel="stylesheet" href="../../../css/test.css " type="text/css">
错误写法举例:../../../css/test.css
这种写法是不正确的,在此例中对于index.htm文件来说../../../css/test.css所代表的绝对路径是:c:/css/test.css
最后,为了避免在制作网页时出现路径错误,我们可以使用dreamweaver的站点管理功能来管理站点。只要使用菜单命令site-new site新建站点并定义站点目录之后,它将自动的把绝对路径转化为相对路径,并且当你在站点中移动文件的时候,与这些文件关联的连接路径都会自动更改,实在是非常的方便。
linux系统中文件路径
使用Linux系统的过程中,需要经常对文件和目录进行操作,而数据和程序大多以文件的形式保存。本节主要介绍文件与目录的基本概念以及文件和目录操作的命令。
文件与目录的基本概念
1.文件与文件名
在多数操作系统中都有文件的概念。文件是Linux用来存储信息的基本解构,它是被命名(称为文件名)的存储在某种介质(如磁盘、光盘和磁带 等)上的一组信息的集合。Linux中的文件均为无无结构的字符流形式。文件名是文件的标识,DOS时代的文件名限制在了8.3,即文件名的长度最多只能有8个字符,而扩展名最多只能有3个字符;到了windows95时代文件名的支持到了128位;而Linux支持最多256个字符。Linux中没有扩展名的概念,只要您原意,你完全可以创建类似“...”、“libacl.so.1.0.4”这样的目录与文件,但是扩展名对于Linux中的文件分类也是十分有用的。我们应当选择有意义的文件名与扩展名。用户可能对某些大众已接纳的标准扩展名比较熟悉,例如:C语言编写的源代码文件总是具有C的扩展名。用户可以根据自己的需要,随意加入自己的文件扩展名。
Linux中也有一些特殊字符,如:!@^<等。在Linux中您直接使用它们中的大部分,另外一些也可以通过转义来加以使用。虽然我们可以使用这些字符,但是不建议用户使用它们。
在Linux下也有一些特殊的文件它们以“.”开头,这些属于隐藏文件,我们用ls -a命令可以看见它们。
2.绝对路径和相对路径
在Linux下绝对路径是指从目录树的根/一直到文件所在目录的完整路径。如:/home/epaul/test.txt是一个绝对路径。相对路径指目标文件相对于当前目录的位置。如当前目录为/home/epaul,用相对路径表示/etc/group文件为../../etc/group。
在Linux中“.”、“..”分别代表当前目录和上级目录。而“~”可以代表家目录(/home/$USER)。
举几个例子:
当前目录为/home/epaul/work,/home/epaul/目录下有另外的music目录,我们切换当前目录到/etc/epaul/music以下几种方法是等价的:
$cd ../music/ 相对路径表示法
$cd /home/epaul/music/ 绝对路径表示法
$cd ~/music/ 用~代表家目录表示法
3.文件类型
在Linux下文件分为普通文件、目录文件、连接文件、和设备文件。
[list=1]
[*]普通文件是我们接触最多的,普通文件又分为:字符文件、C语言源文件,mp3文件、脚本文件等等。我们可以通过file *命令查看当前目录下文件的类型。
[*]目录也是一种文件,不同于普通文件的是,目录中记录是是一些文件和目录的名字地址。也就是说我们通常修改一个文件的名称其实只是修改目录文件中的一条记录。
[*]连接文件是Linux下的一种特殊文件,类似于windows下的快捷方式,而连接的功能要强大的多。连接本身不包括内容,他指向别的文件和目录。
[*]Linux下的所有设备都用文件来标识,这是Linux一个重要的特点与优点。设备文件存放于/dev目录下,设备文件根据其读取方式的差别又分为块设备和字符设备。块设备的存取是以块为最小单位的,块的读取可以随即进行,块的大小可以在格式化的时候定义;而字符设备则是按顺序一个一个地传递字符。常见的块设备有硬盘如:/dev/hda1,字符设备有终端等。Linux中还有一个特殊的设备文件:/dev/null,它并不是一个真正的设备,当我们传递数据给它时,会将这些数据清除。
[/list]
4.文件权限
Linux系统中的每个文件和目录都有访问许可权限,每个权限分为只读、只写、可执行三种。以文件为例,只读权限标识只允许读取其中内容而禁止修改于执行,只写代表只允许写入内容而无读取权限,可执行权限表示允许将该文件作为一个程序执行。通常我们遇到的会是三种权限的组合,如拥有只读、只写组成读写权限。
文件权限又分为三种不同的类型:文件所有者,同组用户,其它用户。所有者一般是文件的创建者。用ls -l命令会得到当前目录下文件的详细信息,包括文件权限。如:
[paulin@epaul work]$ ls -l
total 8
-rwxrw-r-x 1 paulin paul 0 12月 26 20:43 test.bin
drwxr-xr-x 2 paulin paul 4096 12月 26 20:42 testdir
-rw-r--r-- 1 paulin paul 3052 12月 26 20:41 test.txt
左边一列是文件权限,共分为四个部分,第一个部分是第一个字符,代表文件类型,第二、三、四部分都为三个字符。
如上例种的test.bin的权限:
-rwxr-xr-x 可分为:- rwx rw- r-x
[list]
[*]- 代表文件类型为普通文件。
[*]rwx 代表文件所有者的权限为可读可写可执行。
[*]rw- 代表同组用户权限为可读可写但不可执行。
[*]r-w 代表其它用户权限为可读可执行但不可写。
[/list]
10.1.2操作文件的命令
1.新建文件与目录
touch命令可以用来新建文件,其用法为:“touch 文件名”。
mkdir命令可以新建目录,其用法为:“mkdir 目录名”。如:
[paulin@epaul paulin]$ mkdir sampdir
2.cat命令与操作文件
1)cat命令最基本的用法为用法为:“cat 文件名”用来查看文件的内容。
cat命令还可以通过管道符联合more程序来查看一屏无法显示完成的文件,如cat filename.txt | more 。
2)cat重定向,cat与>符号一起使用(如cat > filename.txt)可以重定向标准输出到文件。输入此命令后按回车键([ENTER])转到一个空行,可以连续输入多行,输入完成后按CTRL+D组合键退出cat,这个时候刚刚输入就将重定向到filename.txt。cat与重定向符号>的组合也可以这样来用,如:cat filename.txt > file2.txt,这时输出将被重定向到file2.txt。
3.文件查看
除了cat命令外其它的文件查看命令还有more、less、head、tail等。
当用cat查看较长的文件时候可能一屏看不完,这个时候我们可以用more或者less来代替cat,more可以通过空格键转到下一屏,而less种用p。more和less命令都可以用q来退出。head和tail命令分别用来查看文件的头部和尾部。
4.修改文件权限
一个文件的访问权限可以通过chmod命令来设定。chown命令用来更改某个文件或目录的所有者。chgrp命令用来更改某个文件或目录的用户组。