Linux shell备忘录

1.数字运算

1. i=`expr $i + 1`;
2. let i+=1;
3. ((i++));
4. i=$[$i+1];
5. i=$(( $i + 1 ))

2.压缩解压

tar -z(gz格式)/-j(bz2格式) -x解压/-c压缩 -f文件格式 -v过程可视化   file.tar(.gz/bz2)  file
三方加密使用dd对压缩后文件转换,openssl进行数据流加解密
tar -zcf - file|openssl des3 -salt -k passwd|dd of=file.des3
dd if=file.des3|openssl des3 -d -k passwd|tar -zxf - -C /home
或者
openssl enc -des3 -k 123456 -in file.gz -out file.des3
openssl enc -d -des3 -k 123456 -in file.des3 -out file.gz

1)对于.tar结尾的文件          tar -xf all.tar

2)对于.gz结尾的文件          gzip -d all.gz           gunzip all.gz

3)对于.tgz或.tar.gz结尾的文件       tar -xzf all.tar.gz             tar -xzf all.tgz

4)对于.bz2结尾的文件           bzip2 -d all.bz2             bunzip2 all.bz2

5)对于tar.bz2结尾的文件            tar -xjf all.tar.bz2

6)对于.Z结尾的文件            uncompress all.Z

7)对于.tar.Z结尾的文件                tar -xZf all.tar.z

8)对于.tar.xz结尾的文件(需要安装xz)

两层解压:     xz -d ***.tar.xz        tar -xvf  ***.tar

或者:        tar xvJf ***.tar

3.注意

ls -F|grep '/$' or ls -l|grep '^d'查看目录文件夹

sh的[ -n "str1" ]注意-n条件判断后面要加注引号判断非空的字符串

4.筛选

grep -v xx  排除-v

grep "xx\|yy"  或条件\|

grep -E/-e  正则匹配 -E或 -e

wc -l 统计行数

awk 'NR==1{print $2}'  表制式数据取第一行第二列

5.运行检查

if [ $? != 0 ] 判断上一个程序有没有执行成功

$?这里表示上一次运行的结果

6.条件判断

  条件测试表达式 [ expression ]或者[[ expression ]] (括号两端必须要有空格)或者test expression

  组合测试条件 -a:and            -o:or          !:取非

  整数比较

  -eq 测试两个整数是否相等
  -ne 测试两个整数是否不等
  -gt 测试一个数是否大于另一个数
  -lt 测试一个数是否小于另一个数
  -ge 大于或等于
  -le 小于或等于

  逻辑与:&&

  逻辑或:||

  字符串比较

  == 等于 两边要有空格
  != 不等
  > 大于
  < 小于

  文件测试

  -z string 测试指定字符是否为空,空着真,非空为假
  -n string 测试指定字符串是否为不空,空为假 非空为真
  -e FILE 测试文件是否存在
  -f file 测试文件是否为普通文件
  -d file 测试指定路径是否为目录
  -r file 测试文件对当前用户是否可读
  -w file 测试文件对当前用户是否可写
  -x file 测试文件对当前用户是都可执行
  -z 是否为空 为空则为真
  -a 是否不空

  条件测试的写法:

  1、执行一个命令的结果    if grep -q "rm" fs.sh;then

  2、传回一个命令执行结果的相反值     if !grep -q "rm" fs.sh;then

  3、使用复合命令((算式))      if ((a>b));then

  4、使用bash关键字 [[判断式]]        if [[ str > xyz ]];then

  5、使用内置命令:test 判断式         if test "str" \> "xyz";then

  6、使用内置命令:[判断式] 类似test         if [ "str" \> "xyz" ];then

  7、使用-a -o进行逻辑组合        [ -r filename -a -x filename ]

  8、命令&&命令      if grep -q "rm" fn.sh && [ $a -lt 100 ];then

  9、命令||命令       if grep -q "rm" fn.sh || [ $a -lt 100 ];then

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值