zoukankan      html  css  js  c++  java
  • 第二章 shell编程基础

    2.1.1 shell脚本的参数

      常用参数

      (1) *  以一个字符串显示所向脚本传递的参数,与位置变量不同,此参数可超过9个

      (2) @ 从参数1开始,显示所有向脚本传递的参数,和上边的*相似,下面会介绍区别

      (3) # 参数数量,不包含参数0

      (4) $ 脚本运行的当前ID号

      (5) ! 后台运行的最后一个ID号

      (6) ? 显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误

      (7) - 显示shell使用的当前选项,与set命令功能相同

      注:① * 和 @ 的区别在于,当加上双引号时,* 输出的是将所有参数当成一个字符串输出也就是"$1 $2 $3"

        而@则是将所有参数一个一个输出,也就是"$1" "$2" "$3"

        ② - 减号的作用,主要用于标准输入与输出中,在管道中应用,可以省去我们创建临时文件的过程

    2.1.2 mv 移动或重命名文件或目录

      常用参数

      (1) -f  //如果文件的空间保留或者固定范围大小无法保存,就发出警告

      (2) -i  //在覆盖现有文件之前不提示

    2.1.3 mkidr 创建一个或者多个新的目录

      常用参数

      (1) -m 指定文件夹权限大小

    2.2.1 I/O重定向

    2.2.2 cat 连接或显示文件

      常用参数

      (1) -n  //显示行号

      (2) -b  //显示非空行号

      (3) -s  //有连续两行以上空行,则只显示一行空行,其他省略

      注:①tac 从结束到开头显示文件

        ②不要使用重定向符号>将输出重定向到输入文件之中。因为shell在cat命令可读取该文件之前先将它截断了

    2.2.3 | 管道

      管道的数据共享是在内核中通过内存复制实现的,因此,在设计管道时,尽量把能够江苏数据量操作的置于管道前端。

    2.2.4 head 显示一个文件或多个文件的前几行或前几个字节

      主要参数

      (1) -n  //指定显示的行数,默认为10

      (2) 后边也可以接多个文件

    2.2.5 文件描述符

      此部分有点难啊,,,,

      待以后学习了后在补充吧

    2.2.6 特殊文件

      (1) /dev/null  就像一个“黑洞”,垃圾回收站,写进去的文件不可读,可以将不需要的垃圾文件软连接到这个文件上。

      (2) /dev/zero 这要用途是用来创建一个指定长度,并且初始化为空的文件,这种文件一般都用作临时交换文件。

      (3) /dev/tty  写入这个文件的内容可以在屏幕上显示,很常用

        printf"enter new passwd:"  //提示输入

        stty-echo           //关闭自动打印输入字符的功能

        read pass < /dev/tty      //读取密码

        printf"enter again"       //在读一次,确认密码

        read pass2< /dev/tty     //记得重新打开自动打印输入字符功能

        stty echo

    2.2.7 read 从标准输入中读取一行。

      主要参数:

        (1) -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。

        (2) -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志,会举例说  明。

        (3) -p 后面跟提示信息,即在输入前打印提示信息。

        (4) -e 在输入的时候可以使用命令补全功能。

        (5) -n 后跟一个数字,定义输入文本的长度,很实用。

        (6) -r 屏蔽,如果没有该选项,则作为一个转义字符,有的话 就是个正常的字符了。

        (7) -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。

        (8) -t 后面跟秒数,定义输入字符的等待时间。

        (9) -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

    2.3 一切皆文件

      共有其中文件类型

      (1) -  普通文件

      (2) d 目录文件

      (3) c 字符设备文件

      (4) b 块设备文件

      (5) s 套接口文件

      (6) l 符号链接文件

      (7) 管道文件

      

      

  • 相关阅读:
    Hibernate之HQL查询
    Java设计模式----状态模式(State)
    Java设计模式----备忘录模式(Memento)
    Java设计模式----命令模式(Command)
    Java设计模式----责任链模式(Chain of Responsibility)
    Java基础小知识
    Hibernate检索策略
    Java设计模式----观察者模式(Observer)
    Google代码实验室
    Codeforces Round #257 (Div. 2) 前四题
  • 原文地址:https://www.cnblogs.com/sangmu/p/6664017.html
Copyright © 2011-2022 走看看