您在这里:首页 > 学员专区 > 技术文章
Oracle视频
Oracle
CUUG课程

AIX SHELL 基础

 

Shell 是介于操作系统和用户之间的界面,它能解释用户发出的命令,启动应用程序,并利用系统功能管理用户数据。Shell 可以在用户的交互式控制下在前台或后台同时运行多个进程,Shell 同时也是一种有效的编程语言。


1、通配符

(1)*:多个任意字符

$ ls

info       newdir           test.file        testfile

mbox       newtest.file     test1.file       wangyi

$ ls *.*

newtest.file   test.file       test1.file


(2)?:单个任意字符

$ ls ????.*

test.file


(3) [ ]:在[ ]之间的单个字符

$ ls [mt]*

mbox        test.file      test1.file


(4)[ - ]:在[ - ]范围内的单个字符

$ ls [m-w]*

mbox          newtest.file  test.file     test1.file    testfile

newdir:

wangyi:


(5)!:非某个或某些字符

$ ls [!t]*

mbox          newtest.file

info:

notes  tmp

newdir:

wangyi:

test.file

 

2、标准输入输出

在 AIX 标准状态下,输入来自键盘,输出是到屏幕,出错信息也是显示在屏幕上。

                重定向符号              系统变量名

标准输入       <        (<<)          0

标准输出       >         (>>)           1

标准错误输出   2>        (2>>)          2

 

3/重定向

在 AIX 的环境中标准的输入、输出和错误信息均可以重新定向,使用户可以从键盘以外的其他地方(如文件,串口等)获取输入信息,并把输入的内容和出错的信息送到屏幕之外的其他地方(如文件等)。

●输入重定向

$ command  <  filename

$ mail xumin < test.file

●  输出重定向

$ command  >  filename

$ ls > out.file

$ cat out.file

28

info

mbox

newdir

newtest.file

out.file

test.file

test1.file

testfile

wangyi

●  错误信息重定向

$ command  2>  filename

$ ls test2.file 2> error.out

$ cat error.out

ls: 0653-341 The file test2.file does not exist.

●  组合重定向

$ command  <  infile  >  outfile  2>  errfile

$ command  >  outfile  2>  errfile  <  infile

$ ls test1.file test2.file > out.file 2> error.file

$ cat out.file

test1.file

$ cat error.file

ls: 0653-341 The file test2.file does not exist.

●关联组合重定向

$ command  >  outfile  2>  &1

这里的&1 指向 out.file,因为此时原来系统的标准输出已被重定向为 out.file。

$ command  2>  &1  >  outfile

这里的&1 指向标准输出,此时原来系统的标准输出尚未改变。


4、管道

管道的作用是把前一个命令的输出作为后一个命令的输入。

管道的用法:

$ command1  |  command2

$ ls | wc -w


5、分割输出

tee 这个命令可以读取标准输入,并把数据同时送到标准的输出和指定的文件中

tee 的用法:

$ command1  |  tee  filename  |  command2

$ ls | tee out.file | wc

11            11            97

$ cat out.file

error.file

error.out

info

mbox

newdir

newtest.file

out.file

test.file

test1.file

testfile

 

6、多个命令

在 AIX 中 shell 允许在同一行中写多个命令,只需要在命令之间加上“;”作为分隔符

用法:

$ command1 ; command2 ; command3

$ pwd;cd /;ls

/home/xumin

Slider.class dead.letterlost+found smit.script usr

TT_DB          dev                  lpp                   testnfs       var

aaaa         etc          mnt         testxmg      websm.log

adsmtest     home        opt          testxmg2     xumin

bin      info         sbin         tftpboot      xumin_disk1

cdrom   info.www    share        tmp

cds.types informix     showcase     u

core                 lib               smit.log           unix


7、长命令

在 AIX 的 shell 中写较长的命令时,可以使用“\”作为换行的标记,这时 shell 会用一个“>”作为提示符。

 

8、Shell 环境中的变量

在 shell 环境下面可以定义变量,供系统、用户,shell 程序和各种应用使用。变量可以由系统定义,也可以由用户自己定义。系统已经定义的变量用户也可以修改或删除。

例如: HOME  --   用户的 home 目录

       TERM  --   终端类型

       PATH  --   命令搜索路径

 

9、变量的查看和定义

(1)查看已定义过的变量

$ set

~~~

~~~

HOME=/home/xumin

LANG=En_US

LOCPATH=/usr/lib/nls/loc

LOGIN=xumin

LOGNAME=xumin

MAIL=/usr/spool/mail/xumin

MAILCHECK=600

MAILMSG='[YOU HAVE NEW MAIL]'

~~~

~~~

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/xumin/bin:/usr/bin/X11:/sbin:.

PPID=69504nput

PS1='$ '

PS2='> '

PS3='# '

PS4='+ '

PWD=/

RANDOM=31884

32

SECONDS=2774

SHELL=/usr/bin/ksh

TERM=ANSI

TERM_DEFAULT=lft

TMOUT=0

TZ=CST6CDT

USER=xumin


(2)显示变量值

$ echo $name

$ echo $HOME

/home/xumin


(3)定义变量

$ name=value

$ echo $xxx

$ xxx=hello!

$ echo $xxx

hello!


(4)删除变量

$ unset

$ unset xxx

$ echo $xxx


(5)变量的运用

' ':把' '之间的内容作为一个命令,返回命令的结果

$ now=`date`

$ echo $now

Wed Aug 12 15:23:19 CDT 1998

' ' :不解释 ' ' 之间的任何内容

$ echo    '$HOME'

$HOME

“”:会解释“”之间的 $、` `、\等字符的特殊含义

$ echo  “now is `date`”

now is Wed Aug 12 15:32:41 CDT 1998

\ :忽略\之后的特殊字符的特殊含义

$ echo \$HOME

$HOME

 

(文章来自网络,如有侵权请来信告知,本站将在第一时间删除。)

相关文章 [上一篇] AIX vi 编辑器
010-56426307(59426319)
CUUG热门培训课程
Oracle DBA就业培训
CUUG名师
网络课程
技术沙龙
最新动态

总机:(010)-56426307,59426319 QQ讨论群:243729577 182441349 邮箱:yuezt@cuug.com
通信地址:北京市海淀区紫竹院路88号紫竹花园D座703(CUUG)邮政编码:100089 
中国UNIX用户协会 Copyright 2010  ALL Rights Reserved 北京神脑资讯技术有限公司
京ICP备11008061号