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

Linux shell备忘录相关推荐

  1. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  2. linux shell for 循环变量,shell for循环总结

    1 shell for循环语法 for 变量 in 列表 do command1 command2 ... commandN done 1.1 读取列表中的值 #!/bin/bash for test ...

  3. 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程

    Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/ 转载于:https://www.cnblogs.com/pegasu ...

  4. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  5. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  6. Linux Shell高级技巧(目录)

    为了方便我们每个人的学习,这里将给出Linux Shell高级技巧五篇系列博客的目录以供大家在需要时参阅和查找. Linux Shell高级技巧(一)  http://www.cnblogs.com/ ...

  7. Linux shell命令总结

    01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1.我们正常需要 ...

  8. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

  9. linux的shell的功能,linux shell中${ }的一些特异功能

    linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...

最新文章

  1. 使用Nginx实现服务器反向代理和负载均衡
  2. 042_Popconfirm气泡确认框
  3. 【Splay】【块状链表】bzoj3223 Tyvj 1729 文艺平衡树
  4. 正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数
  5. 饿了么超级会员,年卡低至108元!饿了么会员,点外卖超省钱!
  6. 工作216:JS-JS创建数组的三种方法
  7. Paper Pal:一个中英文论文及其代码大数据搜索平台
  8. 【jupyter notebook】低版本 python 安装jupyter及其问题解决
  9. c语言怎么读取mhx文件内容,C语言重新学习――基础杂类
  10. java闭包和lambda关系_Lambda表达式和闭包Closure
  11. 深入理解JMM(Java内存模型) --(三)顺序一致性
  12. Luogu4494 [HAOI2018]反色游戏 【割顶】
  13. 9.看板方法---建立输入节奏
  14. 190112每日一句
  15. 一个游戏策划案(仅供参考)
  16. 传奇私服服务器怎么增加npc,传奇新建NPC/npc修改功能/NPC修改模版
  17. python 小数点位数_python小数位数
  18. 今天公司HR推荐了一个人来应聘财务经理
  19. 《Heterogeneous Information Network Embedding for Recommendation》 论文分析
  20. mysql 数据库军规_MySQL 数据库开发的 36 条军规

热门文章

  1. 走进JavaWeb技术世界14:Mybatis入门
  2. ROS+ubuntu20.04+opencv4.5.5
  3. Java 集合之给ArrayList排序
  4. 使用Apriori实现蔬菜价格涨跌关联分析
  5. 英雄联盟祖安服务器位置,LOL水最深的五个大区:艾欧尼亚只排第三,第一不是峡谷之巅...
  6. MySQL 日期/时间 操作函数(2.1)
  7. VC++自定义对话框程序界面图标以及 *.exe 桌面图标
  8. PHP 图像加入文字水印的自动换行解决方案(支持中文)
  9. 01、开启时空克隆之旅 C++三维视频融合实战系列(时空克隆)
  10. php 如何使用iconv()