Linux学习笔记——20170807

来源:互联网 发布:linux 匹配文件名 编辑:程序博客网 时间:2024/06/09 22:45

Shell

用户使用/bin/bash 系统使用/sbin/nologin

  • echo -e “hello\tworld” -> 输出命令,支持转义字符

shell script

  • #! 脚本声明
  • # 注释
  • .sh 文件格式

示例 vim test.sh

#! /bin/bash# this is a shell scrpit demoecho -e "hello world!"

历史命令

  • history -> 历史记录
  • 上下箭头
  • !n -> 重复第n行命令

别名

  • alias 名称=’原命令’ -> 临时定义
  • /root/.bashrc -> 永久定义

快捷键

  • ctrl + l -> 清屏
  • ctrl + u -> 剪切
  • ctrl + y -> 粘贴

通配符

  • ? -> 匹配任意一个字符
  • * -> 匹配任意数量字符
  • [a-z] -> 匹配a-z其中的任意一个
  • [^a] -> ^非,匹配非a的字符

变量

用户自定义变量

  • name = “xiaowang” -> 用户自定义变量
  • name = “$name”taba -> 叠加
  • unset name -> 取消变量

    在当前shell生效

环境变量

  • export 变量名=变量值 -> 临时设置
  • vim /etc/profile -> 永久生效
  • PATH = “$PATH”:/mypath

shell传参

[root@lalala ~]# vim demo.sh

#! /bin/bashnum1 = $1 # 第一个参数num2 = $2 # 第二个参数sum = $(($sum1 + $sum2))echo $sum

[root@lalala ~]# bash demo.sh 2 5


shell交互

read -t 10 -p “Please enter your age:”

#! /bin/bashread -t 10 -p "Please enter your age:" ageecho -e "\n"echo "is $age"

正则表达式

  • * 前一个字符匹配0个或多个字符
  • . 匹配除了换行符外的任意字符
  • ^ 行首 $ 行尾
  • [^a] 非a
  • [a-z] a-z其中一个字符
  • a* 重复匹配前一个a 0次到n次
  • \ 转义字符
  • {n,m} 前一个字符至少出现n次,最多出现m次

示例

[1][3-8][0-9]\{9\} -> 手机号码\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14} -> email地址^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+ -> url地址[1-9]([0-9]{5,11}) -> 腾讯QQ号\d{17}[\d|x]|\d{15} -> 身份证号[A-Za-z0-9_\-\u4e00-\u9fa5]+ -> 用户名