1、正则表达式

    1)^开始  *前一个字符重复0次以上

           +       1次以上

           ?        0次或者1次

          .  一个任意字符(.*连用)

          {m,n}      m到n次

          [0-9][a-z]    任意数字或字母

      $结束字符

    2)sed和awk命令

        sed '匹配条件/执行的动作' /etc/passwd  sed 's/old/new/g'

        awk -F: '{print $1}' /etc/passwd    1表示第一列,2表示第二列  -F:表示分隔符为:

2、变量

    1)环境变量  系统环境变量(/etc/profile)  用户环境变量(/home/用户名/.bash_profile)

        set查看

    2)位置变量  $0-9

        $0  脚本名称

        $1-9  位置参数

    3)预定义变量

        $!  后台运行的最后一个进程的PID号

        $?  程序退出的代表(0成功)

        $*  所有参数的内容

        $$  当前进程的ID号码

        $#  当前shell的参数个数

        $@  所有参数内容(逐个读取)

    4)自定义变量

        name=[value]  ps:等号两边不能有空格,变量名对大小敏感

        $变量名  取值

3、算术运算

    + - * / %

    $((表达式))

    $[表达式]

    expr expression  expr 5 + 2  变量间有空格

4、内置测试判断

    Test 测试表达式

    [ 测试表达式 ]  ps:测试表达式与[]间一定有空格

    数值比较    

      -lt  小于  ex:test &a -lt &b  echo $?

      -gt  大于

      -eq  等于

      -ne  不等于

      -le  小于等于

      -ge  大于等于

    字串测试

      =  等于

      !=  不等于

      -z 字串  字串长度伪(为0)则真

      -n 字串  字串长度不伪则真

    文件测试

      -e 文件名  文件存在则真

      -r 文件名  文件存在且可读为真

      -w 文件名  可写

      -x 文件名  可执行

      -s 文件名  文件中至少存在一个字符

      -d 文件名  文件存在且为目录

      -f 文件名  文件存在且为普通文件

    !(非)>>-a(与)>>-o(或)

5、命令间的逻辑符合

    &&  逻辑与

      cmd1 && cmd2  cmd1执行成功才执行cmd2

    ||  逻辑或

      cmd1 || cmd2  cmd1失败了才执行cmd2

    ;  无逻辑关系

6、常用命令

    date -s "2016-04-12 15:20:13"  修改系统时间

    date '+Y%m%d'  按照年月日格式输出系统时间

    date -d '7 day ago' '+Y%m%d'  输出7天前的时间

7、取字符串

    ${变量名:offset:length}       echo ${a%.*}

8、书写规范

    #!/bin/bash    声明运行环境

    运行方式    a.赋予权限直接运行

            b.通过运行环境运行  bash 1.sh  sh 1.sh

            c.  . 1.sh  source 1.sh

9、控制语句

    1)for语句

        a.  for 变量 in 值1 值2...值N    变量依次取值1...值N

            do

            命令集合          {1..50}  `seq 50`  取值1到50

            done

        b.  for((初始化变量;结束循环条件;变量运算))

    2)while循环

        a.  while [ 条件 ]        let i=i+1---i=$[i+1]  i自增1

        b.  while read -r line

            do

            echo $line

            done < /etc/passwd      从路径中逐行读取并赋值给line

    3)if语句

        if 条件

        then

          命令序列

        elif 条件

        then  

          命令序列

        else

          命令序列

        fi

    4)case语句

        a.  case $变量名称 in

            条件1)

                  命令序列

                  ;;

            条件2)

                  命令序列

                  ;;

            *)                  以上都不满足

            esac

10、函数

    a.  name(){

        命令序列

        }

    b.  function name{

        命令序列

        }

11、计划任务

    1)一次性计划任务

      at 时间        ctrl+d结束输入

      at -l  列出当前计划任务

    2)周期性计划任务  service crond start(status,restart)

        a.开机自启动

            chkconfig --list  列出系统服务是否开机自启动(3和5)

        b.制定计划任务内容

            crontab -e(ENTER)  >>  进入vi命令

            时间和命令  分 时 日 月 周(没有用*代替  -表示连续时间  ,表示若干不连续时间  /表示间隔时间) cmd命令    */10 * * * * ntpdate 时间服务器IP 每10分钟同步一次时钟

        c.重启服务  service crond restart

Linux shell编程命令-Linux基础环境命令学习笔记的更多相关文章

  1. 《Linux.Shell编程从入门到精通》读书笔记

    第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准 ...

  2. Linux Shell编程(21)——复杂命令

    更高级的用户命令find-exec COMMAND \;在每一个find 匹配到的文件执行 COMMAND 命令. 命令序列以 ; 结束( ";" 是 转义符 以保证 shell ...

  3. Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||

    https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...

  4. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  5. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  6. Linux shell下30个有趣的命令

    Tips 原文作者:Víctor López Ferrando 原文地址:30 interesting commands for the Linux shell 这些是我收集了多年的Linux she ...

  7. linux —— shell 编程(文本处理)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...

  8. linux —— shell 编程(编程语法)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...

  9. Linux Shell编程参考大全

    本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...

  10. Linux Shell编程与编辑器使用详解

    <Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...

随机推荐

  1. ES6 Proxy和Reflect(下)

    construct() construct方法用于拦截new命令. var handler = { construct (target, args) { return new target(...ar ...

  2. Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署

    前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...

  3. gitlab 远程 定时备份

    =============================================== 2017/11/1_第2次修改                       ccb_warlock 更新 ...

  4. js数组操作-添加,删除

    js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...

  5. maven 打包Could not resolve dependencies for project和无效的目标发行版: 1.8

    1.maven 打包Could not resolve dependencies for project 最近项目上使用的是idea ide的多模块话,需要模块之间的依赖,比如说系统管理模块依赖授权模 ...

  6. 原来你是这样的JAVA[02]-包、传参、构造器

    一.包(package) 在java程序中,一个java源文件称为编译单元,以.java后缀命名.编译单元内可以有一个public类,类名必须与文件名相同.注意:每个编译单元只能有一个public类. ...

  7. Head First设计模式之策略模式

    这是学习的第一个设计模式,而书中写的实例相对比较复杂,参考了网上的文章进行总结 一.定义 策略模式(strategy pattern): 定义了算法族, 分别封闭起来, 让它们之间可以互相替换, 此模 ...

  8. CheckForIllegalCrossThreadCalls = false

    多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,这时如果想要访问窗口的控件,发现无法对其控制. 这时可将窗口构造函数中的CheckForIllegalCrossThreadCalls设置为f ...

  9. webstorm方向键与电脑快捷键冲突

    1.桌面上,单击鼠标右键,选择"图形属性" 2.单击"选项和支持" 3.在图示框框中,修改电脑上的快捷键  

  10. [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

    1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误, ...