邵珠庆の日记 生命只有一次,你可以用它来做很多伟大的事情–Make the world a little better and easier


184月/12

crontab 各参数详解并查看日志记录

发布在 邵珠庆

crontab的语法,以备日后救急。先上张超给力的图:

crontab各参数说明:

-e : 执行文字编辑器来编辑crontab,内定的文字编辑器是VI

-r : 删除目前的crontab

-l : 列出目前的crontab(查看专用)

-i : 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除

注意crontab是分用户的,以谁登录就会编辑到谁的crontab

crontab特殊的符号说明:

"*"代表所有的取值范围内的数字。特别要注意哦!

"/"代表每的意思,如"*/5"表示每5个单位

"-"代表从某个数字到某个数字

","分散的数字

crontab文件的使用示例:

30 21 * * *    表示每晚的21:30

45 4 1,10,22 * * 表示每月1、10、22日的4 : 45

10 1 * * 6,0 表示每周六、周日的1 : 10

0,30 18-23 * * * 表示在每天18 : 00至23 : 00之间每隔30分钟

0 23 * * 6 表示每星期六的11 : 00 pm

* */1 * * * 每一小时

* 23-7/1 * * * 晚上11点到早上7点之间,每隔一小时

* 8,13 * * 1-5 从周一到周五的上午8点和下午1点

0 11 4 * mon-wed 每月的4号与每周一到周三的11点

0 4 1 jan * 一月一号的4点

 

-------------------------------- 如何查看crontab的日志记录 --------------------------------------------------------

昨天crontab中的同步任务没有执行,不知道是什么原因没有执行,貌似任务hang住了,想查询一下crontab到底问题出在哪里,或者hang在了什么地方。
 
1.  linux
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
 
2.  unix
在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。
 
3. mail任务
在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。

1010月/11

awk命令小记详解

发布在 邵珠庆

awk 用法:awk ' pattern {action} ' 

变量名 含义
ARGC 命令行变元个数
ARGV 命令行变元数组
FILENAME 当前输入文件名
FNR 当前文件中的记录号
FS 输入域分隔符,默认为一个空格
RS 输入记录分隔符
NF 当前记录里域个数
NR 到目前为止记录数
OFS 输出域分隔符
ORS 输出记录分隔符

1、awk '/101/'               file 显示文件file中包含101的匹配行。
   awk '/101/,/105/'         file
   awk '$1 == 5'             file
   awk '$1 == "CT"'          file 注意必须带双引号
   awk '$1 * $2 >100 '       file 
   awk '$2 >5 && $2<=15'     file


2、awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。
   awk '/101/ {print $1,$2 + 10}' file 显示文件file的匹配行的第一、二个域加10。
   awk '/101/ {print $1$2}'  file
   awk '/101/ {print $1 $2}' file 显示文件file的匹配行的第一、二个域,但显示时域中间没有分隔符。


3、df | awk '$4>1000000 '         通过管道符获得输入,如:显示第4个域满足条件的行。


4、awk -F "|" '{print $1}'   file 按照新的分隔符“|”进行操作。
   awk  'BEGIN { FS="[: \t|]" }
   {print $1,$2,$3}'       file 通过设置输入分隔符(FS="[: \t|]")修改输入分隔符。

   Sep="|"
   awk -F $Sep '{print $1}'  file 按照环境变量Sep的值做为分隔符。   
   awk -F '[ :\t|]' '{print $1}' file 按照正则表达式的值做为分隔符,这里代表空格、:、TAB、|同时做为分隔符。
   awk -F '[][]'    '{print $1}' file 按照正则表达式的值做为分隔符,这里代表[、]


5、awk -f awkfile       file 通过文件awkfile的内容依次进行控制。
   cat awkfile
/101/{print "\047 Hello! \047"} --遇到匹配行以后打印 ' Hello! '.\047代表单引号。
{print $1,$2}                   --因为没有模式控制,打印每一行的前两个域。


6、awk '$1 ~ /101/ {print $1}' file 显示文件中第一个域匹配101的行(记录)。


