HP9000系统知识手册
3、 export variable 4、 ps –ef
;将本地变量转移到用户环境中
;monitoring processes
七、引用
\\ ; ?(单引号);
“(双引号);用来屏蔽掉一些指定字符的特殊含义
八、输入和输出重定向
1、 输入重定向字符<
例:$mail user3
f1〉f2 ;将导致f2里的内容全部丢失 f1〉〉f2
;将f1里的内容追加到f2内容的后面,f2的内容不丢失
3、 错误重定向2〉和2〉〉
例:$cp 2〉cp.err 4、 过滤器(filter)
-l -c
;从”标准输入”输入,生成”标准输出”
;字计数
a、wc [-lwc] [file] -w ;显示词数
;显示字符的数目
注:cat,wc等从键盘标准输入后,按ctrl+d结束 b、sort [-ndutx] [-k field_no] [file…] ;排序 none -d -n -u
;按ASCII码排序 ;字典排序 ;按数字排序 ;唯一排序
;指定X字符为分割字符
;指定sort命令在哪个字符段中使用你要的排序
;显示命令行的数目
-t X -k n
另注:sort –o output_file ;能在给定参数中生成输出项来替代标准输入 c、grep [-cinv] [-e] pattern [-e pattern] [file…] grep [-cinv] –f paterns_list_file [file…] -e -f -c -I -n -v
;在某一指定模式中查询 ;在某一模式列表文件中查询 ;只显示满足匹配的行的个数 ;忽略大小写 ;显示行的行号
;显示不满足所制定模式匹配的行
;从域中抽取
d、cut –clist [file…] ;从行中抽取 cut –flist [-dchar] [-s] [file…] - d char -s
;指定char作为分割符 ;忽略所有没有分割符的行
e、tr [-s] [string1] [string2] ;用于字符的变换
f、tee [-a] file[file…] ;将输出内容即可输送到一个文件里又可送到标准输出 -a
;将输出结果追加到文件尾部,而不会覆盖文件原有数据
- 5 -
HP9000系统知识手册
g、pr [-option] [file…] 5、 Printing from a pipeline
……|lp
;将数据打印到标准输出
;从管道中获得标准输入来打印
九、使用网络服务
1、 telnet
2、 ftp:get,put,mget,mput,ls,?,quit,bye 3、 rlogin
;等同于telnet,/etc/hosts.equiv和.rhosts需正确配置
4、 rcp hosts1:source host2:dest ;远程cp命令
5、 remsh hostname command ;在远程主机上运行程序,在本地终端查看其返回的结果 6、 rwho 7、 ruptime
;rwho的守护进程必须要运行,可在所有网络主机上查找已登录用户
;rwho daemon必须运行时才有效,显示当前每个系统里有多少正在运行的用户
十、进程控制
1、ps [-efl]
;详细列出正在运行的每个进程
;作业转入后台进程
2、command line 〉 cmd.out &
例:$grep user * 〉 grep.out &
当一个命令转入后台执行时,若监视器已设,则set –o monitor将显示后台作业号和进程ID
3、在前台和后台切换作业
jobs ctrl+z
;Display jobs currently running
;挂起字符,将临时停止前台进程,在.profile里指定
;切换到前台 ;切换到后台
fg [%number]|[%string] bg [%number]|[%string]
4、 nohup command line &
与后台运行命令一起使用,当正常退出后,UNIX系统将继续执行这个后台作业。使用nohup时,建议将输出结果定向到一个文件里,否则它将自动定向到nohup.out文件里 5、 nice [-N] command_line
N
;1-19的一个值
;定义进程优先级
6、 kill [-s single_name] PID [PID…]
kill –l ;将列出所有signal_name的值 kill –s KILL 0 kill –s INT %2
;将终止当前所有shell里的进程 ;2为作业号,前面需加%
十一、Shell编程
1、 shell程序中的参数
$sh_program arg1 arg2……argx $0
$1 $2…… $x
9以后的数字用{}括起来,如{10} {24}… 2、 特殊的shell变量#和*
$# $*
;代表所有参数的数目:1,2,3… ;访问整个参数列表(不包括$0)
;所有*字符里的参数会左移n个位置,在#里则递减n个
;收集终端用户键入的信息
;程序执行之前会显示程序中的每一个命令
3、 shift [n]
4、 read variable [variable…]
5、 sh –x shell_program argument
- 6 -
HP9000系统知识手册
十二、shell编程—分支
1、 返回码
命令正常完成,返回0,否则返回非0值 echo $? 2、 test命令
test expression or [expression] 3、 test—数字型测试
[number relation number]
relation:-lt(小于)-le(小于等于)-gt(>)-ge(≥)-eq(=)-ne(≠) 4、 test—字符串型测试
[ string1 = string2 ] 5、 test—文件型测试
test –option filename -option: -f
-s -r -x
;若该文件存在 ,且是一个普通文件,返回值真(0) ;若该文件存在 ,且文件长度大于0,返回值真(0) ;若file存在且可读,返回值真(0) ;若file存在且可写,返回值真(0) ;若file存在且可执行,返回值真(0) [ string1 != string2 ]
;对表达式估值,产生返回值
;显示前一个命令返回值
-w
-d directory ;若directory存在且是一个目录,返回值真(0) ,-a AND ,! NOT
6、 test的其他操作符
-o OR
\\(\\) GROUPING
例:[\\($#=2\\) –a \\(“$1”=“-m”\\) –a \\(-d “$2” –o –s “$2” \\)]
确认命令行中是否有2个参数,以及第一个参数是否为-m,最后一个参数是否为一个大小大于0的文件或是一个目录 7、 if
listA then
listB fi 8、 if
listA then
listB listC else fi
9、 Case word in
pattern1) listA ;; pattern2)listB ;; patternN)listN ;; esac
pattern中可使用的字符:*,?,[…]
- 7 -
HP9000系统知识手册
在[…]中匹配“-”两端字符间的任一字符,还可用|这个字符表示“或者”
十三、Shell编程—循环
1、let expression or ((expression)) 2、while … do … done 3、untile … do … done 4、for var in list … do … done 5、break [n]
;计算
十四、Vi工具
1、 光标控制
h,j,k,l:左,下,上,右移动一个字符 w,b:向前及向后一个词的移动 $:到所在行行尾 ^ or o:到所在行行头 G:到文件结尾处 G or :#:到等#行 L:到本屏最后一行 M:到本屏中间行
H:到本屏第一行第一个字符 Ctrl+l:重复本屏中间行 2、 输入模式
a:在光标后追加一个新文本 i:在光标前插入一个新文本
O、o:在当前行上/下面开始一个新行 A:在行尾追加一个新文本 I:在行的起始处插入一个新文本 3、 删除文本命令
x:删除光标所处位置字符 dw:删除光标所在处词 dd:del整行
dG:从文件里最后一行开始删除 d$:删除到行尾 d^:删除到行首 4、 移动与拷贝文本
P,p:将buffer里内容粘到光标前/后的文本里 yw:抽取光标所在的词 yy:抽取光标所在的整行
yG:抽取光标所在位置到文件的最后一行 y$:抽取到行尾 y^:抽取到行的起始处 5、 修改文本
r character:用r后所跟字符替换光标所指字符 R
:替换所有字符直到按ESC键停止
- 8 -