设为首页 收藏本站
查看: 1110|回复: 0

AIX SHELL基础

[复制链接]

尚未签到

发表于 2018-8-23 10:23:19 | 显示全部楼层 |阅读模式
  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 标准状态下,输入来自键盘,输出是到屏幕,出错信息也是显示在屏幕上。
  重定向符号       系统变量名
  标准输入    <    (>)      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
  oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-555438-1-1.html 上篇帖子: shell小例子 下篇帖子: python执行shell命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表