7、awk   'BEGIN { OFS="%"}
   {print $1,$2}'           file 通过设置输出分隔符(OFS="%")修改输出格式。


8、awk   'BEGIN { max=100 ;print "max=" max}             BEGIN 表示在处理任意行之前进行的操作。
   {max=($1 >max ?$1:max); print $1,"Now max is "max}' file 取得文件第一个域的最大值。
   (表达式1?表达式2:表达式3 相当于:
   if (表达式1)
       表达式2
   else
       表达式3
   awk '{print ($1>4 ? "high "$1: "low "$1)}' file 


9、awk '$1 * $2 >100 {print $1}' file 显示文件中第一个域匹配101的行(记录)。


10、awk '{$1 == 'Chi' {$3 = 'China'; print}' file 找到匹配行后先将第3个域替换后再显示该行(记录)。
    awk '{$7 %= 3; print $7}'  file 将第7域被3除,并将余数赋给第7域再打印。


11、awk '/tom/ {wage=$2+$3; printf wage}' file 找到匹配行后为变量wage赋值并打印该变量。


12、awk '/tom/ {count++;} 
         END {print "tom was found "count" times"}' file END表示在所有输入行处理完后进行处理。


13、awk 'gsub(/\$/,"");gsub(/,/,""); cost+=$4;
         END {print "The total is $" cost>"filename"}'    file gsub函数用空串替换$和,再将结果输出到filename中。
    1 2 3 $1,200.00
    1 2 3 $2,300.00
    1 2 3 $4,000.00

    awk '{gsub(/\$/,"");gsub(/,/,"");
    if ($4>1000&&$4<2000) c1+=$4;
    else if ($4>2000&&$4<3000) c2+=$4;
    else if ($4>3000&&$4<4000) c3+=$4;
    else c4+=$4; }
    END {printf  "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file
    通过if和else if完成条件语句

    awk '{gsub(/\$/,"");gsub(/,/,"");
    if ($4>3000&&$4<4000) exit;
    else c4+=$4; }
    END {printf  "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file
    通过exit在某条件时退出,但是仍执行END操作。
    awk '{gsub(/\$/,"");gsub(/,/,"");
    if ($4>3000) next;
    else c4+=$4; }
    END {printf  "c4=[%d]\n",c4}"' file
    通过next在某条件时跳过该行,对下一行执行操作。

14、awk '{ print FILENAME,$0 }' file1 file2 file3>fileall 把file1、file2、file3的文件内容全部写到fileall中,格式为
    打印文件并前置文件名。


15、awk ' $1!=previous { close(previous); previous=$1 }   
    {print substr($0,index($0," ") +1)>$1}' fileall 把合并后的文件重新分拆为3个文件。并与原文件一致。


16、awk 'BEGIN {"date"|getline d; print d}'         通过管道把date的执行结果送给getline,并赋给变量d,然后打印。 


17、awk 'BEGIN {system("echo \"Input your name:\\c\""); getline d;print "\nYour name is",d,"\b!\n"}'
    通过getline命令交互输入name,并显示出来。
    awk 'BEGIN {FS=":"; while(getline< "/etc/passwd" >0) { if($1~"050[0-9]_") print $1}}'
    打印/etc/passwd文件中用户名包含050x_的用户名。

18、awk '{ i=1;while(i<NF) {print NF,$i;i++}}' file 通过while语句实现循环。
    awk '{ for(i=1;i<NF;i++) {print NF,$i}}'   file 通过for语句实现循环。    
    type file|awk -F "/" '
    { for(i=1;i<NF;i++)
    { if(i==NF-1) { printf "%s",$i }
    else { printf "%s/",$i } }}'               显示一个文件的全路径。
    用for和if显示日期
    awk  'BEGIN {
for(j=1;j<=12;j++)
{ flag=0;
  printf "\n%d月份\n",j;
        for(i=1;i<=31;i++)
        {
        if (j==2&&i>28) flag=1;
        if ((j==4||j==6||j==9||j==11)&&i>30) flag=1;
        if (flag==0) {printf "%02d%02d ",j,i}
        }
}
}'


