2008年7月25日

配置weblogic服务器

 

///////////////////////////////////////////////////////////////////////////////
                         系 统 环 境 与 配 置
  autoer:   feng13
///////////////////////////////////////////////////////////////////////////////
一.系统环境
oracle817
jbuilderx
weblogic812
二。配置步骤:
1.oracle817
 (1)在安装oracle可直接将全局数据库名设为:SDDEPG;
 (2)安装完以后打开开始菜单中Oracle DBA Studio
     用户名:system    密码:manager
 (3)使用SDDEPG数据库,并创建用户:SDDEPG 密码为:SDDEPG
    并为该用户添加DBA权限
 (4)给SDDEPG数据库定义名字为SDDEPG的表空间。初步定义为:开发阶段30M,实施时使用500M。
 (5)使用PL/SQL 并以SDDEPG用户名登陆,密码为SDDEPG,如果登陆正常说明oracle正常安装
 (6)登陆后选择my objects,并选择Tools中Import Table 中的SQL Inserts浏览并找到《SDDEPG系统文档》即可建立数据库。
2.Jbuilderx
 (1)安装Jbuilderx,默认安装即可,
 (2)打开Jbuilderx后选择File——new——Pull Project from CVS
 (3)在Step 1 of 4 中,通过Target directory来更改项目在本机的存放目录;
 (4)在Step 2 of 4 中,需要填写的内容如下
    Special port:2401   Server:192.168.0.102   User:lgz
 (5)在Step 3 of 4 中,需要填写的参数如下
    Repository path :/sddepg
    Module name:sddepg
    点击next需要添入密码:123
    若无错误即可连接成功进入在Step 4 of 4。
3.weblogic812
  (1)安装weblogic,默认安装即可;
  (2)在开始菜单中选择Weblogic 的Configuration新建weblogic配置
     在BEA Weblogic Congiguration Wiazard 中默认 Basic Weblogi Server Domain
     默认快速配置,在配置管理用户名和密码中都统一为:用户名为weblogic  密码为12345678
     设置好以后创建即可。
  (3)先在开始菜单中打开启动Weblogic服务。BEA Weblogic-User Projects mydomin-StartServer
     打开internet浏览器,在地址栏输入http://localhost:7001/console
     登陆weblogic,登录名为weblogic,密码为12345678
  (4)配置连接池:点击JDBC中的Connection Pools
     选择Configure a new JDBC Connection Pool 所需要填写的参数如下:
     DataBase Type:Oracle;
     Data Driver:Oracle's Driver(Thin) Versions 8.1.7.9.0.1.9.2.0
     Name:MyJDBC Connection Pool
     Data base Name:SDDEPG
     Host Name:localhost
     Port:1521
     Datebase User Name:SDDEPG
     Password:SDDEPG
     填写好以后点击 Test Driver Configuration 若无错误则显示Connection Successful
     点击Create and deploy.
   (5)配置数据源:点击JDBC 中 Data Sources 选择Configure a new JDBC Data Source
      参数如下:
      Name:MyJDBC Data Sourse
      JNDI Name:sddepgDataSource
4.Jbuilderx 与 Weblogic 整合
    打开Jbuilderx选择Tools 中 Configure Servers
      选择左边的Weblogic Platform Server8x
      在右边的General中配置参数如下(本例中weblogic安装在d盘bea中):
      Home directory:D:/bea/weblogic81/server;
      Main class:weblogic.Server
      VM parameters:78 -Dweblogic.management.username=weblogic;
      Working directory:D:/bea/user_projects/domains/mydomain.
      在Custom中的配置如下:
      BEA home directory: D:/bea;
      JDK inStallation directory:D:/bea/jdk141_05;
      Domain directory:D:/bea/user_projects/domains/mydomain;
      User name:weblogic;
      Password:12345678
      Server name: myserver
    最后在Project-Project Properties设置相应属性。

posted @ 2008-07-25 19:32 wangyaqin 阅读(170) | 评论 (0)编辑 收藏

2008年7月18日

Oracle数据导入导出imp/exp命令   
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
 
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
 DOS中可以执行时由于 在oracle 8i 中  安装目录ora81BIN被设置为全局路径,
 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
 
下面介绍的是导入导出的实例。
数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
   exp system/manager@TEST file=d:daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
 3 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
 
  上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
  也可以在上面命令后面 加上 compress=y 来实现。

数据的导入
 1 将D:daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:daochu.dmp
   imp aichannel/aichannel@HUST full=y  file=d:datanewsmgnt.dmp ignore=y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2 将d:daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:daochu.dmp  tables=(table1)
 
 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
 
注意:
 操作者要有足够的权限,权限不够它会提示。
 数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

附录一:
 给用户增加导入数据权限的操作
 第一,启动sql*puls
 第二,以system/manager登陆
 第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用户名字
 第五, 运行-cmd-进入dmp文件所在的目录,
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp

 执行示例:
 F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp

