Linux系统shell脚本

---------------------Linux shell脚本基础---------------------------

shell脚本即基础组成,bash有上下翻历史命令(doskey功能),help获得帮助,tab

自动补全等基础使用脚本 
        111-shell脚本编程
            shell-----》
                bash---->默认的shell
                csh
                ksh
                tsh-
                zsh
                
        
        112-bash的三个特征:
                1.有doskey功能,可以保存最近使用的命令,上/下翻
                2.可以用help命令或得帮助
                3.可以通过TABLE键查询相似的命令---自动补全
                
        113--bash 中history命令的使用:

        114--shell中自动补全功能 
        
        115--shell中PATH环境变量设置
        
        116--shell中常用符号:        
            | -------管道符
            > >> ----输出重定向(tee与>相似)
            < -----输入重定向
            ? -----一个
            * -----一个或多个
            []----全部
            {}----任选一个    
            
        117--shell中位置参数:
            $0    当前脚本的文件名
            $n    传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
            $#    传递给脚本或函数的参数个数。
            $*    传递给脚本或函数的所有参数。
            $@    传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
            $?    上个命令的退出状态,或函数的返回值。
            $$    当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
        
        118--shell重定向的使用
            >: ----输入重定向,覆盖
            >>:----输入重定向,追加
            <: ----输出重定向
            1>:----当执行正常,才重定向到指定文件
            1>>
            2>:----当执行错误,才重定向到指定文件
            2>>
            &>:----正确与错误,都重定向到指定文件
            &>>
            l >1.txt 2>&1 :正确、错误都重定各到同一个文件
            
        119--shell作业控制
            ; :命令与命令分开,把多条命令写在一行
                 echo "1:----------"; cat 1.txt ; sleep 3; echo "2:------------";grep 'root' passwd ;sleep 3;echo "3:------------"; wc 100
            ctrl +z:暂停一个任务或作业
            
            ctrl +c:取消当前运行的作业 
                
            jobs:查看后台的任务或作业,公查看当前会话的作业
            
            bg [id]:把任务调到后台或作业
            
            fg [id]:把任务调到前台
            
            &:运行时把任务直接丢到后台
            
        120--shell中经常配合使用的命令
            cut:-d:指定分隔符; -f:指定分隔符后的第段; -c:指定第几个字符
            
        121--    wc:    -l:行数;-m:字符数 ; -w:单词数
            
            sort: 以第一个数字或字符排序,-r:反向排序
            
            uniq:去重,配置sort一起使用,-c:显示出现的次数
            
        122--
            tee:重定向(tee -a:追加)


            tr:替换字符
            
        123--
            split:切割文件
                -b: 10M --- 100M
                -l:    1000000 
                
            split -b 10M pwd.log ora
            
        124--shell脚本的执行
            文件名:脚本后缀---->.sh 
                .sh ----->bash
            
            一个shell脚本:
                #!/bin/bash ----->第一行,告知这是一个shell脚本 
            
            在shell中:
                # ---->注释
            
            执行脚本:
                chmod +x t2.sh(修改权限可执行)
                1-->./t2.sh 
                2-->bash t2.sh
                3-->sh t2.sh
                
        125--命令执行的顺序选择        
            || 和 && ,用于命令之间
            
            || 前面的命令执行成功,后面的命令就不再执行,
                前面的命令失败,就执行后面的命令;
                
            && 只有前面的命令执行成功了,才会执行后面的命令;

        128--date命令的技巧
            date +%Y-%m-%d,=== date +%F----年份取4位
            date +%y-%m-%d ----年份取2位
            date +%H:%M:%S = date +%T 时间
            date +%s 时间戳
            date -d "+1day"  一天后
            date -d "-1 day"  一天前
            date -d "-1 month" 一月前
            date -d "-1 min"  一分钟前
            date +%w------一周的星期几
            date +%W ------一年的第几周

        129--shell中环set-env-export三者的区别
            set--shell的本地变量,与shell类型有关,不同shell有自己的环境变量
            env--是当前用户的环境变量
            export---可以将shell的环境变量导出成用户变量
            
                aaa='oracle'
                echo $aaa
                env |grep aaa
                set |grep aaa
                export |grep aaa
                export aaa
                env |grep aaa
                
            https://blog.csdn.net/huayangshiboqi/article/details/80150842    
            
        130--shell中环境变量配置文件
            1--系统级别的参数配置文件
                /etc/profile
                source /etc/profile ====刷新配置文件,立即生效,或重启系统后生效
                
            
            2--某个用户的参数配置文件
                ~/.bashrc
                ~/.bash_profile
            
            3--当前会话有效的---命令设置
                export AAA='hello world'
            
        131--shell中设置环境变量常用的命令
            echo $变量名 ----显示变量的值
            export
            set
            unset---清除变量值
            declare--声明
            readonly ---将变量设置成只读变量,不可清除,不可修改
            env--在修改后的环境中运行程序
            
        132--shell环境变量配置文件读取顺序
            linux系统用户读取环境变量配置文件的顺序:
                1-- ~/.bash_profile
                2-- ~/.bashrc
                3-- ~/.bash_logout
                
            linux shell(bash)初始化过程:
                1-- /etc/profile
                2-- ~/.bash_profile
                3-- ~/.bash_login
                4-- ~/.profile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值