19、在awk中调用系统变量必须用单引号,如果是双引号,则表示字符串
Flag=abcd
awk '{print '$Flag'}'   结果为abcd
awk '{print  "$Flag"}'   结果为$Flag

总结:

求和:

    $awk 'BEGIN{total=0}{total+=$4}END{print total}' a.txt   -----对a.txt文件的第四个域进行求和!

  • $ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。

  • $ awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。

  • $ awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。

  • $ awk '$1 == 100 || $2 < 50' test-----如果第一个或等于100或者第二个域小于50,则打印该行。

  • $ awk '$1 != 10' test-----如果第一个域不等于10就打印该行。

  • $ awk '/test/{print $1 + 10}' test-----如果记录包含正则表达式test,则第一个域加10并打印出来。

  • $ awk '{print ($1 > 5 ? "ok "$1: "error"$1)}' test-----如果第一个域大于5则打印问号后面的表达式值,否则打印冒号后面的表达式值。

  • $ awk '/^root/,/^mysql/' test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录。如果找到一个新的正则表达式root开头的记 录,则继续打印直到下一个以正则表达式mysql开头的记录为止,或到文件末尾。

139月/11

Google Analytics cookie内容详解

发布在 邵珠庆

cookie在WiKi上的解释是:指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

Cookie分为两种类型,第一方cookie和第三方cookie。Google Analytics使用第一方cookie

Google Analytics设置了5个不同的cookie,_utma, _utmb, _utmc, _utmz和 _utmv。分别用来存储不同的信息。所有的cookie统一使用_u-t-m开头,所以我们看到这三个字母就知道是google的cookie。

下面逐个介绍Google Analytics的cookie和功能。

_utma的主要功能:识别唯一身份访客

_utma的生存周期为2年。其中第二组的随机唯一ID和第三组的时间戳联合组成了访问者ID,Google Analytics通过这个ID来辨别网站的唯一访问者。而后面的几个时间戳用户计算网站停留时间访问次数

_utma Cookie存储的内容:127635166.1360367272.1264374807.1264374807.1264374807.1
第一组数字被叫做“域哈希”,是GA表示这个域的唯一代码。同一域中每个cookie的第一组数据都是“域哈希”,并且值都是一样的。
第二组数字是一个随机产生的唯一ID。
第三,四,五组数字是时间戳,其中第三组数字表示初次访问的时间。第四组数字表示上一次访问的时间,第五组数字表示本次访问开始的时间。
第六组数字是访问次数计数器。这个数字随着访问次数的增加而增加。
PS:上面的三个时间戳数字相同,并且最后的访问次数计数器是1,表示这是第一次访问。

_utmb的主要功能:和_utmc一起决定访客的Session

_utmb的生存周期为30分钟,当访问者在你的网站持续30分钟静止时,utmb将被删除。Google Analytics使用_utmb 和_utmc一起辨别一个session。

_utmb Cookie存储的内容:127635166.2.10.1264374807
第一组数字和_utma一样,是“域哈希”。
后面的几组数字是一些附加值。

_utmc的主要功能:和_utmb一起决定访客的Session

google analyitcs cookie utmc

_utmc是一个临时cookie,当用户关闭浏览器时_utmc将一起被删除

_utmc和_utmb一起来识别一个session,当用户访问一个网站时,Google Analytics会检查这两个cookie,如果缺少其中任何一个,Google Analytics都将认为这是一个新的session。
_utmc的内容:127635166 代表“域哈希”。

_utmz的主要功能:存储流量来源信息和链接标记的变量值。

_utmz的生存周期是6个月,_utmz中存储了所有流量的来源信息。
_utmz的内容中一共有4组数字:127635166.1264374807.1.1
第一组数字是“域哈希”。
第二组数字是时间戳。
第三组数字是session number。
第四组数字是campaign number 记录通过不同来源访问网站的次数。
utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
这些信息代表流量的来源,因为我是直接输入域名直接访问的,所以来源和媒介都是direct

