免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 874 | 回复: 0
打印 上一主题 下一主题

Shell的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-02 04:08 |只看该作者 |倒序浏览
Shell的使用:
       
本章目标:
        了解shell的发展过程和用途
        掌握shell变量的设置和使用
        掌握bash的基本操作方式
        掌握简单的shell脚本编辑方法
shell的环境:
        Shell程序充当了一个命令解释器的角色。
        Shell的发展和分类:
                Bsh―――20世纪70年代中期―――新泽西的AT&T贝尔实验室
                Csh―――20世纪80年代早期―――加利福尼亚――C语言风格
                Ksh―――AT&T贝尔实验室―――结合了bsh和csh
                Bash――-默认的Shell
       
1、RHEL4中提供的Shell        
        /etc/shells
        #记录了当前linux系统中能够使用的shell       
        Example:
                $ cat /etc/shells
                $ ls –l `cat /etc/shells `
2、shell程序的切换
3、用户默认shell的设定与shell的修改
        $ cat  /etc/passwd
        $ grep teacher /etc/passwd
        $ chsh                       
        #命令的使用
Bash的主要功能:
       
        SHELL变量:
                ×环境变量
                ×预定义变量
                ×位置变量
                ×用户自定义变量
环境变量:
1、查看环境变量:
        $ set | head -3
2、常用环境变量介绍:
        USER、UID、SHELL、HOME、PWD、PATH、PS1、PS2
3、环境变量配置文件
        $ ls –l /etc/bashrc /etc/profile
        /etc/profile          
        #文件负责设置全局的环境变量,并应用于所有的用户登陆shell
        /etc/bashrc         
        #文件用于定义全局的函数和别名,文件的内容除了为系统中所有登录用户提供设置外,也适用于非交互shell和非登陆shell
        /etc/skel
        #目录中保存了初始的用户配置文件模板,当用户对自己的配置文件进行了错误的设置后,可以直接将/etc/skel目录中的模板文件复制到用户目录,从而恢复到正确的初始配置。
位置变量:
       
预定义变量:
        预定义变量是linux系统中已定义好的变量,用户只能使用预定义变量,而不能创建或赋值预定义变量。所有的预定义变量都是由$和另一个符号组成的,常用的shell预定义变量有:
        $#:表示位置参数的数量
        $*:表示所有位置参数的内容
        $?:表示命令执行后返回的状态
        $$:表示当前进程的进程号
        $!表示后台运行的最后一个进程号
        $0:表示当前执行的进程名
用户自定义变量:
       
1、自定义变量的设置:
        变量名=变量值
        $DAY=sunday
2、自定义变量的查看与引用:
        example:
        $DAY=sunday
        $echo $DAY
        sunday
        $set | grep DAY
        DAY=sunday
        #set命令可以显示系统中所有的变量,也包括用户自定义变量。
3、自定义变量的输出:
        #用户在当前shell中定义了某个变量后,只能在当前的shell中使用,而在当前shell的        子shell中是无效的。
        example:
        $DAY=sunday
        $echo $DAY
        sunday
        $bash
        $echo $DAY
       
        #为了在用户的子shell或脚本程序中使用自定义变量,需要将用户自定义的变量“输出        ”为全局变量。
        Export 命令用于输出变量为全局变量:
                Export [-nf ] [name=[value]……]
        example:
        $echo $DAY
        sunday
        $export DAY
        $bash
        $echo $DAY
        sunday
        $exit
        #export命令可以在输出变量的同时对指定名称的变量进行赋值
        $export DAY=sunday MONTH=jan
        $echo $DAY $MONTH
        sunday jan
4、自定义变量的清除:
        $ echo $DAY
        $ sunday
        $ unset DAY
        $ echo $DAY
        $
       
               
       
bash常用功能
       
1、命令行编辑功能
        1、光标的移动
        2、退格键与删除键
        3、定位命令行首尾:home ;end;
        4、行内快速删除命令:ctrl+U;ctrl+K
2、命令行补全功能
        1、命令补全功能
        2、文件补全功能
3、命令历史与命令重复
        1、命令历史的使用
        2、历史命令的查看
        $ history
        $!113
       
3、用户命令历史文件:
        $ set | grep HISTFILE
        $history -c
命令别名:
1、命令别名的显示
        $ alias
        #如果定义的命令别名与原命令重名,bash在执行命令时将优先执行别名命令,而用户需要执行原命令时需要输入该命令的完整路径。
2、命令别名的定义:
        $alias name=value
3、命令别名的取消:
        $unalias [-a ] name
        #用户固定使用的自定义别名命令应保存在用户宿主目录的".bashrc"文件中。
4、系统别名定义文件:
        #RHEL4系统中为用户预定义的命令别名保存在”/etc/profile.d”目录的配置文件中
               
管道与重定向:
1、标准输入输出
2、重定向
        1、输入重定向
        2、输出重定向
        3、错误重定向
        4、输出重定向和错误重定向的组合使用
        #如何需要将标准输出和错误输出重定向到同一个文件,需要使用&>重定向操作符。
管道:
                       
shell脚本
1、Shell脚本的概念
        Linux系统中的shell脚本
基本脚本编程:
1、        建立shell脚本文件
2、        脚本中应该包括的内容
a)        脚本运行环境设置
b)        注释行的使用
c)        脚本语句
3、        设置脚本文件为可执行
脚本运行:
        1、使用shell命令       
        #程序执行脚本:不需要脚本文件具有可执行的属性
        2、使用“.” 命令执行脚本:不需要有可执行权限
        3、设置执行属性执行脚本:需要有可执行权限,使用绝对路径
       
       
               
               
                       
       


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102410/showart_2043486.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP