BASH:
  变量的设置规则:
    1.变量与变量内容以一个符号"="来链接

    2.等号两边不能直接接空白字符

    3.变量名称只能是英文字母与数字,但是不能以数字开头

    4.变量内容若有空白字符可使用单引号''或双引号""将内容结合
    双引号内的特殊字符$等,可以保有原来的特性
    单引号内的特殊字符仅为一般字符

    5.可以使用逃脱字符"\"将特殊字符变为一般字符

    6.需要返回命令结果时,可以使用反向字符`或者$()方式
      建议使用$(),在复杂情况下会比较直观,唯一缺点,可能系统不支持
      但是反向引号``,一定支持

    7.若变量为扩增变量内容时则可使用$变量名或者$(变量)累加内容
      PATH=${PATH}:/home/bin

    8.若该变量需要在其子程序执行,需要export来使变量变为环境变量

    9.通常大写字符为系统默认变量,自定义变量可以使用小写,方便区别

    10.取消变量使用unset

  变量的有效范围:
    环境变量=全域变量
    自定义变量=局域变量
    export: 当一个文件中执行时,任何地方定义都是本文件中可以使用的
    当调用另外一个文件时,如果该文件中的变量使用父文件中的,需要把父文件中的变量export定义为环境变量

  变量内容的删除与取代:
    ${variable#/*local/bin:}

    删除匹配都是从头开始或者从尾部开始不间断

    从前向后匹配删除
    #: 符合取代文字的最短的那一个
    ##: 符合取代文字的最长的那个一
    从后向前匹配删除
    %: 符合取代文字的最短的那一个
    %%: 符合取代文字的最长的那个一

    ${variable/old/new}
  
              

  变量的测试与内容替换
    

  万用字符与特殊字符
                   

    &&或||
                   

常用命令:

locale:语系变量
  locale -a 查看支持的语系
  locale 没有参数表示当前语系
  cat /etc/locale.conf 自定义语系

read:读取键盘输入
  -p: 后面接提示字符
  -t: 后面接等待的秒数

    read -p "Please keyin your name:" -t 30 named 最后named为变量

declare/typeset 宣告变量的类型
  -a: 将后面的变量定义为阵列array类型
  -i: 将后面的变量定义为整数类型
  -x: 用法与export一样,定义为环境变量
  -r: 将变量设置为readonly类型,不能被更改内容,也不能unset

    sum=100+300+50 会认为100+300+50为字符串
    declare -i sum=100+300+50 会进行运算,定义sum为整数

阵列array变量类型:
  var[1] = "small min"
  var[2] = "big min"
  var[3] = "nice min"
    echo "${var[1]}, ${var[2]}, ${var[3]}"

/etc/issue,/etc/motd 欢迎信息

/etc/profile(login shell才会读)

~/.bash_profie(login shell才会读)

source:读入环境配置文件的指令

cut:命令
  -d:后面接分割字符,只能是字符!
  -f: 分割的第几段
  -c: 以字符的单位去除固定字符区间     cut -c -
  
grep:命令
  -a:将binary文件以text文件的方式搜索
  -c:计算找到搜索字符的次数
  -i:忽略大小写
  -n:输出行号
  -v:反向选择
  --color=auto sort:
  -f:忽略大小写
  -b:忽略最前面空白字符部分
  -M:以月份的名字来排序
  -n:使用纯数字排序
  -r:反向排序
  -u:就是uniq,系统数据只出现一行
  -t:分隔符,默认用tab
  -k:以那个区间来进行排序 uniq:
  -i:忽略大小写
  -c: 进行计数 wc:
  -l:仅列出行
  -w:仅列出多少字
  -m:多少字符 tee:双向重定向
  -a:以累加方式,将数据加入文件中
    last | tee last.list | cut -d"" -f1 tr:删除或替换文字
  -d:删除字符串
  -s:取代重复的字符
    last | tr '[a-z]' '[A-Z]' col:
  -x:将tab转换为对等的空白键 join:加入
  -t:默认以空白字符分割数据
  -i:忽略大小写
  -:
  -: split:将大文件分割成小文件
  -b: 文件大小,
  -l:以行分割 xargs:参数代替
    -:如果输入的stdin还有特殊字符,还原为一般字符
    -e:这个是EOF,当分析到该字符串时,会停止继续工作
    -p:在执行每个之类的argument时,都是询问
    -n:后面接次数
    -I:指定替换字符串 -I {}     cut -d":" -f1 /etc/passwd | head -n | xargs -I {} id {}

Linux BASH简单总结的更多相关文章

  1. [转帖]linux bash环境变量简单总结

    linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 ...

  2. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  3. linux下简单的备份的脚本 2 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4577034 之前写过linux下简单的 ...

  4. Linux下简单粗暴使用rsync实现文件同步备份【转】

    这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...

  5. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  6. 【转】Linux(BASH)命令搜索机制

    原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...

  7. Linux bash介绍与使用

    Linux————bash的简单使用 对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口.一般来说,操作系统的接口分为两类:CLI:command line interf ...

  8. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  9. 转: windows 10使用原生linux bash命令行

    转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...

随机推荐

  1. 逃生(地图上的dp)

    蒜头君在玩一款逃生的游戏.在一个n×m 的矩形地图上,蒜头位于其中一个点.地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是 ...

  2. PyQt5Day03--程序基本结构之面向对象版本+控件学习

    1.程序基本结构之面向对象版本 (1)开发阶段(自己写好并测试)——设置为模版qto from PyQt5.Qt import * class Window(QWidget): def __init_ ...

  3. zabbix添加主机步骤

    创建主机 配置基本信息 配置好后点击添加即可: [root@localhost opt]# systemctl start zabbix-agent [root@localhost opt]# net ...

  4. 批量导入数据表(oracle)

    批量导入数据表(oracle) 1.登陆plsql 2.找到菜单栏 工具>>导入数据>>新增图标(会提示选择*.csv文件) 选择如上图所示 3.选择数据并导入 4.下图为执行 ...

  5. Thread--停止线程

    参考:http://blog.sina.com.cn/s/blog_6ca570ed01016mti.html Thread.interrupt()方法不会中断一个正在运行的线程.它的作用是,在线程受 ...

  6. min25筛学习笔记

    min25筛简介:用来求积性函数F(x)前缀和的,复杂度O(n0.75/logn),大概能求n<=1010. 记一个数x的最小质因子为R(x),所以当x不为质数时,R(x)<=√x这是废话 ...

  7. 27. docker compose 单机 均衡负载

    1.编写Dockerfile #Dockerfile FROM python:2.7 LABEL maintaner="eaon eaon123@docker.com" COPY ...

  8. Python笔记_第一篇_面向过程_第一部分_1.Python环境的设置(含虚拟机)

    *Python环境的设置 Python的环境设置也就是所需工作平台的软件搭建.常用的搭建平台IOS系统+Linux系统和Windows+Linux系统的搭建.这里主要说明的是Windows+Linux ...

  9. maven项目出现Xxx is not a Servlet的问题

    应该是tomcat的jar包和maven的jar包冲突 在pom.xml中找到 <dependency> <groupId>org.apache.tomcat</grou ...

  10. RedHat6.5升级内核

    redhat6.5 升级内核 1.导入key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 2.安装elrepo的yum源 rp ...