Linux shell之重定向输入,输出

本文深入探讨了Shell作为Linux操作系统中的命令解释器的角色,详细介绍了其在交互和非交互模式下的工作原理,以及如何使用重定向符号进行标准输入、输出和错误输出的管理。此外,还讲解了echo和printf命令的用法,以及通过heredocument输出多行信息的方法。
摘要由CSDN通过智能技术生成

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南宫乘风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值