Sep 22 2005
acl使用例子
1.使文件1.txt可以被用户test读写
setfacl -m u:test:rw 1.txt
2.使文件1.txt可以被qmail组的组员读,但不能写
setfacl -m g:qmail:r 1.txt
3.把某一文件的ACL属性copy给另一文件
比如把文件1.txt的ACL属性copy给2.txt:
getfacl 1.txt | setfacl -set-file=- 2.txt
Sep 22 2005
1.使文件1.txt可以被用户test读写
setfacl -m u:test:rw 1.txt
2.使文件1.txt可以被qmail组的组员读,但不能写
setfacl -m g:qmail:r 1.txt
3.把某一文件的ACL属性copy给另一文件
比如把文件1.txt的ACL属性copy给2.txt:
getfacl 1.txt | setfacl -set-file=- 2.txt
Sep 12 2005
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在
1054:字段不存在
1065:无效的SQL语句,SQL语句为空
1081:不能建立Socket连接
1114:数据表已满,不能容纳任何记录
1116:打开的数据表太多
1129:数据库出现异常,请重启数据库
1130:连接数据库失败,没有连接数据库的权限
1133:数据库用户不存在
1141:当前用户无权访问数据库
1142:当前用户无权访问数据表
1143:当前用户无权访问数据表中的字段
1146:数据表不存在
1147:未定义用户对数据表的访问权限
1149:SQL语句语法错误
1158:网络错误,出现读错误,请检查网络连接状况
1159:网络错误,读超时,请检查网络连接状况
1160:网络错误,出现写错误,请检查网络连接状况
1161:网络错误,写超时,请检查网络连接状况
1062:字段值重复,入库失败
1169:字段值重复,更新记录失败
1177:打开数据表失败
1180:提交事务失败
1181:回滚事务失败
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205:加锁超时
1211:当前用户没有创建用户的权限
1216:外键约束检查失败,更新子表记录失败
1217:外键约束检查失败,删除或修改主表记录失败
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227:权限不足,您无权进行此操作
1235:MySQL版本过低,不具有本功能
Sep 08 2005
.
.
获取在线帮助
在ok提示符下可以使用下面的命令获取帮助
help 显示帮助的分类
help category 显示特定分类的可用命令,category使用提示的第一个单词
help command 显示特定命令的帮助
example:
ok help dump
Category: Memory access
dump ( addr length — ) display memory at addr for length bytes
ok
警告:在操作系统已经开始使用后,STOP-A进入OBP执行命令可能会失败,并且某些命令可能会使系统不可用需要重新启动。如:probe-scsi
2.Booting and Testing Your System
• Boot your system
• Run diagnostics
• Display system information
• Reset the system
Booting Your System
可用参数
• auto-boot?
确定系统加点后是否自动启动,默认一般是true,如果为false则自动进入OBP配置
即ok状态
• boot-command
这个参数用来设置当auto-boot?为true是启动系统使用的命令,默认为boot。你可以使用其他启动命令如:boot –s等。
• diag-switch?
如果为true则使用最大化自检启动系统。默认为false
• boot-device
设定自动启动时的启动设备,一般是你的安装操作系统的硬盘作为启动盘。
Continue Reading »
Sep 08 2005
1.Introduction
Sed(Stream EDitor)为 UNIX 系统上提供将编辑工作自动化的编辑器 , 使用者无需直接编辑数据。使用者可利用 sed 所提供 20 多种不同的函数参数 , 组合(批注 [1])它们完成不同的编辑动作。此外 , 由于 sed 都以行为单位编辑文件 , 故其亦是行编辑器(line editor)。
一般 sed 最常用在编辑那些需要不断重复某些编辑动作的档上 , 例如将文件中的某个字符串替换成另一个字符串等等。这些相较于一般 UNIX 编辑器(交谈式的, 如 vi、emacs)用手动的方式修改檔 , sed 用起来较省力。下面几节将分别介绍:
何时使用 sed
何处获得 sed
sed 能做那些编辑动作
sed 如何工作
1.1 何时使用 sed
在修改檔时 , 如果不断地重复某些编辑动作 , 则可用 sed 自动一次执行这些编辑动作。例如要使 received 文件内 1000 封电子信件内的发信人属名 “Tom” 改成 “John” , 此时只要在命令列上执行一简单的 sed 命令就可把檔内所有的 “Tom” 字符串替换成 “John”。
再者 , 当檔需要许多不同编辑动作时 , 则 sed 一次可执行那些不同的编辑动作。例如 sed 能一次执行完将檔中所有空白行删除、替换字符串、并将使用者输入的文字添加在文件的第六行等等不同的编辑动作。
1.2 何处获得 sed
一般的 UNIX 系统 , 本身即附有 sed。不同的 UNIX 系统所附的 sed 版本亦不尽相同。若读者所使用的 UNIX 系统上未附有 sed , 则可透过 anonymous ftp 到下列地方去取得 :
phi.sinica.edu.tw:/pub/GNU/gnu
gete.sinica.edu.tw:/unix/gnu
ftp.edu.tw:/UNIX/gnu
ftp.csie.nctu.edu.tw:/pub/Unix/GNU
ftp.fcu.edu.tw: /pub3/UNIX/gnu
axp350.ncu.edu.tw:/Packages/gnu
leica.ccu.edu.tw :/pub2/gnu
mail.ncku.edu.tw :/pub/unix/gnu
bbs.ccit.edu.tw :/pub1/UNIX/gnu
prep.ai.mit.edu.tw:/pub/gnu
1.3 sed 能做那些编辑动作
sed 可删除(delete)、改变(change)、添加(append)、插入(insert)、合并、交换文件中的数据行 , 或读入其它文件的数据到文件中 , 也可替换(substuite)它们其中的字符串、或转换(tranfer)其中的字母等等。例如将檔中的连续空白行删成一行、 “local” 字符串替换成 “remote” 、”t” 字母转换成 “T”、将第 10 行数据与第 11 数据合并等。
1.4 sed 如何工作
如同其它 UNIX 命令 , sed 由标准输入读入编辑文件并由标准输出送出结果。下图表示 sed 将资料行 “Unix” 替换成 “UNIX” ,
在图中 , 上方 standard input 为标准输入 , 是读取数据之处 ; standard output 为标准输出 , 是送出结果之处 ; 中间 sed 方块的下面两个虚线方块表示 sed 的工作流程。其中 , 左边虚线方块表示 sed 将标准输入数据置入 pattern space , 右边虚线方块表示 sed 将 pattern space 中编辑完毕后的数据送到标准输出。
在虚线方块中 , 两个实线方块分别表示 pattern space 与 sed script。其中 , pattern space 为一缓冲区 , 它是 sed 工作场所 ; 而 sed script 则表示一组执行的编辑指令。
在图中, 左边虚线方块 “Unix” 由标准输入置入 pattern space ; 接着 , 在右边虚线方块中 , sed 执行 sed script 中的编辑指令 s/Unix/UNIX/ (批注 [2]) , 结果 “Unix” 被替换成 “UNIX” , 之后 , “UNIX” 由 pattern space 送到标准输出。
总合上述所言 , 当 sed 由标准输入读入一行数据并放入 pattern space 时 , sed 依照 sed script 的编辑指令逐一对 pattern space 内的数据执行编辑 , 之后 , 再由 pattern space 内的结果送到标准输出 , 接着再将下一行数据读入。如此重复执行上述动作 , 直至读完所有数据行为止。
使用 sed
Sed 命令列可分成编辑指令与文件文件部份。其中 , 编辑指令负责控制所有的编辑工作 ; 檔檔表示所处理的档案。sed 的编辑指令均由位址(address)与函数(function)两部份组成 , 其中 , 在执行时 , sed 利用它的地址参数来决定编辑的对象;而用它的函数参数(批注[3])编辑。
此外 , sed 编辑指令 , 除了可在命令列上执行 , 也可在档案内执行。其中差别只是在命令列上执行时 , 其前必须加上选项 -e ; 而在档案(批注[4])内时 , 则只需在其文件名前加上选项 -f。另外 , sed 执行编辑指令是依照它们在命令列上或檔内的次序。
下面各节 , 将介绍执行命令列上的编辑指令 、sed 编辑指令、执行档案内的编辑指令、执行多个档案的编辑、及执行 sed 输出控制。
2.1 执行命令列上的编辑指令
2.2 sed 编辑指令
2.3 执行档案内的编辑指令
2.4 执行多个档案的编辑
2.5 执行 sed 输出控制
2.1.执行命令列上的编辑指令
当编辑指令(参照[section 2.2])在命令列上执行时 , 其前必须加上选项 -e 。其命令格式如下 :
sed -e ‘编辑指令1′ -e ‘编辑指令2′ … 文件檔
其中 , 所有编辑指令都紧接在选项 -e 之后 , 并置于两个 ” ‘ ” 特殊字符间。另外 , 命令上编辑指令的执行是由左而右。
一般编辑指令不多时 , 使用者通常直接在命令上执行它们。例如 , 删除 yel.dat 内 1 至 10 行数据 , 并将其余文字中的 “yellow” 字符串改成 “black” 字符串。此时 , 可将编辑指令直接在命令上执行 , 其命令如下 :
sed -e ‘1,10d’ -e ’s/yellow/black/g’ yel.dat
在命令中 , 编辑指令 ‘1,10d’(批注[5])执行删除 1 至 10 行数据 ; 编辑指令 ’s/yellow/black/g’(批注[6]) , “yellow” 字符串替换(substuite)成 “black” 字符串。
2.2 sed 的编辑指令
sed 编辑指令的格式如下 :
[address1[,address2]]function[argument]
其中 , 地址参数 address1 、address2 为行数或 regular expression 字符串 , 表示所执行编辑的数据行 ; 函数参数 function[argument] 为 sed 的内定函数 , 表示执行的编辑动作。
下面两小节 , 将仔细介绍地址参数的表示法与有哪些函数参数供选择。
2.2.1 地址(address)参数的表示法
实际上 , 地址参数表示法只是将要编辑的数据行 , 用它们的行数或其中的字符串来代替表示它们。下面举几个例子说明(指令都以函数参数 d(参照[section4.2]) 为例) :
删除文件内第 10 行数据 , 则指令为 10d。
删除含有 “man” 字符串的数据行时 , 则指令为 /man/d。
删除档内第 10 行到第 200 行数据, 则指令为 10,200d。
删除档内第 10 行到含 “man” 字符串的数据行 , 则指令为 10,/man/d。
接下来 , 以地址参数的内容与其个数两点 , 完整说明指令中位址参数的表示法(同样也以函数参数 d 为例)。
地址参数的内容:
地址为十进制数 : 此数字表示行数。当指令执行时 , 将对符合此行数的数据执行函数参数指示的编辑动作。例如 , 删除数据文件中的第 15 行数据 , 则指令为 15d(参照[section4.2])。其余类推 ,如删除数据文件中的第 m 行数据 , 则指令为 md 。
地址为 regular expression(参照[附录 A]):
当数据行中有符合 regular expression 所表示的字符串时 , 则执行函数参数指示的编辑动作。另外 , 在 regular expression 前后必须加上 “/”。例如指令为 /t.*t/d , 表示删除所有含两 “t” 字母的数据行。其中 , “.” 表示任意字符; “*” 表示其前字符可重复任意次 , 它们结合 “.*” 表示两 “t” 字母间的任意字符串。
地址参数的个数 : 在指令中 , 当没有地址参数时 , 表示全部数据行执行函数参数所指示的编辑动作; 当只有一地址参数时 , 表示只有符合地址的数据行才编辑 ; 当有两个地址参数 , 如 address1,address2 时 , 表示对数据区执行编辑 , address1 代表起始数据行 , address2 代表结束资料行。对于上述内容 , 以下面例子做具体说明。
例如指令为
d
其表示删除文件内所有数据行。
例如指令为
5d
其表示删除文件内第五行资料。
例如指令为
1,/apple/d
其表示删除资料区 , 由檔内第一行至内有 “apple” 字符串的数据行。
例如指令为
/apple/,/orange/d
其表示删除资料区 , 由檔内含有 “apple” 字符串至含有 “orange” 字符串的数据行
2.2.2 有那些函数(function)参数
下页表仲介绍所有 sed 的函数参数(参照[chapter 4])的功能。
函数参数 功能
: label 建立 script file 内指令互相参考的位置。
# 建立批注
{ } 集合有相同位址参数的指令。
! 不执行函数参数。
= 印出资料行数( line number )。
a 添加使用者输入的数据。
b label 将执行的指令跳至由 : 建立的参考位置。
c 以使用者输入的数据取代数据。
d 删除数据。
D 删除 pattern space 内第一个 newline 字母 前的数据。
g 拷贝数据从 hold space。
G 添加资料从 hold space 至 pattern space 。
h 拷贝数据从 pattern space 至 hold space 。
H 添加资料从 pattern space 至 hold space 。
l 印出 l 资料中的 nonprinting character 用 ASCII 码。
i 插入添加使用者输入的数据行。
n 读入下一笔资料。
N 添加下一笔资料到 pattern space。
p 印出资料。
P 印出 pattern space 内第一个 newline 字母 前的数据。
q 跳出 sed 编辑。
r 读入它檔内容。
s 替换字符串。
t label 先执行一替换的编辑指令 , 如果替换成牛p>则将编辑指令跳至 : label 处执行。
w 写资料到它文件内。
x 交换 hold space 与 pattern space 内容。
y 转换(transform)字符。
虽然 , sed 只有上表所述几个拥有基本编辑功能的函数 , 但由指令中位址参数和指令与指令间的配合 , 也能使 sed 完成大部份的编辑任务。
2.3 执行档案内的编辑指令
当执行的指令太多 , 在命令列上撰写起来十分混乱 , 此时 , 可将这些指令整理储存在档案(譬如檔名为 script_file )内 , 用选项 -f script_file , 则让 sed 执行 script_file 内的编辑指令。其命令的格示如下 :
sed -f script_file 文件檔
其中 , 执行 script_file 内编辑指令的顺序是由上而下。例如上一节的例子 , 其可改成如下命令:
sed -f ysb.scr yel.dat
其中 , ysb.scr 檔的内容如下 :
1,10d
s/yellow/black/g
Sep 07 2005
l2tp 1701/udp #Layer Two Tunneling Protocol
pptp 1723/tcp #Point-to-point tunnelling protocol
GRE(协议47),ESP(协议50),udp500,udp4500