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. 高性能管线式HTTP请求(实践·原理·实现)

      该篇实际是介绍pipe管线的原理,下面主要通过其高性能的测试实践,解析背后数据流量及原理.最后附带一个简单的实现     实践 先直接看对比测试方法 对于单一客户端对服务器进行http请求,一般我 ...

  2. 调用CMD命令的一个.NET工具类(MyWindowsCmd)

    功能大概描述一下如果直接StandardOutput.ReadToEnd()这种方法,有很多限制 这类方式必须把命令全部执行一次写入并标记为exit,而且返回内容的获取会一直等待,如果在主线程里使用会 ...

  3. Xamarin android使用Sqlite做本地存储数据库

    android使用Sqlite做本地存储非常常见(打个比方就像是浏览器要做本地存储使用LocalStorage,貌似不是很恰当,大概就是这个意思). SQLite 是一个软件库,实现了自给自足的.无服 ...

  4. 二分查找(折半查找)C++

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少: 其缺点是要求待查表为有序表,且插入删除困难. 因此,折半查找方法适用于不经常变动而查找频繁的有序列表. 首先,假设表 ...

  5. java 多线程,T1 T2 T3 顺序执行

    一.程序设计 1.抽象公共类PublicThread,具有先前线程属性previousThread.父类为Thread 2.在PublicThread的run()方法中判断previousThread ...

  6. 正则验证,match()与test()函数的区别?

    test是RegExp的方法,参数是字符串,返回值是boolean类型.match是String的方法,参数是正则表达式,返回值是数组. 案例: //判断日期类型是否为YYYY-MM-DD格式的类型 ...

  7. 对DataTable(或者DataSet)修改后,提交修改到数据库

    http://blog.csdn.net/nidexuanzhe/article/details/8228832 说明:通常我们在做数据库交互时,并不一定要使用特定的SQL语句来更新数据,.NET F ...

  8. SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。

    http://blog.csdn.net/github_35160620/article/details/52676416 如果你在使用新创建的 SQL Server 用户名和密码 对数据库进行连接的 ...

  9. RAID常用级别的比较

    [转]RAID常用级别的比较 特点 硬盘及容量 性能及安全 典型应用 raid 0 用于平行存储,即条带.其原理是把连续的数据分成几份,然后分散存储到阵列中的各个硬盘上.任何一个磁盘故障,都将导致数据 ...

  10. lxml的另一种用法

    python中lxml库是一个十分强大的xml解析库,最近在看<白帽子将web扫描>这本书的时候,里面提供了一种不同于以往的用法,因此在这将这个方法记录下来 传统的lxml库的使用方法类似 ...