Linux shell之重定向输入,输出

版权声明:南宫乘风 https://blog.csdn.net/heian_99/article/details/88430654

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   ----->输出多行信息

扫描二维码关注公众号,回复: 5891480 查看本文章
[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

猜你喜欢

转载自blog.csdn.net/heian_99/article/details/88430654