变量

  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. setsockopt()使用方法()参数说明

    int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); s(套接字): level:(级别): 指定 ...

  2. JSF之经常使用注解

    @ManagedBean 以托管 bean 的形式注冊一个类实例.然后将其放入到使用当中一个 @...Scoped 凝视指定的范围内.假设没有指定不论什么范围.JSF 将把此 bean 放入请求范围. ...

  3. 使用Python在2M内存中排序一百万个32位整数

    译言网 | 使用Python在2M内存中排序一百万个32位整数 使用Python在2M内存中排序一百万个32位整数 译者:小鼠 发表时间:2008-11-13浏览量:6757评论数:2挑错数:0 作者 ...

  4. projecteuler---->problem=9----Special Pythagorean triplet

    title: A Pythagorean triplet is a set of three natural numbers, a b c, for which, a2 + b2 = c2 For e ...

  5. password加密问题

    password加密问题 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人爱好:酷爱数据结构和算法,希望将来 ...

  6. A股市场暴跌背后的三大元凶?

    周一两市低开低走,盘中空方连续打压股指,大盘一路下行,沪指2000点关口告急,收于1963.24点,跌幅超过了5%.行业板块全线溃败.银行.证券领衔大幅杀跌,板块跌幅一度超过5%:继上周五中国石油A股 ...

  7. Graphical Shell with WebShell - WebOS Internals

    Graphical Shell with WebShell - WebOS Internals Graphical Shell with WebShell From WebOS Internals J ...

  8. bash学习之环境变量

    1.查看系统存在的环境变量env 和 export env命令:查看环境变量 [CJP@CJP ~]$ env HOSTNAME=CJP SHELL=/bin/bash HISTSIZE=1000 U ...

  9. jquery ui中 accordion的问题及我的解决方法

    原文:jquery ui中 accordion的问题及我的解决方法 jquery有一套所谓的ui组件,很不错的.如果有兴趣的朋友,可以参考http://jqueryui.com/ 但其中的accord ...

  10. 【iOS】文件下载小记

    下载文件到NSURLConnection与NSURLSession两种,一种有恨悠久的历史了. 使用相对麻烦,后者是新出来的,添加了一些额外的功能. 一.NSURLConnection实现下载 TIP ...