linux_command

特殊符号

  • ;: 表示命令结束,接着执行下一条,exp: clear;ls -l
  • &&: command1 && command2 --> 如果command1执行成功,则继续运行command2
  • ||: command1 || command2 --> 如果command1 执行失败,则继续执行command2
  • ~: 波浪线会自动扩展成当前用户的主目录
  • ?: 代表任意字符,不包括空字符。 grep ?.log
  • *: 代表任意数量的字符,包括0 个字符
  • [...]:匹配括号内任意一个字符 ls [ab].txt --> 匹配a.txt b.txt
  • [^..]/[!..]: 表示匹配不包括括号内的字符
  • [a-z]
  • {..}: 表示分别扩展成大括号里面的所有值,各个值是由逗号分割 echo {1,2,3} 1 2 3 == echo 1;echo 2; echo3
  • {a..z}: 快捷写法, 表示{a,b,c,d…z} 可用于循环遍历 for i in {1…100} 如果写错了,识别不到,原样输出
     echo {a..c}-{1..3} => a1 a2 a3 b1 b2 b3 c1 c2 c3
    
    
  • 关于转义: echo $‘it’s’
  • Here 文档:格式: << $NAME … $NAME 多行字符串输入,NAME 随便起名字,收尾对应即可
cat << token
ll
ll
ll
token
  • $?: 表示上一个命令的退出码,0表示成功,非0执行失败
  • $$: 表示当前shell的进程ID echo $$
  • $0: 脚本文件名
  • $1-$9: 对应脚本第一个到第九个参数
  • $#:参数的总数
  • $@全部的参数,使用空格分隔
  • $*:全部的参数,参数之间使用变量$IFS值第一个字符分割,默认为空
  • $_: 表示上一个命令的最后一个参数
  • $-: 当前shell 的启动参数
  • ${#varname}:获取字符串长度的语法
  • 匹配问题:
${variable#pattern} # 删除最短匹配,返回剩余部分--非贪婪匹配  #变成 % 从尾部开始
${variable##pattern} # 删除最长匹配,返回剩余部分--贪婪匹配   ## 变成 %% 从尾部开始

phone="555-456-1414"
echo ${phone#*-}  # 456-1414
echo ${phone##*-} # 1414

# 如果要将头部匹配的部分替换成其他内容  
${variable/#pattern/string}
foo=JPG.JPG
echo ${foo/#JPG/jpg}  # jpg.JPG

  • {varname^^}: 全部转换成大写
  • {varname,,}: 全部转换成小写
  • ((...)) : 可以进行整数的算术运算, 会忽略空格。 ((1+1)). 不返回运算结果,只要返回不是0,即执行成功 ((3-3)) 执行失败, $((2+2)) 提取值

判断符号

  • -eq 等于
  • -ne 不等于
  • -gt 大于
  • -lt 小于
  • -ge 大于等于
  • -le 小于等于

快捷键

Ctrl + k:剪切光标位置到行尾的文本。
Ctrl + u:剪切光标位置到行首的文本
Ctrl + y:在光标位置粘贴文本。

脚本入门

#!/bin/bash
#!/usr/bin/env NAME
# 该行作用指定默认解释器  否则执行脚本需要 /bin/bash  script.sh
# sh文件需要加上执行权限 chmod +x *.sh

#!/usr/bin/env NAME这个语法的意思是,让 Shell 查找$PATH环境变量里面第一个匹配的NAME。如果你不知道某个命令的具体路径,或者希望兼容其他用户的机器,这样的写法就很有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值