屏幕显示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation.  All rights reserved.

连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production

经由常规路径导出由EXPORT:V08.01.07创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
. 正在将AICHANNEL的对象导入到 AICHANNEL
. . 正在导入表                  "INNER_NOTIFY"          4行被导入
准备启用约束条件...
成功终止导入,但出现警告。

 
附录二:
 Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
  先建立import9.par,
  然后,使用时命令如下:imp parfile=/filepath/import9.par
  例 import9.par 内容如下:
        FROMUSER=TGPMS      
        TOUSER=TGPMS2     (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)         
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log

 补充:
1.在导入导出命令中加上feedback=1000可以让过程显示一个不断增多的“...”,以改变以往的闪烁的光标
posted @ 2008-07-18 21:01 wangyaqin 阅读(172) | 评论 (0)编辑 收藏
 

ftp命令

文件传输软件的使用格式为:FTP<FTP地址>,若连 接成功,系统将提示用户输入用户名及口令:
LOGIN: (输入合法的用户名或者“ANONMOUS”):
PASSWORD: (输入合法的口令,若以“ANONMOUS”方式登录,一般不用口令):

第一节 FTP命令基础

进入想要连接的FTP站点后,用户就可以进行相应的文件传输操作了,其中一些重要 的命令及相似的命令 如下:
1)HELP、 ?、RHEIP、REMOTEHELP
HELP显示LOCAL端的命令说明,若不接受则显示所有可用命令;
?相当于HELP,例如:?CD:
RHELP同HELP,只是它用来显示REMOTE端的命令说明;
REMOTEHELP相当于RHELP。
2)ASC(ASCll)、Bm(BmARY)、IMAGE、TYPE
ASCII切换传输模式为文字模式(只能用来传送DOC文件,因为是7-BIT);
BINARY切换传输模式为二进制模式(除文字文件外皆用此模式);
IMAGE相当于BINARY:
TYPE让你更改或显示目前传输模式。
3)BYE、QUIT
BYE退出FTP:
QUIT相当于BYE。
4)CD、CDUP、LCD、P~WD、 !
CD改变当前工作目录,例如:CD\PUB;
CDUP回到上一层目录,相当于你打CD..:
LCD让你更改或显示LOCAL端的工作目录,例如:LCD\TMP;
PWD显示目前的工作目录(REMOTE端):
!让你执行外壳命令,例如:!LS。
5)DELETE、MDELETE、RENAME
DELETE删除REMOTE端的文件:
MDELETE批量删除文件,需配合?或,*
RENAME更改REMOTE端的文件名。
6)GET、MGET、PUT、MPUT、RECV、SEND
GET下传文件;
MGET批量下传文件,需配合万用字元,例如:MGET*.GZ;
PUT上传文件;
MPUT批量上传文件,需配合万用字元;
RECV相当于GET(RECV为RECEWE的简写):
SEND相当于PUT。
7)HASH、PROMPT、VERBOSE、STATUS、BELL
HASH切换#字号的出现,每一个#字号表示传送了1024/8192BYTES:
PROMPT切换iNTERACTIVEON/OFF;
VERBOSE切换所有文件传输过程的显示;
STATUS显示目前的一些参数:
BELL当指令做完时会发出叫声。
8)LS、DIR、MLS、MDIR、MKDIR、RMDIR
LS有点象UNIX下的LS(LIST)命令:
DIR相当于LS-L(LIST-LONG);
MLS只是将远端某目 录下的文件存于LOCAL端的某文件里;
MDIR相当于MLS;
MKDIR象DOS下的MD(创建子目录)一样:
RMDIR象DOS下的RD(删除子目录)一样。
9)OPEN、CLOSE、DISCONNECT、USER ·
OPEN连接某个远端FTP服务器;
CLOSE关闭目前的连接; DISCONNECT相当于CLOSE;
USER再输入一次用户名和口令(有点像UNIX下的SU)。

第二节FTP命令完全掌握

