变量

  variableName=value
  1. 等号左右不能有空格
  2. 变量内容有空格须要用"或者'括起来,可是 v="hello $name" $保持原有功能,单引號则不行,v="hello '$name'"纯文本
  3. 可用转义符\将特殊字符转成普通文本 `命令`,$(命令) ,在文本中提供命令运行信息
  4. 变量累加, name=xiaoyi ; name=$name:'welcome to hz'
  5. 子进程可以继承父进程的环境变量可是不可以继承父进程的自己定义变量,export 变量名;将自己定义变量变成环境变量

从键盘读入数据:
    read -p '提示语' -t num v # num 时间,v 变量名
数组的申明和使用:
    v[1]='hello';v[2]='xiao'
    echo ${v[1]}



路径与命令的查找顺序

  1. 以相对/绝对路径运行命令,如/bin/ls
  2. 由alias找到该命令来运行
  3. 由bash内置的命令运行
  4. 通过$PATH这个变量的顺序找到第一个命令来运行


读取shell配置文件的命令
source 或者就是一个点 . ,    因为.bashrc仅仅能在登陆的时候才会被读,假设中途改动了想马上生效的话,我们就须要调用source命令读取当前改动的对应配置文件
eg: source ~/.bashrc equals . ~/.bashrc 


管道命令

场景: 当数据须要经过几次处理之后才干到我们想要的格式的时候
管道之后第一个数据一定是能够接受standard input的命令

选取命令:cut,grep 
  • cut
         cut 按行为单位切出来 cut -d '切割字符' -f fields ,主要是用于行数据的切割显示

         cut -c 字符范围

         eg:

            echo $PATH | cut -d ':' -f 5 //选取path中以:切割的第五个路径
  • grep
grep 将一行信息中我们想要的数据分析出来
grep [-acinv] [--color=auto] '查找字符串' filename

-a 将binary文件以 text的方式查找数据

-c 统计匹配到的数据个数

-i 忽略大写和小写

-n 输出行号

-v 输出没有匹配内容的那一行
         grep能够结合正则表达使用

排序与统计命令 sort ,wc ,uniq
  • sort 

    sort [-fbMnrtuk] [file or stdin]

    -f 忽略大写和小写

    -b 忽略最前面的空格

    -M 以月份的名字排序

    -n 使用纯数字排序

    -r 反向排序

    -u 同样的数据项仅出现一项

    -t 分隔符

    -k 以以那个区间进行排序

    eg:

         cat /etc/passwd | sort -t ':' -k 1 //对以: 切割的第一列排序
  • wc  统计字, 行或者字符数

    wc [-lwm]

    -l 行数

    -w 字数

    -m 字符数 

    eg:

         cat /etc/profile | wc -lwm
  • uniq 反复的数据竟出现一次就可以

    uniq [-ic]

    -i 忽略大写和小写

    -c 进行计数

    eg:

         last | cut -d ' ' -f1  | grep '^xiaoyi'  | uniq -c

字符转换指令 tr, col, join, paste, expand 
  • tr : tr [-ds] set1

    -d 删除信息其中的set1字段

    -s  替换掉反复的字符

    eg : 小写换大写 last | tr 'a-z' 'A-Z'


find ./ -name "*.java" | xargs wc -l
find grep 讲的比較好的链接: http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html

特殊符号:




鸟书shell 学习笔记(一) shell专注于概念和命令的更多相关文章

  1. Shell学习笔记之shell脚本和python脚本实现批量ping IP测试

    0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...

  2. 鸟书shell 学习笔记(二) shell中正則表達式相关

    通配符与正則表達式的差别 通配符是bash原生支持的语法,正則表達式是处理字符串的一种表示方式, 正則表達式须要支持的工具支持才干够 语系设置 : export LANG=C grep alias 设 ...

  3. shell学习笔记2: shell中的四则运算符

    shell中的四则运算符 n1,n2 :常量数字 char:运算符号 加,减,乘,除,取余(+,-,*,/,%) $a,$b:变量a,变量b 方法1 数字与符号之间需要有空格 不支持小数 expr n ...

  4. shell学习笔记1: shell 中的变量与常见符号使用方法

    变量 声明即用 a=2 b="123" 调用 ${varName}或者 $varName echo $b echo ${a} 常见变量 $?:判断上一个语句是否成功 $0:执行脚本 ...

  5. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  6. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...

  7. SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here   ...

  8. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  9. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

随机推荐

  1. Swift - 解析XML格式数据(分别使用GDataXML和DDXML)

    在做一些应用的时候经常需要用到XML解析,比如获取Web Service数据,读取RSS新闻或者博客数据源.下面演示了两个非常方便高效的XML库在Swift里的调用方法. 假设需要被解析的XML数据文 ...

  2. Suse 创建NFS共享目录

    Suse 创建NFS共享目录 服务端的配置: 1.编辑nfs服务的配置文件 /software/suse11 *(rw,sync,no_root_squash,no_all_squash) 凝视: / ...

  3. POJ2421 & HDU1102 Constructing Roads(最小生成树)

    嘎唔!~又一次POJ过了HDU错了...不禁让我想起前两天的的Is it a tree?   orz..这次竟然错在HDU一定要是多组数据输入输出!(无力吐槽TT)..题目很简单,炒鸡水! 题意: 告 ...

  4. codeforces 659C Tanya and Toys

    题目链接:http://codeforces.com/problemset/problem/659/C 题意: n是已经有的数字,m是可用的最大数字和 要求选自己没有的数字,且这些数字的数字和不能超过 ...

  5. 类型自动转换引起的误解——QString可以赋值数字1,也能直接与0比较,真是昏倒!

    看以下代码,能编译通过: void MainWindow::on_pushButton_clicked() { QString str = "test"; ) { QMessage ...

  6. 图解:如何U盘装Win7系统(傻瓜式装机) + 分区步骤图解(用WIN7自带管理工具)

    原地址:http://wenku.baidu.com/link?url=wV2Pfw2IM21u2KmtAcNweSZRwpXRuKAVAS29dS4aWGEpMtFdDlzZvixCgsvBxIm- ...

  7. Spring MVC Hello World Example(转)

    Spring 3 You may interest at this Spring 3 MVC hello world example. In Spring MVC web application, i ...

  8. A Game of Thrones(17) - Bran

    It seemed as though he had been falling for years. Fly, a voice whispered in the darkness, but Bran ...

  9. OCP读书笔记(9) - 诊断数据库

    数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list f ...

  10. hdu3605(最大流+状态压缩)

    传送门:Escape 题意:给出每个人适合住的星球信息和该星球能住多少人 ,第一行给出n m 代表有 n 个人 m 个星球,然后接下来n行每行m个数字 1代表适合第 i 个星球 0 代表不适合第 i ...