shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。这种对话方式可以是交互的方式(从键盘输入命令,可以立即得到shell的回应),或非交互(执行脚本程序)的方式。

下图的黄色部分就是命令解释器shell处于的操作系统中位置形象图解。

Linux SHELL 脚本

大量重复执行的工作

     

     shell(Linux壳), 一类程序的名称

     

     文本文件----->shell命令,/bin/bash提供逻辑控制语句

重定向向符号的使用

    /dev/stdin     标准输入设备(键盘)        0

    /dev/stdout    标准输出设备(显示器)      1

    /dev/stderr    标准错误输出设备(显示器)  2

输出重定向符号

    

    >  覆盖原文件信息

    >>  往原文件后面追加类容

>  >>   用于重定向标准输出

[root@wei ~]# ls -ldh /etc/ /tmp/1.txt
[root@wei ~]# ls -ldh /tmp/ >>/tmp/1.txt 

2>  2>>     用于重定向标准错误输出

 [root@wei ~]# ls -ldh /qwertyuasdfgh 2> /tmp/1.txt   

&>  同时重定向标准输出及标准错误输出

    

        特殊设备文件:/dev/null (垃圾站)

      [root@wei ~]# ls -ldh /etc/ &>/dev/null 
      [root@wei ~]# grep "root" /etc/passwd &> /dev/null 

输入重定向符号

[root@wei ~]# cat /tmp/1.txt 
chengfeng
[root@wei ~]# tr 'a-z' 'A-Z' < /tmp/1.txt 
CHENGFENG

输出信息:

1  echo

[root@wei ~]# echo "请输出你的选择"    #默认会打印换行符
请输出你的选择 [root@wei ~]# echo -n "请输出你的选择"
请输出你的选择[root@wei ~]#  [root@wei ~]# echo -e "a\nbb\nccc"     # \n 回车
a
bb
ccc [root@wei ~]# echo -e "a\tbb\tccc"     # \t tab键
a    bb    ccc

2  printf

[root@wei ~]# printf "hello wowrd"
hello wowrd[root@wei ~]# 

3 HERE DOCUMENT   ----->输出多行信息

[root@wei ~]# cat << eof  (eof为提示符,可以任意定义)
> 选择
> 安装
> 重启
> 关机
> eof
选择
安装
重启
关机

双引号和单引号的区别:

单引号:所有字符会失去原有的含义

双引号:特殊的字符会转义

如何交互命令:

[root@wei ~]# echo "root" | passwd --stdin hei &> /dev/null

[root@wei ~]# echo -e "n\rp\r1\r+100M\rw\r" | fdisk /dev/vdb &> /dev/null 

显示历史命令

[root@wei ~]# history

执行历史命令的某一条

[root@wei ~]# !254

清空历史命令

[root@wei ~]# history -c

Linux shell之重定向输入,输出的更多相关文章

  1. Linux shell的标准输入、输出和错误

    编译文件时,若编译过程时间长,可以将  标准错误  重定向  输出到一个文件中   2 > 1.txt         也可以通过管道  重定向 到 标准输出    2 > &1 ...

  2. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析

      在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...

  3. linux shell数据重定向(输入重定向与输出重定向)详细分析

    linux shell下常用输入输出操作符是: 1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << : /dev/stdin -> /proc/self/fd/ ...

  4. linux shell获取键盘输入

    linux shell从键盘获取输入 代码1: #!/bin/bash #提示“Input your choice:”,把用户的输入保存入变量choice_user中read -p "Inp ...

  5. Linux标准重定向-输入-输出-错误-多重

    一切皆文件,都是文件的操作 三种I/O设备 标准的输入输出 程序:指令+数据 读入数据:Input 输出数据:Output 系统中打开一个文件系统自动分配文件描述符,除了0,1,2是固定的,其他的都是 ...

  6. linux shell数据重定向

    标准输入 (stdin) :代码为 0 ,使用 < 或 << :标准输出 (stdout):代码为 1 ,使用 > 或 >> :标准错误输出(stderr):代码为 ...

  7. linux shell获取用户输入

    一.获取用户输入1.基本读取read命令接收标准输入的输入,或其它文件描述符的输入.得到输入后,read命令将数据输入放入一个标准变量中.[root@rac2 ~]# cat t8.sh #!/bin ...

  8. Linux Shell 文件描述符 及 stdin stdout stderr 重定向

    Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...

  9. Linux shell特性

    一:别名 .alias 查看本用户下的alias配置 --自定义别名:alias 别名='shell命令' (注意是单引号) --cat $HOME/.bashrc 在这个用户下配置着alias名的配 ...

随机推荐

  1. 使用CSS来渲染HTML的表单元素

    效果: 实现: <!DOCTYPE html> <html> <head> <title>使用CSS来渲染HTML的表单元素</title> ...

  2. zzulioj - 2600: 有多少天?

    题目链接:http://acm.zzuli.edu.cn/problem.php?id=2600 题目描述 小D同学对日期类的问题很是有兴趣,已知1900-01-01是星期一,那么小D想知道给定两个年 ...

  3. js判断超过几个字符后显示省略号

  4. A1070 Mooncake (25 分)

    一.参考代码 #include<cstdio> #include<algorithm> #include<iostream> using namespace std ...

  5. [BJOI2019]奥术神杖(AC自动机,DP,分数规划)

    题目大意: 给出一个长度 $n$ 的字符串 $T$,只由数字和点组成.你可以把每个点替换成一个任意的数字.再给出 $m$ 个数字串 $S_i$,第 $i$ 个权值为 $t_i$. 对于一个替换方案,这 ...

  6. SpringBootThymeleaf案例

    一.添加依赖 <!-- 添加thymeleaf模版的依赖 --> <dependency> <groupId>org.springframework.boot< ...

  7. Visual Studio 2019 for Mac 离线更新方法

    当你打开Visual Studio 2019 for Mac检查更新时,如果下载更新包很慢,可以尝试如下操作: 打开Finder(访达),找到~/Library/Caches/VisualStudio ...

  8. 动手学深度学习5-softmax回归

    softmax回归 softmax 回归模型 单样本分类的矢量计算表达式 小批量样本分类的矢量计算表达式 交叉熵损失函数 模型预测以及评价 小结 softmax回归 前几节介绍的是线性回归模型适用于输 ...

  9. c语言课本及pta作业中运用到的程序思维

    c语言课本运用到的程序思维 我个人觉得在写程序的时候,有很多题目会用到我们学过的解决一个程序或者一个问题的方法,把这些方法运用起来,将会使自己更加灵活地解决诸多问题,为今后打下良好地基础. (因为还没 ...

  10. Ansible16:Playbook高级用法

    目录 本地执行 任务委托 任务暂停 滚动执行 只执行一次 设置环境变量 交互式提示 本地执行 如果希望在控制主机本地运行一个特定的任务,可以使用local_action语句. 假设我们需要配置的远程主 ...