_utmv的主要功能:自定义访问者的属性。

_utmv的生存周期是2年,存储通过_setVar()自定义用户属性。
_utmv的内容:127635166.user
第一组数字是“域哈希”。
第二个值user是通过_setVar()设置的用户属性。
PS:_utmv只有在调用了_setVar()时才会出现。
此外,还有两个cookie __utmx和__utmxx。这两个cookie不是由Google Analytics设置的,而是由Google的Website Optimizer用来做A/B测试或多变量测试用的。如果在访问某个页面后看到这两个cookie,那就说明这个页面正在进行页面优化测试,而你访问的 页面可能是测试中的某一个版本。

Google Analytics中的cookie比较多,每个cookie的属性和功能也各不一样。我做了一个Google Analytics cookie速查表,请在这里下载

 

 

Google Analytics(分析)如何使用 Cookie

Google Analytics(分析)利用 Cookie 定义用户会话,并提供 Google Analytics(分析)报告中的多种关键功能。Google Analytics(分析)设置或更新 Cookie 的目的仅在于收集报告所需数据。此外,Google Analytics(分析)仅使用第一方 Cookie。也就是说 Google Analytics(分析)针对您的域设置的所有 Cookie 仅会向您的域的服务器发送数据。这一做法有效地保证了 Google Analytics(分析)Cookie 成为您网站域的私有财产,来自其他域的任何服务器都无法篡改或获取其中的数据。

下表中列出了通过 Google Analytics(分析)Cookie 获取并在 Google Analytics(分析)报告中使用的信息类型。

功能 Cookie 说明 使用的 Cookie
设置您网站内容的范围 因为任何 Cookie 读/写访问都会同时受到 Cookie 名称和其所在域的限制,所以通过 Google Analytic(分析)进行的访问者跟踪会默认限制在安装跟踪代码网页所在域。一般来说,跟踪代码将安装在单个域中(并且没有其他子域),在这种情况下,通用设置是适用的。如果您希望跨多个域或子域跟踪内容,或将跟踪范围限制在单个域中更为具体的部分,您可以使用 ga.js 跟踪代码中的其他方法定义内容范围。有关详情,请参阅 Collection API 文档中的域和目录 所有 Cookie
确定访问者会话 针对 ga.js 的 Google Analytics(分析)跟踪使用两个 Cookie 来建立会话。如果这两个 Cookie 中的任一个缺失,用户的后续活动将会导致启动一个新会话。有关详细的定义以及将会终止会话的情景的列表,请参阅帮助中心中的会话一文。您可以使用 _setSessionCookieTimeout() 方法自定义默认会话时间的长度。

该描述专门针对网页的 ga.js 跟踪代码。如果您在其他环境(如 Flash 或移动设备)中使用 Google Analytics(分析)进行跟踪,请务必参阅说明文件中有关这些环境的内容,以了解其中的会话计算或建立的方式。

__utmb
__utmc
识别唯一身份访问者 __utma Cookie 会为访问您网站网页的每一个浏览器指定唯一的 ID。通过这种方式,使用同一浏览器对您网站进行的后续访问,将会视为同一(唯一身份)访问者的访问而被记录下来。因此,如果某用户同时使用 Firefox 和 Internet Explorer 与您的网站互动,Google Analytics(分析)报告会将其视为两位唯一身份访问者的活动进行跟踪。同样,如果两位访问者使用同一浏览器,但登录到各自的计算机帐户,那么这些 活动将按照两个唯一身份访问者 ID 进行记录。另一方面,如果两位访问者恰巧使用同一浏览器,同时共享同一计算机帐户,那么将按照一个唯一身份访问者 ID 进行记录,尽管事实上访问是由两个人分别进行的。 __utma
跟踪流量来源和浏览过程 当用户通过搜索引擎结果、直接链接或链接到您网页的广告到达您的网站时,Google Analytics(分析)会在 Cookie 中储存引荐类型的信息。Cookie 值字符串中的参数将得到解析,并通过 GIF 请求(utmcc 变量)发送。Cookie 的有效期为 6 个月。此 Cookie 会在用户对您网站的每个网页进行后续浏览时获得更新,进而确定访问者对您网站的浏览过程。 __utmz
自定义变量 您可以根据具体数据定义自己的报告细分。如果您在跟踪代码中使用 _setCustomVar() 方法定义了自定义变量,Google Analytics(分析)将使用此 Cookie 跟踪并报告这一信息。通常情况下,您可以使用此方法根据用户在您网站上选择的自定义人口统计学特点(收入、年龄范围、产品性能),对网站访问者进行细分。 ___utmv
Website Optimizer 您可以将 Google Analytics(分析)与 Google 网站优化工具配合使用,该工具可帮助您确定最有效的网站设计。网站优化脚本在您的网页中执行时,会将一个 _utmx Cookie 写入到浏览器中,并将其值发送给 Google Analytics(分析)。有关详情,请参阅 Google 网站优化工具帮助中心 ___utmx