FTP命令是Intemet用户使用最频繁的命令之一,不论在DOS还在UNIX操作系统下使 用FTP,都会遇到大量的 FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便 使用者,并收到事半功倍之效。
FTP的命令行格式为:
FTP-v-d-i-n-g[主机名],其中:
—v——显示远程服务器的所有响应信息;
—n.------限制FTP的自动登录,即不使用; ,
n-----etRc文件:
-d——使用调试方式:
·g——取消全局文件名。
FTP使用的内部命令如下(中括号表示可选项):
1)[crud[args)1:在本地机中执行交互shell,exit回到FTP环境, 列如:!LS*.zip.
2)$macro-amc[args儿执行宏定义macro-name。
3)accountlpassword]:提供登录远程系统成功后访问系统资源所需的补充口令。
4)append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远系统文件名,则使用本地文件名。
5)aSCii:使用ascII型传输方式。
6)bell:每个命令执行完毕后计算机响铃—次
7)bin:使用二进制文件传输方式
8)bye..退出FTP会话过程—
9)case:在使用mget时,将远程主文件名中的大写字母转为小写字母
10)cdremote·dir:进入远程主机目录。
11)cdup..进入远程主机目录的父目录。
12)chmodmodefile-name:将远程主机文件file-name的存取方式设置为mode。列如:chmod777a.OUt。
13)close:中断与远程服务器的FTP会话(与open对应)。
14)cr:使用aSSC“方式传输文件时,将回车换行转换为回行
15)deleteremote-file-删除远程主机文件:
16)debugldebug-value3:.设置调试方式,显示发送至远程主机的每条命令。例如:debup3,若设为0,表示取消debug。
17)dir[remote-dir][Local-file]:显示远程主机目录,并将结果存入本地文件local-file:
18)disconnection-.同close。
19)formformat:将文件传输方式设置为format,缺省为file方式。
20)getremote-file[10cal-file]:将远程主机的文件remote-file传至本地 硬盘的local-file。
21)glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22)hash:每传输1024字节,显示一个hash符号(#)。
23)help[cmd]:显示FTP内部命令cmd的帮助信息,如.-helpget。
24)idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25)image:设置二进制传输方式(同binary)。
26)LCD[DIR]:将本地工作目录切换至dir。
27)LS[remote-DIR][LOCAL-FILE]:显示远程目录remote-dir,并存入本地文local-fileo
28)macdefmacro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29)mdelete[remote-file]:删除远程主机文件。
30)mdirremote-fileslocal-file:与dlr类似,但可指定多个远程文件。 列如mdir*.O.*.zipoutfiLe。
31)mgetremote-files:传输多个远程文件。
32)mkdirdirname:在远程主机中建一目录。
33)misremote-filelocal-file.同nlist,但可指定多个文件名。
34)mode[modename]:将文件传输方式设置为modename,缺省为stream方式。
35)modtimefile-name..显示远程主机文件的最后修改时间。 ·
36)mputlocal-file:将多个文件传输至远程主机,
37)newerfile-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间巨近,则重新传输该文件。 ·
38)nlist正remote·di41local-file3:显示远程主机目录的文件清单,并存入本地硬盘的local-fileo
39)nmap[npattem outpattem]设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmapSl.S2.S3[,][,],则传输文件a1.a2.a3时,文件名变为a1,a20该命令特别适用于远程主机为非UNIX机的情况o
40)ntrans[Inchars[outchars]]设置文件名字符的翻译机制,如ntranslR,则文件名LLI将变为RRR。
41)openhost[port]:建立指定FTP服务器连接,可指定连接端口。
42)passive:进入被动传输方式。
43)prompt:设置多个文件传输时的交互提示。
44)proxy FTP-cmd:在次要控制连接中,执行一条FTP命令,该命令允许连接两个FTP服务器,以在两个服务器间传输文件。第一条FTP命令必须为open,以首先建立两个服务器间的连接。
45)putlocal-file[remote-file]:将本地文件local-file传送至远程主机。
46)vwd:显示远程主机的当前工作目录。
47)qmt-.同bye,退出FTP会话。
48)quote argl,arg2。。。:将参数逐字发至远程卸服务器,如:quote, syst。
49)recvremote-file[Local-file):同get。
50)reget remote-file[Local-file]:类似于get,但若local-file存在,则从上次传输中断处继续传输。
51)rhelp[cmd-name]:请求获得远程主机的帮助。
52)rstatus[FILe-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态,
53)rename[FRom)[to]:更改远程主机文件名。
54)reset:清除回答队列。
55)restart marker:从指定的标志marker处,重新开始get或put,如:restartl30。
56)rmdirdir-name:删除远程主机目录。
57)mnique:设置文件名惟一性存储,若文件存在,则在原文件后加后缀.1,.2等
58)send local-file[remote-file):同put
59)sendport:设置PORT命令的使用。
60)siteargl,arg2。。。:将参数作为SITE命令逐字发送至远程卸主机。
61)sizefile-name:显示远程主机文件大小,如:Slteidle7200。
62)stares:。显示当前FTP状态。 ·
63)struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
64)suniclue:将远程主机文件名存储设置为惟一(与mnique对应)。
65)system:显示远程主机的操作系统类型。
66)tenex:将文件:传输类型设置为TENEX机的所需的类型
67)tick:设置传输时的字节计数器
68)trace:设置包跟踪。
69)type[type-name):设置文件传输类型为type-name,缺省为ascii,
例如:typebinary,设置二进制传输方式。
70)umask[newmask):将远程服务器的缺省umask设置为newmask。 例如:umask 3。
71)user user-name [passwordⅡaccount]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v参数,即设置详尽报告方式,FTP服务器的所有响应都将显示给用户,缺省为on。
73)?[cmd]:同help。
posted @ 2008-07-18 20:57 wangyaqin 阅读(212) | 评论 (0)编辑 收藏
 
