Shell入门知识(一)

来源:互联网 发布:远望手机店淘宝 编辑:程序博客网 时间:2024/06/05 11:22

        当我们输入一个命令时,就是Shell开始工作的时候了。开始学习Shell的时候都是在命令行中进行,慢慢的当我们经常执行一些重复的命令时,就有了把命令写到文件进行自动化执行的需求了。Shell语言简单,容易掌握,下面介绍一些Shell基本的入门知识,包含它的语法,如何执行等等。 

  • Shell脚本是区分大小写的
  • Shell脚本的注释是是以“#”开始的,Shell会忽略“#”后面的内容。不过如果“#”出现在行中间或者后面带有“!”,Shell就不会把这行看作为注释了。
  • IO重定向。输入,输出和错误输出。每个进程都有3个特殊的文件描述指针。标准输入(standard input,文件描述指针为0),标准输出(standard output,文件描绘指针为1)和错误输出(standard error,文件描述为2)。标准输入主要是指从键盘输入,例如“ls -l”,-l就是-l就是传给ls命令的标准输入。标准输出就是一个命令的执行结果。标准错误输入就是命令执行错误出现的错误指示信息。我们常用两种方法来进行IO重定向:1是利用管道命令把这些数据流输送给另外一条命令,2是重定向到一个文件。

命令行

命令说明

命令 > 文件

将命令的输出结果重定向到文件

命令 &> 文件

将命令的输出结果和错误消息一起重定向到文件

命令 >> 文件

将命令的输出结果追加到文件中,不覆盖

c命令 2> 文件

将命令的错误输出重定向到文件

命令 < 文件

文件作为命令的标准输入

命令 << 文件

允许连续输入数据,知道接收字符串

1. 输出重定向

在使用重定向命令时,把输出内容重定向到文件中,所有屏幕上不再显示任何输出结果。如果那个重定向文件不存在的话,就会重新建立一个文件。如果那个文件存在就会覆盖这个文件。为了避免发生覆盖的情况,我们可以采用>>来把数据追加到文件的末尾。


2. 附加输出重定向

正如上面所有的附加输出重定向是将新输出的追加到文件的末尾。



3. 输入重定向(<)

               将输入提供给命令来执行。

4. 附加输入重定向(<<)

 可以让用户自定义一个字符串,在收到此字符串前会持续将数据输入文件。

5. 错误输出重定向(2>)

将错误信息直接输入到文件,

6. 标准输出和错误输出重定向

将标准输出和错误输出都输入到文件中,例:


  • 管道命令

管道命令(|)主要的作用是把前一个命令的输出做作为后一个命令的输入。例,将ps的命令输出作为more的输入:

  • 前台和后台:

Linux程序运行有两种方式:前台和后台。

前台运行:要等待命令结束,才能恢复自身的运行。

后台运行:不必等待命令结束,就可以恢复自身的运行。用户就可以输入下一个命令了。将程序放到后台运行,只要在程序后面加上“&”就可以了。

1.命令执行顺序:命令用;隔开,如:

2. 条件执行:

&&:连接两个命令,前一个命令执行成功才执行后面的命令


||:连接两个命令,前一个命令执行失败才执行后面的命令


 

  • 通配符

?:表示任意一个字符

*:表示任意长度的字符串

[]:表示匹配[]中的字符集的任意一个字符,在字符集前加上前缀!表示指定集合以外的字符。

{}:将大括号中的字符串以及前导字符串和后继字符串作为匹配条件。

  • 单引号,双引号,反引号

单引号(’’)::单引号中的特殊字符($,',",\)都成为普通字符

双引号(””):双引号中的($,',",\)还是特殊字符

反引号(’’):反引号中的字符都解释为命令(也就是~下面的·)

             例,


  • 运行脚本

运行脚本通常有三种方法:

(1)通过chmod命令把文件的权限设为可读和可执行,然后执行该文件:

Chmod u+x 文件名或者 chmod 755 文件名

./文件名

(2)直接用shell的启动命令来执行脚本:

Bash 文件名(bash命令默认的是读取一个包含命令的文件,所以不用为文件赋予执行权限)

Sh 文件名

(3)使用bash的内部命令“source”或者是“.”来运行脚本

Source 文件名

. 文件名(. 和文件名要有空格)

例,


0 0
原创粉丝点击