一旦在网络浏览器中设置/更新了 Cookie,其中包含的报告所需数据将通过 utmcc 参数发送到 GIF 请求网址中记录的 Google Analytics(分析)服务器。


Google Analytics(分析)设置的 Cookie

Google Analytics(分析)会设置下表中介绍的 Cookie。在默认的配置和使用情况下,Google Analytics(分析)仅会设置表中的前 4 个 Cookie。

名称 说明 有效期
__utma 此 Cookie 通常会在该网络浏览器首次访问您的网站时写入其中。如果此 Cookie 被浏览器操作者删除,而该浏览器又对您的网站进行了后续访问,一个拥有不同唯一 ID 的 __utma Cookie 将会写入其中。此 Cookie 用于确定您网站的唯一身份访问者,并会在每次网页浏览时获得更新。此外,Google Analytics(分析)会将为此 Cookie 指定的唯一 ID 作为额外的安全措施,以确保此 Cookie 的有效性和可访问性。 设置/更新后 2 年。
__utmb 此 Cookie 用于建立和保持用户与您的网站之间的会话。当用户浏览您网站的某个网页时,Google Analytics(分析)代码会尝试更新此 Cookie。如果未能找到此 Cookie,Google Analytics(分析)会写入一个新的该 Cookie 并建立新的会话。每当用户访问您网站中的其他网页时,此 Cookie 的有效期会重新更新为 30 分钟,因此只要在 30 分钟周期内重复发生了用户活动,单个会话就会一直持续下去。如果用户在您网站中某网页的停留时间超过了 30 分钟,此 Cookie 就会过期。您可以通过 _setSessionCookieTimeout() 方法修改默认的用户会话时间的长度。 设置/更新后 30 分钟。
__utmc 此 Cookie 会和 __utmb Cookie 结合使用,确定是否为用户建立新的会话。具体来说,此 Cookie 没有特定的有效期,所以它将在用户退出浏览器时失效。如果某用户访问过您的网站后退出了浏览器并在 30 分钟内再次访问了您的网站,该用户将会由于缺少 __utmc Cookie 而必须建立新的会话,尽管事实上 __utmb Cookie 还尚未失效。 未设置。
__utmz 此 Cookie 会储存访问者到达您的网站通过的引荐类型,即是否通过直接方法、引荐连接、网站搜索或广告系列(例如广告或电子邮件)到达。这些信息会用来计算您网站的搜索引擎流量、广告系列和网页的导航方式。此 Cookie 会在每次网页浏览时获得更新。 设置/更新后 6 个月。
__utmv 此 Cookie 正常情况下在默认跟踪代码配置中不会出现。__utmv Cookie 通过 _setVar() 方法传递所提供的信息,您可以使用该方法创建自定义用户细分。然后,此字符串将通过 utmcc 参数传递到 GIF 请求网址中记录的 Google Analytics(分析)服务器。仅当您将 _setVar() 方法添加到您网站页面的跟踪代码中时,此 Cookie 才会写入浏览器中。 设置/更新后 2 年。
__utmx 此 Cookie 用于 Google 网站优化工具,并且仅当您的网页正确安装并配置了 Google 网站优化工具跟踪代码时才会设置。当优化脚本执行时,此 Cookie 会储存该访问者针对每个实验所分配到的变量,确保用户在您的网站体验的一致性。有关详情,请参阅 Google 网站优化工具帮助中心 设置/更新后 2 年。
207月/09