Linux修改IP地址
 

LINUX--修改IP地址
A、修改ip地址
即时生效:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
B、修改default gateway
即时生效:
# route add default gw 192.168.0.254
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
C、修改dns
修改/etc/resolv.conf
修改后可即时生效,启动同样有效
D、修改host name
即时生效:
# hostname fc2
启动生效:
修改/etc/sysconfig/network
posted @ 2008-07-18 20:56 wangyaqin 阅读(867) | 评论 (0)编辑 收藏

2008年7月9日

 

oracle 存储过程的基本语法

1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程
名字
(
   
参数1 IN NUMBER,
   
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT
 
select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
 
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
 
例子:
  BEGIN
  SELECT col1,col2 into
变量1,变量2 FROM typestruct where xxx;
  EXCEPTION
  WHEN NO_DATA_FOUND THEN
      xxxx;
  END;
  ...

3.IF
判断
  IF V_TEST=1 THEN
    BEGIN
       do something
    END;
  END IF;

4.while
循环
  WHILE V_TEST=1 LOOP
  BEGIN
 XXXX
  END;
  END LOOP;

5.
变量赋值
  V_TEST := 123;

6.
for in 使用cursor
  ...
  IS
  CURSOR cur IS SELECT * FROM xxx;
  BEGIN
 FOR cur_result in cur LOOP
  BEGIN
   V_SUM :=cur_result.
列名1+cur_result.列名2
  END;
 END LOOP;
  END;

7.
带参数的cursor
  CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
  OPEN C_USER(
变量值);
  LOOP
 FETCH C_USER INTO V_NAME;
 EXIT FETCH C_USER%NOTFOUND;
    do something
  END LOOP;
  CLOSE C_USER;

8.pl/sql developer debug
 
连接数据库后建立一个Test WINDOW
 
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

  1. 存储过程 包含三部分: 声明,执行部分,异常。   
  2. 可以有无参数程序和带参数存储过程。   
  3. 无参程序语法   
  4. 1 create or replace procedure NoParPro   
  5. 2 as    ;   
  6. 3 begin   
  7. 4   ;   
  8. 5 exception   
  9. 6       ;   
  10. 7 end;   
  11. 8   
  12.   
  13.     带参存储过程实例   
  14. 1 create or replace procedure queryempname(sfindno emp.empno%type) as   
  15. 2         sName emp.ename%type;   
  16. 3         sjob emp.job%type;   
  17. 4 begin   
  18. 5         ....   
  19. 7 exception   
  20.            ....   
  21. 14 end;   
  22. 15   
  23.   
  24.     带参数存储过程含赋值方式   
  25. 1 create or replace procedure runbyparmeters   (isal in emp.sal%type,   
  26.                              sname out varchar,sjob in out varchar)   
  27. 2   as icount number;   
  28. 3   begin   
  29. 4        select count(*) into icount from emp where sal>isal and job=sjob;   
  30. 5       if icount=1 then   
  31. 6          ....   
  32. 9       else  
  33. 10          ....   
  34. 12        end if;   
  35. 13   exception   
  36. 14        when too_many_rows then   
  37. 15        DBMS_OUTPUT.PUT_LINE('返回值多于1');   
  38. 16        when others then   
  39. 17        DBMS_OUTPUT.PUT_LINE('RUNBYPARMETERS过程中出错!');   
  40. 18   end;   
  41. 19   
  42.   
  43.    过程调用   
  44.    方式一   
  45. 1 declare   
  46. 2         realsal emp.sal%type;   
  47. 3         realname varchar(40);   
  48. 4         realjob varchar(40);   
  49. 5   begin   
  50. 6         realsal:=1100;   
  51. 7         realname:='';   
  52. 8         realjob:='CLERK';   
  53. 9         runbyparmeters(realsal,realname,realjob);      --必须按顺序   
  54. 10         DBMS_OUTPUT.PUT_LINE(REALNAME||'    '||REALJOB);   
  55. 11   END;   
  56. 12   
  57.   
  58.    方式二   
  59. 1 declare   
  60. 2        realsal emp.sal%type;   
  61. 3        realname varchar(40);   
  62. 4        realjob varchar(40);   
  63. 5 begin   
  64. 6        realsal:=1100;   
  65. 7        realname:='';   
  66. 8        realjob:='CLERK';   
  67. 9        runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);   --指定值对应变量顺序可变   
  68. 10        DBMS_OUTPUT.PUT_LINE(REALNAME||'    '||REALJOB);   
  69. 11 END;   
  70. 12   

 

posted @ 2008-07-09 11:48 wangyaqin 阅读(765) | 评论 (0)编辑 收藏
 
 

Unix命令。

以下只说明各指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual.

a. 关於档案/目录处理的指令:

