变量

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
特殊符号:

转载于:https://www.cnblogs.com/blfshiye/p/4556900.html

鸟书shell 学习笔记(一) shell专注于概念和命令相关推荐

  1. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)

    1. 使用 if-then 语句 最基本的结构化命令就是if-then语句.if-then语句有如下格式. if command then ​ commands fi 或者 if command; t ...

  2. Gnome Shell学习笔记——Gnome Shell是什么

    什么是Gnome Shell? Gnome Shell 是 GNOME 3 的主要元件,它改革了 GNOME 桌面环境的操作,包括窗口管理.应用程序启动和工作空间管理的方式,为使用者提供一个全新方便易 ...

  3. shell学习笔记 (2)

    shell学习笔记 (2) ---china.pub.com  linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...

  4. Nginx学习笔记3:Shell脚本检测Nginx服务状态

    前言 nginx 服务启动后,我们需要对其服务状态进行监控,今天学习过程中了解到一段非常有用的小脚本,不仅可以监控Nginx,也可以用来监控其他服务 脚本 A=`ps -C nginx –no-hea ...

  5. 史上最牛最强的linux学习笔记 10.shell基础

    史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...

  6. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  7. MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  8. 机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录

    一.序言 微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本.期间各版本之间差异(包括命名空间.方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了.之前在园子里也看到 ...

  9. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令

    Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 文章目录 Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 info server info clie ...

最新文章

  1. R语言ggplot2可视化:使用热力图可视化dataframe数据、自定义设置热力图的颜色、自定添加标题、轴标签、热力图线框等
  2. 福利丨网友授课视频分享:机器学习实战-KNN-第一部分
  3. Windows中动态磁盘管理
  4. HDU 1247 Hat’s Words 字典树(Trie树)
  5. 字符串处理 —— 回文串相关 —— 添加/删除字符后是否为回文串
  6. 491 Increasing Subsequences 递增子序列
  7. linux db2 64位下载,DB2(Linux 64位)安装教程
  8. 2022考研数学一/二/三汤老师接力题典1800(解答册及题目册)pdf版
  9. 不同电脑进入bios按键汇总
  10. D-Tale,实现Pandas GUI高效数据分析
  11. 把一个godaddy的域名转回国内的注册商
  12. BUU-Crypto-Alice与Bob
  13. 小米4 第三方re奇兔_小米Air 2 Pro -小米高端耳机的滑铁卢
  14. obv代码matlab,通达信精进终极obv指标公式,通达信obv指标公式源码
  15. 360P2建html网站,360P2刷机
  16. 用python做人脸识别_用Python实现一个简单的人脸识别,原来我和这个明星如此相似...
  17. 快递员拍身份证照片,谁来保证信息安全?
  18. 分享两款智慧物业系统源码,前后端分离,前端VUE,Uni-app框架
  19. 照明灯具哪个品牌好?家庭护眼灯推荐
  20. 通信领域常见IEEE期刊的缩写

热门文章

  1. OpenGL 自制API gluPerspective
  2. 探讨PHP 静态变量 静态方法 初始化类的问题 哪种写法合格
  3. 第三十九讲:tapestry 页面加载等待过程(ProgressiveDisplay)组件
  4. redhat 登录不慢 传文件很慢
  5. Linux 中 Iptables 规则定义
  6. MongoDB,分组,聚合
  7. java 中计算时间差
  8. IE8 Beta2 已经放出来了
  9. Bzoj14981416: [NOI2006]神奇的口袋
  10. 关于 Injection of autowired dependencies failed 错误的解决方法