Linux的chattr与lsattr命令详解

发布在 邵珠庆

PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的
属性。

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

应用举例:

1、用chattr命令防止系统中某个关键文件被修改:
# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf
会显示如下属性
----i-------- /etc/resolv.conf

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages

2011月/07

Dreamweaver制作网页十几种技巧详解

发布在 邵珠庆

2007-11-20 11:59 作者: 邵珠庆  整理

1、灵活运用样式

熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon Style来调用Style标准,也可以在状态栏中的元素列表上单击右键来调用Style。虽然不同的方法达到的效果看似一样,但实际上产生的HTML代码则完全不同。比如用Custon Style来调用Style标准,在网页代码中就生成一个〈span〉标签,这样的标签一多就会使文件十分臃肿而且影响浏览器的解析速度,所以我们应尽量使用状态栏中的元素列表来调用Style。

2、活用Format Table命令

在复杂的网页设计中,表格的应用是最多的,因为利用表格可以自由地控制文本和图象在网页上出现的具体位置,从而使整个网页看上去紧凑统一。Dreamweaver在这方面也不甘落后,我们可以使用其中的“Format Table”(格式化表格)命令来快速地对表格应用预先设计好的样式。要使用预先设计好的样式,先将光标置于表格的任意一个单元格内,再选择“Command”→“Format Table”命令, 在随后出现的对话框中,从左边的列表中选择一个设计方案。按“Apply” 键来查看效果,如果不满意的话,还可以重新设置或者修改部分参数的值,如边界粗细,背景颜色等等。

3、同时链接到两个网页

我们都知道超级链接一次只能连到一个页面。如果我们要想一次在不同的框架页中打开文档,可以使用“Go To URL”JavaScript 行为。打开一个有框架的网页,选择文字或图象,然后从行为面板中选择“Go To URL”。我们会注意到Dreamweaver会在“Go To URL”对话框中显示所有可用的框架。选择其中一个我们想链接的框架并输入相应的URL后再选择另一个框架并输入另一个URL。

4、不给文件起中文名称

大家在制作好了网页后,通常会给网页起一个具有代表性的中文名称,一来能使人一看文件名就能大概了解文件所包含的内容,二来能够方便各个超级链接之间的相互调用。但如果你在Dreamweaver中这样做,就会发现Dreamweaver对中文文件名支持得不是太好,经常会有页面调用不正确的现象发生,所以我们以后在Dreamweaver中保存网页的时候,尽量用英文或者数字作为文件名称,这样就可以避免上面的出错现象。

5、巧妙设置字体分辨率

我们在制作网页的时候,经常有这种体会,那就是制作好的网页在本地计算机上浏览时很正常,但在另外一台计算机上浏览时发现原本漂亮的网页变得歪歪扭扭了,这是为什么呢?原来各个计算机的分辨率要使你的主页在不同的分辨率下都能正常显示,在 Dreamweaver中得到了较好的解决。在文档窗口的右下角,Dreamweaver 显示当前文档被设计成的分辨率大小。单击哪个数字,在弹出式菜单中可以为当前的页面指定显示分辨率,通过修改可以使你的主页更具灵活性。使不同分辨率的显示器都能较好地显示。

6、巧妙隐藏标签

如果在网页中插入了不可见的元素时,Dreamweaver会自动在页面上添加一个与之相应的元素标签,以便于我们选择不可见元素。但这并不全是件好事,比如我们在一个有很多层的页面中的第一行便插入一个表格,就会发现由于首行排列了太多的层元素标签而使得表格自动退到了页面的第二行,虽然在浏览时并不影响效果,但这确确实实会阻碍我们的工作。所以当我们觉得某个元素标签碍手碍脚时,就索性将之屏蔽掉。方法是按Ctrl+U打开Preferences面板,在Category中选中Invisibel Elements,在面板的右边将会出现所有的元素标签。只要将不需要的元素标签前的勾去掉,以后它就保证不会再出现了。