1. ls
这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是
某一个档案的内容显示出来。

如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所
有档案。

也可以在 ls 後面加上所要察看的目录名称或档案的名称,如

% ls /home2/X11R5

% ls first

ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下:

-a : UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls
将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh
的初设档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a

-l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,
如档案存取权,档案拥有者( owner ),档案大小,档案最後更新
日期,甚而 symbolic link 的档案是 link 那一个档等等。如下

% ls -l

drwx--x--x 2 jjtseng 512 Aug 8 058 18
drwx--x--x 2 jjtseng 512 Aug 8 220 19
-rw------- 1 jjtseng 566 Aug 8 05:28 makefile

2. cp
cp 这个指令的意义是复制("COPY") , 也就是将一个或多个档案复制成另
一个档案或者是将其复制到另一个目录去。

cp 的用法如下:

cp f1 f2 : 将档名为 f1 的档案复制一份为档名为 f2 的档案。
cp f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都以相同的档名复制一
份放到目录 dir 里面。
cp -r dir1 dir2 : dir1 的全部内容全部复制到 dir2 里面。

cp 也有一些参数,如下:

-i : 此参数是当已有档名为 f2 的档案时,若迳自使用 cp 将会将原来 f2
的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者
的回答是y(yes)才执行复制的动作。

-r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个
目录中。

3. mv
mv 的意义为 move , 主要是将一档案改名或换至另一个目录。如同 cp ,它也有
三种格式:

mv f1 f2 : 将档名为 f1 的档案变更成档名为 f2 的档案。
mv dir1 dir2 : 将档名为 dir1 的目录变更成档名为 dir2 的目录。
mv f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都移至目录 dir 里面。

mv 的参数有两个,-f -i , 其中 -i 的意义与 cp 中的相同,均是 interactive
询问之意。而 -f 为强迫( force ) , 就是不管有没有同名的档案,反正我就是要
搬过去,所有其他的参数遇到 -f 均会失效。

4. rm
rm 的意义是 remove ,也就是用来杀掉一个档案的指令。在 UNIX 中一
个被杀掉的档案除非是系统恰好有做备份,否则是无法像 DOS 里面一样还能够救回
来的。所以在做 rm 动作的时候使用者应该要特别小心。

rm 的格式如下:

rm f1 f2 f3 .....

rm 的参数比较常用的有几个: -f , -i , -r

-f : 将会使得系统在删除时,不提出任何警告讯息。
-i : 在除去档案之前均会询问是否真要除去。
-r : 递回式的删除。

小心不要随便使用 rm -rf , 否则有一天你会"欲哭无泪"......

5. mkdir
mkdir 是一个让使用者建立一个目录的指令。你可以在一个目录底下使用
midir 建立一个子目录,使用的方法如下:

mkdir dirname1 [ dirname2 ... ]

如此你就可以建立一个或多个目录。

6. chdir ( cd )
这是让使用者用来转移工作目录用的。
chdir 的用法如下:

chdir dirname

如此你就可以将目前的目录转移到 dirname 这一个目录去。
或使用 "chdir .." 来转移到上一层目录。

7. rmdir
相对於 mkdir rmdir 是用来将一个"空的"目录杀掉的。如果一个目录下面
没有任何档案,你就可以用 rmdir 指令将其除去。rmdir 的使用法如下:

rmdir dirname1 [ dirname2 .... ]

如果一个目录底下有其他的档案, rmdir 将无法将这个目录杀掉,除非使用
rm 指令的 -r 选项。

8. pwd
pwd 会将目前目录的路径( path )显示出来,例如:

9. cat/more/less
以上三个指令均为察看档案内容的指令。cat 的意义是猫....不不不,是
concatenate ,在字典上的意思是"连结,串成锁状"( 语出资工电子
词典 cdict ),其实就是把档案的内容显示出来的意思。 cat 有许多奇怪
的参数,较常为人所使用的是 -n 参数,也就是把显示出来的内容加上行
号。 cat 的用法如下:

cat [-n] :自标准输入读进内容,你可以用 pipe 将别的程式的输出转向
cat .
cat [-n] filename : filename 的内容读进来,显示在标准输出上。

问题在於 cat 它是不会停下来的,因此并不好用( 试想如果一个萤幕二十
四行,而一个档案四百行,cat 一出来将会劈哩啪啦不断的卷上去,使用者
很难据此得到他们所需的资讯。) 所以才有人又写了 more 出来。

more , 跟据蔡文能老师的说法是"再多一点就好"more 可以将所观察的档案
跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行。如果
使用者要在某一个档案中搜寻一个特定的字串,则按 / 然後跟著打所要搜寻
的单字即可进行搜寻。more 也可以找得到。more 的使用法如下:

more filename

如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开 more 的使用。
在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。

less 的用法与 more 极类似,原先它就是为了弥补 more 只能往前方卷页的缺
点而设计。 less 的用法如下:

