1、shell脚本的基本格式

  #!bin/bash   ->看到这个就是shell脚本

  #filename:test.sh ->脚本名称

  #auto echo hello world ->此脚本实现的功能,这里指的是输出hello world

  #by authors ->作者

2、shell脚本的三种执行方法

  1) 空格./test.sh  注:这种需要设置执行权限,如:sudo chmod 777 test.sh

  2)/bin/bash test.sh

  3)sh test.sh

3、判断语句

  测试脚本有无问题:/bin/bash -n test.sh

  判断符号:

       -f 判断文件是否存在,如:if [ -f filename ]

       -d 判断目录是否存在,如:if [ -d dir ]

       -eq ->等于  -ne ->不等于  -gt ->大于   

       -gt ->大于  -lt ->小于    -le ->小于或等于

       -ge ->大于或等于  -a ->双方都成立  -z ->判断是否为空字符串

4、小知识

  $* 表示哪些参数  $# 表示几个参数  $? 表示执行正确一般结果为0;

  例如:

    

    结果如下:

    

5、Linux中tar命令

  -c: 建立压缩档案(压缩)
  -x:解压
  -t:查看内容
  -r:向压缩归档文件末尾追加文件
  -u:更新原压缩包中的文件

 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

  -z:有gzip属性的
  -j:有bz2属性的
  -Z:有compress属性的
  -v:显示所有过程
  -O:将文件解开到标准输出

 下面的参数-f是必须的,-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

  例如: tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件压缩一个名为all.tar的包。-c是表示压缩,-f指定压缩包的文件名。

      tar -rf all.tar *.gif  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

      tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

      tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思

      tar -xf all.tar 这条命令是解出all.tar包中所有文件,-x是解压的意思

  压缩实例:tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg

       tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

  解压实例:tar –xvf file.tar  解压 tar包

       tar -xzvf file.tar.gz 解压tar.gz

---恢复内容结束---

shell编程之基础知识1的更多相关文章

  1. Shell编程——bash基础知识

    # Bash中自动补全时忽略大小写 # 编辑~/.inputrc(没有的话,就新建一个),在最后加一行: set completion-ignore-case on # 若要用方向键Up,Down来搜 ...

  2. 第一部分shell编程1基础知识

    ls etc/init.d/ shell脚本的路径 ls /usr/local/apache2/ ls /usr/local/apache2/bin/apachectl 1. shell特性命令历史 ...

  3. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  4. C#复习笔记(5)--C#5:简化的异步编程(异步编程的基础知识)

    异步编程的基础知识 C#5推出的async和await关键字使异步编程从表面上来说变得简单了许多,我们只需要了解不多的知识就可以编写出有效的异步代码. 在介绍async和await之前,先介绍一些基础 ...

  5. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  6. java第九节 网络编程的基础知识

    /** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...

  7. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  8. Shell编程入门基础上

    前言 为什么学 Shell Shell 脚本语言是实现 Linux/UNIX 系统管理及自动化运维所必备的重要工具, Linux/UNIX 系统的底层及基础应用软件的核心大都涉及 Shell 脚本的内 ...

  9. [转] linux操作系统下c语言编程入门--基础知识

    点击阅读原文 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容: 1. 源程序编译        2. Makefile的编写        3. 程序库 ...

随机推荐

  1. R语言预测实战(第一章)

    本例使用forecast包中自带的数据集wineind,它表示从1980年1月到1994年8月, 由葡萄酒生产商销售的容量不到1升的澳大利亚酒的总量.数据示意如下: #观察曲线簇 len=1993-1 ...

  2. (转)Installing Cloudera Manager and CDH

    转:https://blog.csdn.net/qq_26222859/article/details/79976506 译自官网: Installing Cloudera Manager and C ...

  3. Matplotlib系列(四)--plt.bar与plt.barh条形图

    (一)竖条条形图 参数说明 参数 说明 类型 x x坐标 int,float height 条形的高度 int,float width 线条的宽度 0~1,默认是0.8 botton 条形的起始位置 ...

  4. http://research.google.com/archive/mapreduce.html

    http://research.google.com/archive/mapreduce.html

  5. oracle blob 反序列化错误

    代码的目的是先将一个配置类JobConfig序列化存进Oracle中的Blob中,然后查的时候反序列化出来. 先看一下控制台报错 ### Cause: com.audaque.lib.core.exc ...

  6. Python变量和字符串详解

    Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...

  7. Visual Studio Code配置技巧

    Visual Studio Code配置技巧 VS Code是啥 Visual Studio Code(以下简称 VS Code) 是一个免费.开源.跨平台的由微软开发的程序编辑器.它是用 TypeS ...

  8. LeetCode 114. Flatten Binary Tree to Linked List 动态演示

    把二叉树先序遍历,变成一个链表,链表的next指针用right代替 用递归的办法先序遍历,递归函数要返回子树变成链表之后的最后一个元素 class Solution { public: void he ...

  9. .net Datatable

    1. ROW remove vs delete datatable dt = new datatable() //fill 5 records for each row as datarow in d ...

  10. Lambda -语法使用,代码简化

    使用Lambda的方式实现线程 线程中()是run方法的(),可用来接受参数,格式: new Thread(()->{ System.out.println(Thread.currentThre ...