linux shell 编程笔记
重定向和管道
  输出重定向:把在终端输出的内容保存到文件上
  输入重定向:通过文件的格式输入内容到终端
  管道:把上一条命令的输出作为下一条命令的输入,如同管道一样,所有命令同时进行,同时处理数据,不产生临时文件
  每个程序三个句柄:标准输入 标准输出 标准错误
  
  标准输入  缩写 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 编程笔记的更多相关文章
- Linux Shell编程学习笔记——目录(附笔记资源下载)
		LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ... 
- Shell编程笔记
		Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ... 
- linux —— shell 编程(文本处理)
		导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ... 
- linux —— shell 编程(编程语法)
		导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ... 
- storysnail的Linux串口编程笔记
		storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ... 
- linux shell编程总结
		linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ... 
- Linux Shell编程参考大全
		本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ... 
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
		https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ... 
- linux shell 编程参考
		#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ... 
随机推荐
- centOS7创建python虚拟环境
			参考: 非常棒的2篇博客 https://www.centos.bz/2018/05/centos-7-4-%E5%AE%89%E8%A3%85python3%E5%8F%8A%E8%99%9A%E6 ... 
- 【转载】使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
			一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ... 
- Cat VS Dog HDU_3829(最大独立集最大匹配)
			Cat VS Dog 题意:一群小朋友去动物园,如果每个小朋友喜欢的动物是猫,那么不喜欢的动物一定是狗,反之也是.现在动物园的管理者要拿走一些动物,如果拿走的是某个小朋友不喜欢的动物,那这个小朋友就非 ... 
- STM32定时器配置(TIM1-TIM8)高级定时器+普通定时器,定时计数模式下总结
			文章结构: ——> 一.定时器基本介绍 ——> 二.普通定时器详细介绍TIM2-TIM5 ——> 三.定时器代码实例 一.定时器基本介绍 之前有用过野火的学习板上面讲解很详细,所以 ... 
- ganglia问题小结
			1.gmetad和rrdtool的关系 gmetad负责将轮询gmond拉取到的数据存入rrdtool的文件中,rrdtool 2.gemtad.conf ①命令:/usr/sbin/gmetad - ... 
- 华为/H3C Syslog配置
			H3C交换机的设置举例1. 组网需求将系统的日志信息发送到 linux 日志主机:日志主机的IP 地址为1.2.0.1/16:信息级别高于等于 informational 的日志信息将会发送到日志主机 ... 
- nyoj_19_擅长排列的小明_201403011600
			擅长排列的小明时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他, ... 
- GDB 调试 PHP文件
			http://www.bo56.com/%E5%9C%A82016%E7%9A%84phpcon%E5%A4%A7%E4%BC%9A%E4%B8%8A%E7%9A%84%E5%88%86%E4%BA% ... 
- NLS_NCHAR_CHARACTERSET 和 NLS_CHARACTERSET
			SQL> select * from nls_database_parameters; PARAMETER VALUE ------------------------------------- ... 
- android获取当前软件版本号号和版本号名称
			<span style="font-size:18px;">/** * 获取本地软件版本号 */ public static int getLocalVersion(C ... 