less filename

其与 more 不同的是它可以按 y 来往上卷一行,并且可以用"?"来往回搜寻你所
要找的单字。

10. chmod
chmod 为变更档案模式用( change mode ) . 这个指令是用来更改档案的存取模
( access mode )。在 UNIX 一个档案上有可读(r)可写(w)可执行(x)三种模式,
分别针对该档案的拥有者( onwer )、同群者( group member )( 你可以 ls -lg
来观看某一档案的所属的 group ),以及其他人( other )。一个档案如果改成可
执行模式则系统就将其视为一个可执行档,而一个目录的可执行模式代表使用者
有进入该目录之权利。chmod 就是用来变更一些档案的模式,其使用方式如下:

chmod [ -fR ] mode filename ...

其参数的意义如下:

-f Force. chmod 不会理会失败的动作。
-R Recurive. 会将所有子树下的所有子目录及档案改为你所要改成的模式。

mode 可以为一个三位或四位的八进位数字,来表示对某些对象的存取权。详情
可参阅 chmod(1) manual page 中有关 Absolute Modes 的说明。

或是用一个字串来表示,请参考 chmod(1) 的说明。
b. 关於 Process 处理的指令:

1. ps
ps 是用来显示目前你的 process 或系统 processes 的状况。
以下列出比较常用的参数:

其选项说明如下:
-a 列出包括其他 users process 状况。
-u 显示 user - oriented process 状况
-x 显示包括没有 terminal 控制的 process 状况
-w 使用较宽的显示模式来显示 process 状况

我们可以经由 ps 取得目前 processes 的状况,如 pid , running state 等。

2. kill
kill 指令的用途是送一个 signal 给某一个 process 。因为大部份送的都是
用来杀掉 process SIGKILL SIGHUP ,因此称为 kill kill 的用法
:

kill [ -SIGNAL ] pid ...
kill -l

SIGNAL 为一个 singal 的数字,从 0 31 ,其中 9 SIGKILL ,也就是一
般用来杀掉一些无法正常 terminate 的讯号。其馀讯号的用途可参考 sigvec(2)
中对 signal 的说明。

你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形
请参阅 man kill

c. 关於字串处理的指令:

1. echo
echo 是用来显示一字串在终端机上。□ echo -n 则是当显示完之後不会有跳行的动作。


2. grep/fgrep
grep 为一过滤器,它可自一个或多个档案中过滤出具有某个字串的行,或是
自标准输入过滤出具有某个字串的行。

fgrep 可将欲过滤的一群字串放在某一个档案中,然後使用 fgrep 将包含有
属於这一群字串的行过滤出来。

grep fgrep 的用法如下:

grep [-nv] match_pattern file1 file2 ....
fgrep [-nv] -f pattern_file file1 file2 ....

-n 把所找到的行在行前加上行号列出
-v 把不包含 match_pattern 的行列出
match_pattern 所要搜寻的字串
-f pattern_file 存放所要搜寻的字串

d. 网路上查询状况的指令:

1. man
man 是手册 ( manual ) 的意思。 UNIX 提供线上辅助( on-line help )的功能,
man 就是用来让使用者在使用时查询指令、系统呼叫、标准程式库函式、各种表
格等的使用所用的。man 的用法如下:

man [-M path] [[section] title ] .....
man [-M path] -k keyword ...

-M path man 所需要的 manual database 的路径。
我们也可以用设定环境变数 MANPATH 的方式来取代 -M 选项。
title 这是所要查询的目的物。
section 为一个数字表示 manual 的分类,通常 1 代表可执行指令,
2 代表系统呼叫( system call ) 3 代表标准函数,等等。

像下面 man 查询的片段:

SEE ALSO
apropos(1), cat(1V), col(1V), eqn(1), lpr(1), more(1),
nroff(1), refer(1), tbl(1), troff(1), vgrind(1), vtroff(1),
whatis(1), eqnchar(7), man(7), catman(8)

我们如要参考 eqnchar(7) 的资料,则我们就输入 man 7 eqnchar
便能取得我们所要的辅助讯息。
-k keyword
用来将含有这项 keyword title 列出来。

man UNIX 上是一项非常重要的指令,我们在本讲义中所述之用法均仅只是一
个大家比较常用的用法以及简单的说明,真正详细的用法与说明还是要请你使用
man 来得到。

2. who
who 指令是用来查询目前有那些人在线上。

3. w

w 指令是用来查询目前有那些人在线上,同时显示出那些人目前的工作。

4. ku
ku 可以用来搜寻整个网路上的 user ,不像 w who 只是针对 local host
查询. 而且 ku 提供让使用者建立搜寻特定使用者名单的功能。你可以建立一个档
information-file 以条列的方式存放你的朋友的资料,再建立一个档案
hosts-file 来指定搜寻的机器名称。 ku 的指令格式可由 ku -h 得到。

E. 网路指令:

UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情,如
你可以在系上的 iris 图形工作站上做图形的处理,在系上的 Sun 上读 News
甚至到学校的计中去找别系的同学 talk 。这些工作可以利用 UNIX 的网路指
令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能
轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。

这些网路的指令如下所述:

1. rlogin rsh
rlogin 的意义是 remote login , 也就是经由网路到另外一部机器 login
rlogin 的格式是:

rlogin host [ -l username ]

选项 -l username 是当你在远方的机器上的 username local host 不同的
时後,必须输入的选项,否则 rlogin 将会假设你在那边的 username local
host 相同,然後在第一次 login 时必然会发生错误。

rsh 是在远方的机器上执行某些指令,而把结果传回 local host rsh 的格式
如下:

rsh host [ -l username ] [ command ]

如同 rlogin 的参数 -l username , rsh -l username 也是指定 remote host
username 。而 command 则是要在 remote host 上执行的指令。如果没有
指定 command ,则 rsh 会去执行 rlogin ,如同直接执行 rlogin

不过 rsh 在执行的时候并不会像一般的 login 程序一样还会问你 password ,
是如果你没有设定 trust table , remote host 将不会接受你的 request

rsh 须要在每个可能会做为 remote host 的机器上设定一个档案,称为 .rhosts
这个档案每一行分为两个部份,第一个是允许 login hostname , 第二个部份
则是允许 login username 。例如,在 ccsun7.csie.nctu.edu.tw 上头你的
username ysjuang , 而你的 home 下面的 .rhost 有以下的一行:

ccsun6.cc.nctu.edu.tw u8217529

则在 ccsun6.cc.nctu.edu.tw 机器上的 user u8217529 就可以用以下的方法来
执行 rsh 程式:

% rsh ccsun7.csie.nctu.edu.tw -l ysjuang cat mbox

ysjuang ccsun7.csie.nctu.edu.tw 上的 mbox 档案内容显示在 local host
ccsun6.cc.nctu.edu.tw 上。

而如果 .rhost 有这样的一行,则 ccsun6.cc.nctu.edu.tw 上的 user u8217529
将可以不用输入 password 而直接经由 rsh rlogin login
ccsun7.csie.nctu.edu.tw 来。

注意:

.rhost 是一个设定可以信任的人 login 的表格,因此如果设定不当将会让
不法之徒有可以乘机侵入系统的机会。 如果你阅读 man 5 rhosts ,将会
发现你可以在第一栏用 + 来取代任何 hostname ,第二栏用 + 来取代任何
username

如一般 user 喜欢偷懒利用 " + username " 来代替列一长串 hostname
但是这样将会使得即使有一台 PC 上跑 UNIX user 有与你相同的
username , 也可以得到你的 trust 而侵入你的系统。这样容易造成系统
安全上的危险。因此本系禁止使用这样子的方式写你的 .rhost 档,如果
发现将予以停机直到你找中心的工作人员将其改正为止。 同理,如果你的
第二个栏位为 + ,如" hostname + " ,则你是允许在某一部机器上的"所有"
user 可以不用经由输入 password 来进入你的帐号,是壹种更危险的行为。
所以请自行小心。

2. telnet
telnet 是一个提供 user 经由网路连到 remote host
telnet 格式如下:

telnet [ hostname | ip-address ] [ port ]

hostname 为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.tw name address
ip-address 则为一个由四个小於 255 的数字组成的 ip address ,如 ccsun1
ip-address 140.113.17.173 ccsun1.cc.nctu.edu.tw ip-address
140.113.4.11 。你可以利用 telnet ccsun1 telnet 140.113.17.173
连到 ccsun1

port 为一些特殊的程式所提供给外界的沟通点,如资工系的 MUD server 便
提供一些 port user 由这些 port 进入 MUD 程式。详情请参阅 telnet(1)
的说明。


3. ftp
ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的
程式。ftp 的格式如下:

ftp [ hostname | ip-address ]

其中 hostname | ip-address 的意义跟 telnet 中的相同。

在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username
与密码,如果输入对了就可以开始进行档案传输。

ftp 中有许多的命令,详细的使用方式请参考 ftp(1) ,这里仅列出较常
用的 cd , lcd , mkdir , put , mput , get , mget , binary , ascii ,
prompt , help quit 的使用方式。

ascii 将传输模式设为 ascii 模式。通常用於传送文字档。

binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像
档等。
cd remote-directory remote host 上的工作目录改变。

lcd [ directory ] 更改 local host 的工作目录。

ls [ remote-directory ] [ local-file ] 列出 remote host 上的档案。

get remote-file [ local-file ] 取得远方的档案。

mget remote-files 可使用通用字元一次取得多个档案。

put local-file [ remote-file] local host 的档案送到 remote host

mput local-files 可使用通用字元一次将多个档案放到 remote host 上。

help [ command ] 线上辅助指令。

