Linux学习笔记——Shell基础(八)

+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++
1. Shell概述
     Shell定义:
          Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。                    
                                                                      
     
          Shell还是一个功能相当强大的编程语言,易编写、调试。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
     
     Shell分类:
          Bourne Shell :sh     ksh     Bash     psh     zsh   (现在使用的Linux都是Bash,其兼容sh)  
          C Shell :csh     tcsh (语法结构和C语言很类似)
 
     Linux支持的Shell
          通过查看文件:/etc/shells     可以知道Linux支持哪些Shell
 
2. Shell脚本的执行方式
     输出命令:echo [选项][输出内容]
          选项:-e          支持反斜线控制的字符转换
               
          支持颜色输出:
               
     第一个脚本:
               vi hello.sh
               #!/bin/bash              标识下面写的是Shell脚本
               #第一个脚本             注释
               echo "Hello World"     输出语句
     脚本执行:
               第一种方法:1)改执行权限;2)./hello.sh
               第二种方法:通过bash调用执行脚本 ——  bash hello.sh     
          注:转换windows文件格式为linux —— dos2unix 文件名
 
3. Bash的基本功能
     历史命令:history [选项][历史命令保存文件]
          选项:-c          清空历史命令
                   -w         把缓存中的历史命令写入历史命令保存文件~/.history
          注:历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改
     
     历史命令的调用:
          
     命令补全:按Tab键就会自动进行补全
 
     命令的别名:
          设定命令别名——alias 别名=‘原命令’
          查询命令别名——alias 
          注:命令执行顺序
               
          让别名永久生效:vi /root/.bashrc
          删除别名:unalias 别名
 
     Bash常用快捷键:
          
 
     标准输入输出:
          
     输出重定向:例子 —— ls >> abc.txt
          
           
          注:ls &> /dev/null 将结果丢到垃圾箱,不做任何处理
 
     输入重定向:(把文件内容作为命令输入)          
               
     多命令顺序执行:
          
     管道符:命令1的正确输出作为命令2的操作对象
          命令格式:命令1 | 命令2,范例:ls -l /etc | more
 
     通配符:(用来匹配文件名)
          
     其他特殊符号:
          
 
4. Bash变量
     用户自定义变量:变量时计算机内存单元,其中存放的值可以改变
     变量设置规则:字母、数字、下划线,不能是数字开头。
          变量的默认类型是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。
          变量用等号连接,等号两侧不能有空格。
          如果等号右边有空格,则必须用单引号或双引号括起来。
          如果把命令的结果赋给变量,则必须使用反引号或$()包含命令
          环境变量名建议大写,便于区分
          
     变量分类:
          
     
     本地变量:(即用户自定义变量)
          
    
          
 
     环境变量:
          概念——用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell所在Shell当中生效。如果把环境变量写入相应配置文件,则这个环境变量就会在所有的Shell中生效。
          注:与自定义变量的区别——本质上是作用范围的不同。
          
          设置环境变量:export 变量名=变量值     #声明变量
                               env                   #查询环境变量
                               unset                #删除变量
          PATH环境变量——系统查找命令的路径;
          PS1:定义系统提示符的变量
                
 
     位置参数变量:
           
 
     预定义变量:系统事先定义好的变量,位置参数变量其实是预定义变量中的一种
           
     接收键盘输入:read [选项] [变量名]
          选项:-p      "提示信息":在等待read输入时,输出提示信息
                   -t      read命令会一直等待用户输入,使用此选项可以指定等待时间
                   -n      read命令只接收指定的字符数,就会执行
                   -s      隐藏输入数据,适用于机密信息输入
 
5. Bash的运算符     
     声明变量类型:declare
          
     数值运算:
          方法一:
              
          方法二:expr或let数值运算工具
               
          方法三:“$((运算式))或$[运算式]”
               
     运算符:
          
     
     变量测试与内容替换:
          
    
6. 环境变量配置文件
     简介:主要用来存放系统默认环境变量的配置文件,如PATH     PS1等。
     主要的环境变量配置文件:
          /etc/profile
          /etc/profile.d/*.sh
          ~/.bash_profile
          ~/.bashrc
          /etc/bashrc
     source命令:强制让当前配置文件直接生效
          格式:source 配置文件
                   或 . 配置文件
     
     环境变量配置文件的作用:
          环境变量配置文件的调用顺序表
          
          /etc/profile的作用
          
          ~/.bash_profile
           
          ~/.bashrc的作用
           
          /etc/bashrc的作用
           
     
     其他配置文件:
          注销时生效的环境变量配置文件——~/.bash_logout
          历史命令的配置文件:~/.bash_history
     
     Shell登录信息:
          本地终端登录欢迎信息——/etc/issue
          
          远程终端登录欢迎信息——/etc/issue.net     
          
          登录后的欢迎信息:/etc/motd
               注:不管是本地还是远程登录,都可以显示此欢迎信息
+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。