linux学习——shell编程(1)

本文详细介绍了Linux Shell的用途、种类,包括Bash等常见Shell,以及其主要功能如命令解释、批处理执行。重点阐述了Shell的输入/输出重定向,包括如何使用`<`、`>`、`>>`进行输入、输出和错误重定向,以及如何利用管道`|`连接命令实现数据流的传递。此外,还提到了命令连接符如`&&`和`||`,用于条件执行和逻辑操作。
摘要由CSDN通过智能技术生成

shell简介

概述

shell 既是一种命令语言,又是一种编程语言(shell脚本),其作为基于命令的语言,shell交互式的解释 和执行用户输入的命令;作为程序控制语言,shell中可以定义变量,传递参数,并提供了流程控制结构。

种类

shell的种类有很多 BSh, CSh, KSh, bash等
(可以通过命令“ ls/ bin/ *sh” 查看系统中安装的shell)

功能

Shell最重要的功能是命令解释,linux系统中所有可执行文件都可在shell执行。其中linux可执行那个文件可分为五类:

  1. linux命令:用来使系统执行某种操作的命令。存放在/bin和/sbin目录下
  2. 内置命令:存放在shell内部的命令的解释程序,可使用 “type 命令名”的方式查询其是否为内置命令。
  3. 实用程序:存放于/usr/bin, /usr/sbin, /local/bin等目录下的程序,如ls,which等。
  4. 用户程序:有用户编写的,经过编译可执行的程序。
  5. shell脚本:用shell编写的批处理文件。
    解释过程如图:shell对命令的解释过程

shell应用技巧

输入/输出重定向

     ~~~~      Linux系统中将从终端输入数据称为标准输入,将打印数据到终端称为标准输出,并设置了3个标准文件,分别关联标准输入、标准输出以及标准错误输出信息,标准输入文件的编号为0,默认设备是键盘,标准输出文件的编号为1,默认设备是显示器;标准错误文件的编号为2 默认设备也是显示器。
     ~~~~      Shell默认从终端接收用户命令,并将命令执行过程中产生的错误与命令的执行结果打印到终端 但并非任何时候用户都希望使用默认设置,这种情况下,可使用重定向更改命令获取与信息输出的方向。
重定向 即使用用户指定的文件而非默认资源(键盘,显示器),来获取和接收文件。可分为三种

  1. 输入重定向
  2. 输出重定向
  3. 错误重定向

输入重定向

符号 “<”
格式: 命令<文件名

输出重定向

符号 “>”
格式: 命令>文件名
     ~~~~     使用>运算符时,输出的信息将以覆盖的方式打印到文件file中,若想保 留文件file中原有的内容,可使用运算符“>>”,该运算符将以追加的形式 将结果打印到file文件。

错误重定向

重定向标准错误信息使用运算符“>”和“>>”
格式 :命令2>文件名
说明:
①其中“2”代表标准错误文件的编号,实际上,输入重定向和输出重定向还可写为如下格式 :
命令0<文件名
命令1>文件名
只是当其文件编号0、1出现在重定向符号左侧时,可以被省略。
②可以使用运算符“&”通过文件编号引用文件,该运算符表示“等同于”,如“2>&1”则 示将标准错误重定向到标准输出中。

管道

在shell编程中,“|”被称为管道符号,用于连接两个命令,其格式如下:
命令1|命令2|…|命令n
管道可使前一个命令的输出作为后一个命令的输入,由此实现较为复杂的功能。
示例:Is - I/etc l grep init

命令连接符

shell提供了一些用于连接符号的符号,如“;”,"&&",“||”,用此可将多条shell命令进行连接,师这些指令顺序或根据指令执行结果,有选择的进行。
①使用“;”运算符间隔的命令,会按照先后次序依次执行。
②使用“&&”连接符连接的命令 ,其前后命令的执行遵循逻辑与关系,只有该连接符之前的命令执行成功后,它后面的命令才被执行。
③使用“||”连接符链接的命令,其前后命令的执行遵循逻辑或关系,只有该连接符之前的命令执行失败时,才会执行后面的命令。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码 - 菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值