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 阅读(244) | 评论 (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 阅读(273) | 评论 (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 阅读(294) | 评论 (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 阅读(926) | 评论 (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 阅读(831) | 评论 (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 阅读(171) | 评论 (0) | 编辑 收藏
仅列出标题