mkdir directory-name remote host 造一个目录。

prompt 更改交谈模式,若为 on 则在 mput mget 时每作一个档案之传
输时均会询问。

quit/bye 离开ftp .

利用 ftp ,我们便可以在不同的机器上将所需要的资料做转移,某些特别的
机器更存放大量的资料以供各地的使用者抓取,本校较著名的 ftp server
NCTUCCCA 与系上的 ftp.csie.nctu.edu.tw 。这些 ftp server 均有提
供一个 user 称为 anonymous ,一般的"外来客"可以利用这个 username
得该 server 的公共资料。不过 anonymous 在询问 password 时是要求使用
anonymous 的使用者输入其 email address,以往有许多台湾的使用者在使用
国外的 ftp server 时并没有按照人家的要求输入其 email address,而仅是
随便打一些字串,引起许多 internet user 和管理者的不满,对台湾的使用
者的风评变得很差,因此遵循各 ftp server 的使用规则也是一件相当重要的事。

f. 关於通讯用的指令:

1. write
这个指令是提供使用者传送讯息给另一个使用者,使用方式:
write username [tty]

2. talk/ytalk/cytalk/ctalk
UNIX 专用的交谈程式。会将萤幕分隔开为你的区域和交谈对象的区域,
同时也可和不同机器的使用者交谈。使用方式:

talk username[@host] [tty]

3. mesg
选择是否接受他人的 messege , 若为 messege no 则他人的 messege 将无法
传送给你,同时他也无法干扰你的工作。使用方法:

mesg [-n|-y]

4. mail/elm
在网路上的 email 程式,可经由此程式将信件 mail 给他人。 使用方式:

mail [username]
mail -f mailboxfile

如有信件,则直接键入 mail 可以读取你的 mail .

elm 提供较 mail 更为方便的介面,而且可做线上的 alias . 你可以进入 elm
使用上下左右键来选读取的信件,并可按 h 取得线上的 help 文件。

使用方式:

elm [usernmae]
elm -f mailboxfile

g. 编译器( Compiler ):
Compiler 的用处在於将你所撰写的程式翻译成一个可执行档案。在资工系常
用的程式语言是 C , pascal , FORTRAN 等。你可以先写好一个 C Pascal
FORTRAN 的原始程式档,再用这些 compiler 将其翻成可执行档。你可以
用这个方法来制造你自己的特殊指令。

1. cc/gcc (C Compiler)
/usr/bin/cc
/usr/local/bin/gcc

语法: cc [ -o execfile ] source
gcc [ -o execfile ] source

execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可
执行档会以 a.out 做为档名。 source 为一个以 .c 做为结尾的 C 程式档。
请参阅 cc(1) 的说明。

2. pc (Pascal Compiler)
/usr/local/bin/pc

语法: pc [ -o execfile ] source

execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可
执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 Pascal
式档。 请参阅 /net/home5/lang/man pc(1) 的说明。

3. f77 (Fortran Compiler)
/net/home5/lang/f77

语法: f77 [ -o execfile ] source

execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可
执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 FORTRAN
式档。

h. 有关列印的指令:
以下为印表所会用到的指令,在本系的印表机有 lp1 , lp2 ( 点矩阵印表机 )
lw , sp , ps , compaq ( 雷射印表机 ),供使用者使用。

1. lpr
lpr 为用来将一个档案印至列表机的指令。

用法:
lpr -P[ printer ] file1 file2 file3 ....


lpr -P[ printer ] < file1

例子:
lpr -Plp1 hello.c hello.lst hello.map
lpr -Plp1 < hello.c

前者以参数输入所要印出的档案内容,後者列印标准输入档案( standard input )
的内容,因已将 hello.c 转向到标准输入,故会印出 hello.c 的档案内容。

2. lpq
lpq 是用来观察 printer queue 上的 Jobs

用法:
lpq -P[ printer ]


3. lprm
lprm 是用来取消列印要求的指令。 通常我们有时会印错,或是误送非文字档
资料至 printer , 此时就必须利用 lprm 取消列印 request ,以免造成资源
的浪费。

用法:
lprm -P[ printer ] [ Jobs id | username ]

lprm 用来清除 printer queue 中的 Jobs , 如果你使用 Job Id 作为参数,则
它将此 Job printer queue 清除,如果你用 username作为参数,则它将此 queue
中所有 Owner 为此 username Jobs 清除。

i. 更改个人使用资料:

1. passwd
passwd 是用来更改你的使用密码,用法为:

passwd [ username ]

在使用 passwd 的时候,它会先问你的旧密码,然後询问两次要更改的密码,确定
无误後才将你的密码改掉。

2. chsh
chsh 是提供使用者更换 login shell 的指令,你可经由此更换自己使用的 shell

 

posted @ 2008-07-09 11:43 wangyaqin 阅读(110) | 评论 (0)编辑 收藏
仅列出标题