重定向和管道
  输出重定向:把在终端输出的内容保存到文件上
  输入重定向:通过文件的格式输入内容到终端
  管道:把上一条命令的输出作为下一条命令的输入,如同管道一样,所有命令同时进行,同时处理数据,不产生临时文件
  每个程序三个句柄:标准输入 标准输出 标准错误
 
  标准输入  缩写 stdin        序号 0 读数据  终端连接(默认)
  标准输出  缩写 stdout      序号 1 显示程序输出 终端显示设备
  标准错误  缩写 stderr      序号 2  显示错误信息以及警报  终端显示设备
 
  输出重定向 ls -l > myfile 一般情况不重定向错误信息
  若想把标准输出和错误一起重定向,可以 ls -l /dev/sda /dev/mmm > listing 2>&1 或者 ls -l /dev/sda /dev/mmm > listing 2>listing.err
  >表示覆盖源文件 >>表示在源文件基础上添加
 
  rev 获取键盘输入,反过来输出到终端
   ls -l /dev | wc -l (|表示管道,前面的输出作为后面的输入,本命令统计前面输出的数量)

  curl :一个网络命令,可以访问网页
   
   #!/bin/bash 指定bash解析器  ,接下来的#表示注释
   1. bash file.sh 解析器bash 执行命令,无须指定解析器、无须设置脚步执行权限
   2. ./file.sh 需要指定解析器去执行代码,需要给脚步设置可执行权限
   
   从键盘输入内容为变量赋值
   格式:read [-p "信息"] 变量名
   单引号不能解析变量 ’ $name ‘解析不了 需要用“ $name ”    
   echo -n "please input your name: "   -n 表示不换行  
   
   颜色化输出:
   "\033[32;40m[string]\033[0m"
   #\033[前景颜色;背景色m
   #\033[0m 恢复到系统默认的颜色
   30 黑 31 红 32 绿色 33 棕色 34 ...40
   40 黑 41 红 42绿....50
   
   数值比较 格式【整数1 操作符 整数2】
   -eq 等于
   -ne 不等于
   -gt 大于
   -lt 小于
   -le 小于或者等于
   -ge 大于或者等于
   
   字符串比较
   = 等于  !=不等于 -z 字符串为空
   
   find查找命令:
   find 目录 属性 参数(可以使用正则表达式)
   find .  -name "*.c"
   find /  -perm 755
   find /  -user root
   find / -type  f(d、l)
   -mtime -5 更改时间在五天之内的文件
   -mtime +3 三天以前更改的文件
  xargs命令:在找到文件之后,把文件进行提交处理
  find -name "*.txt" | asrgs rm -rf
 
  grep正则表达式的使用:
 
  awd行定位的使用
 
  sed行定位的使用
  sed -n '2'p fiel 打印第二行
  sed -n '1,3'p file 打印一到三行
  sed -n '/lose/'p file 打印和lose匹配的行
  sed -n '4,/gg/'p file 打印第四行到包含字符gg的行
  sed '1,2'd file 把第一行和第二行全部删除
 
  uniq 行定位的使用
  uniq -c file 打印紧挨的重复行出现的次数
  uniq -d file
 
  sort file  对文件内容进行排序
  sort -t: -k1 -r 以冒号进行分割,以第一列进行逆序排序
 
  cat << eof
    内容  
  eof  格式输出内容
 
  脚本函数的使用:
  function fun(){} 在另一个文件输入 . 文件名 函数名可以调用

linux shell 编程笔记的更多相关文章

  1. Linux Shell编程学习笔记——目录(附笔记资源下载)

    LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...

  2. Shell编程笔记

    Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理.   修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...

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

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

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

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

  5. storysnail的Linux串口编程笔记

    storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...

  6. linux shell编程总结

    linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...

  7. Linux Shell编程参考大全

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

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

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

  9. linux shell 编程参考

    #!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...

随机推荐

  1. Java中的接口详解

    接口 是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量.构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8) ...

  2. acedinitget

    // 提示用户选择选择方式 acedInitGet(0, _T("W CP")); int nRs = acedGetKword(_T("\n请输入关键字确定选择方式[窗 ...

  3. 用C#在Visual Studio写Javascript单元测试(Firefox内核)

    引用nuget包: 注意:Geckofx45 nuget包必须是最后引用,否则初始化会出错 编写JsRunner using Gecko; using System; using System.Col ...

  4. JAR包中读取资源文件

    我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...

  5. 记录--git命令行上传项目到github仓库

    由于公司一直使用的是的SVN,基本上都是内网,原来的git命令都快忘记了,当然也是自己太懒,平时都是直接拖到github上.今天打开idea后突然看到了原来自己写好的一个项目,就想将它上传到githu ...

  6. mt_rand()和rand()两者的区别

    在随机读取中使用了mt_rand(),而不适用rand(),他们两者的区别: mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子:而且性能上比rand()快4倍 ...

  7. namespace的作用及用法

    namespace 所谓namespace,是指标识符的可见范围.C++标准库中的所有标识符都被定义在一个名为 std 的namespace 中. 一.<iostream>和<ios ...

  8. Problem 30

    Problem 30 https://projecteuler.net/problem=30 Surprisingly there are only three numbers that can be ...

  9. 关于read和fread

    1.fread与read的区别---open和fopen的区别--fread函数和fwrite函数:http://blog.csdn.net/dreamtdp/article/details/7560 ...

  10. 对vuex的浅解

    vuex是什么? 官网的解释是 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也 ...