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
Linux shell备忘录相关推荐
- linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法
一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...
- linux shell for 循环变量,shell for循环总结
1 shell for循环语法 for 变量 in 列表 do command1 command2 ... commandN done 1.1 读取列表中的值 #!/bin/bash for test ...
- 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/ 转载于:https://www.cnblogs.com/pegasu ...
- 执行远程linux命令,linux shell 远程执行命令
经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux Shell高级技巧(目录)
为了方便我们每个人的学习,这里将给出Linux Shell高级技巧五篇系列博客的目录以供大家在需要时参阅和查找. Linux Shell高级技巧(一) http://www.cnblogs.com/ ...
- Linux shell命令总结
01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1.我们正常需要 ...
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...
- linux的shell的功能,linux shell中${ }的一些特异功能
linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...
最新文章
- 使用Nginx实现服务器反向代理和负载均衡
- 042_Popconfirm气泡确认框
- 【Splay】【块状链表】bzoj3223 Tyvj 1729 文艺平衡树
- 正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数
- 饿了么超级会员,年卡低至108元!饿了么会员,点外卖超省钱!
- 工作216:JS-JS创建数组的三种方法
- Paper Pal:一个中英文论文及其代码大数据搜索平台
- 【jupyter notebook】低版本 python 安装jupyter及其问题解决
- c语言怎么读取mhx文件内容,C语言重新学习――基础杂类
- java闭包和lambda关系_Lambda表达式和闭包Closure
- 深入理解JMM(Java内存模型) --(三)顺序一致性
- Luogu4494 [HAOI2018]反色游戏 【割顶】
- 9.看板方法---建立输入节奏
- 190112每日一句
- 一个游戏策划案(仅供参考)
- 传奇私服服务器怎么增加npc,传奇新建NPC/npc修改功能/NPC修改模版
- python 小数点位数_python小数位数
- 今天公司HR推荐了一个人来应聘财务经理
- 《Heterogeneous Information Network Embedding for Recommendation》 论文分析
- mysql 数据库军规_MySQL 数据库开发的 36 条军规
热门文章
- 走进JavaWeb技术世界14:Mybatis入门
- ROS+ubuntu20.04+opencv4.5.5
- Java 集合之给ArrayList排序
- 使用Apriori实现蔬菜价格涨跌关联分析
- 英雄联盟祖安服务器位置,LOL水最深的五个大区:艾欧尼亚只排第三,第一不是峡谷之巅...
- MySQL 日期/时间 操作函数(2.1)
- VC++自定义对话框程序界面图标以及 *.exe 桌面图标
- PHP 图像加入文字水印的自动换行解决方案(支持中文)
- 01、开启时空克隆之旅 C++三维视频融合实战系列(时空克隆)
- php 如何使用iconv()