7、善用拖放技巧

我们在使用Dreamweaver编辑网页的时候,经常需要插入一些图象什么的,假设要插入的图象很多,按照常规方法来操作就显得非常麻烦。我们可以利用拖放技巧来很好地解决这个问题。首先我们把Dreamweaver的操作窗口变成活动窗口,以腾出空间来显示Explorer窗口,找到要插入的图象文件后,把它们一一用鼠标拖动到网页的适当部位,Dreamweaver将自动把这些图象的url添加到文件的HTML代码中,当然这里要求被拖动的图象文件必须是gif、jpg等web图象格式的文件。对于已经在网页中的图象也是一样,直接拖过来就可以了。但如果被拖动的图象上有超级链接,就不可以再使用拖动技术了,因为那时拖过来的仅仅是超级链接地址。

8、自动设置更新时间

我们知道一个网页要想获得更多的回头率,一个很重要的一条就是要不断更新。但对于我们这些个人网页来说,要天天及时更新恐怕不是很容易的事情。因此,我们希望网页能自动更新,下面就提供一个能自动更新修改时间的源代码,我们只要把这段源代码添加到…之间就能实现更新时间的目的了:

以下是引用片段:
<Script Language="javascript"> </style>;二是用鼠标依次单击Dreamweaver中的Text/Custom Style/Edit/Style Sheet/New/Redefine HTML Tag,并从中选择a,然后在decoration中选中none,最后单击确定就成功了。

  9、巧妙复制文字

在几个不同的应用程序中间相互复制文字,是我们在实际工作中可能要常做的事情。但是,如果我们从Dreamweaver中复制编辑区中的文字到另外一个应用程序的时候,HTML代码和文字将一起被复制过去了,那么我们该如何才能只把编辑区中的文字复制下来呢?我们知道,通常复制时都用快捷键 Ctrl - C 来操作,如果我们在复制的时候多按一个C键,那么Dreamweaver将只会复制选中的文字了。

10、善用快捷键

为了提高操作的效率,我们可以在Dreamweaver中使用快捷键,例如使用Ctrl-B或Ctrl-I来为文字应用黑体或斜体格式,也可以使用以下一些键盘快捷键来为选中的文本应用HTML格式:

Ctrl-0: 无格式   Ctrl-T: 段落   Ctrl-1: 标题 1  Ctrl-2: 标题 2 Ctrl-3: 标题 3   Ctrl-4: 标题 4   Ctrl-5: 标题 5   Ctrl-6: 标题 6

11、自动关闭网页

如果我们希望自己的网页在指定的时间内能自动关闭,不妨在网页源代码中的标签后面加入如下代码:

以下是引用片段:
<script LANGUAGE="javascript"> </script>

12、巧妙设置对象名称

我们在用Dreamweaver来制作非常复杂的效果时,有可能需要经常重复地使用某一个或者多个对象,例如我们经常需要定位某个特定的表格、图象等,如果我们没有给某一个网页中的多个对象取名的话,那么在重复应用这些对象的时候,可能很麻烦或者容易出错。为了能够方便调用这些对象,我们应该在每创建一个新的对象时,都记得给它取一个有代表性而且比较容易记忆的名称。在给这些对象命名时,我们可以通过对象的“属性”面板来操作就行了。

13、为图象链接增加动态效果

有时我们为了要达到一种逼真的效果,希望鼠标移动到某个链接上时能有动感产生。使用Dreamweaver可以很容易实现这种效果。设计时,我们首先需要准备两幅图象,第一幅是原始图象,第二幅是鼠标移动上去后的图象。接着用鼠标单击第一幅图,在属性面板中的链接栏中填上要链接的文件,然后单击键盘上的F8键,在弹出的Behaviors窗口中单击“+”号,随后选择“swap image”,在接着出现的窗口中选择第二幅图象,最后单击确定就可以了。