zoukankan      html  css  js  c++  java
  • Linux shell之重定向输入,输出

    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
    bb
    ccc"     # 
     回车
    a
    bb
    ccc
    
    [root@wei ~]# echo -e "a	bb	ccc"     # 	 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
    p
    1
    +100M
    w
    " | fdisk /dev/vdb &> /dev/null 

    显示历史命令

    [root@wei ~]# history

    执行历史命令的某一条

    [root@wei ~]# !254

    清空历史命令

    [root@wei ~]# history -c
  • 相关阅读:
    Redis 为什么用跳表而不用平衡树
    常用的垂直细分引擎工具
    如何为Kafka集群选择合适的Partitions数量
    一图看懂深度学习框架对比----Caffe Torch Theano TensorFlow
    关于深度学习(deep learning)的常见疑问 --- 谷歌大脑科学家 Caffe缔造者 贾扬清
    神经网络CNN训练心得--调参经验
    数据归一化处理
    centos上tensorflow一键安装脚本
    深度学习---tensorflow简介
    kali linux之msf后渗透阶段
  • 原文地址:https://www.cnblogs.com/heian99/p/11972312.html
Copyright © 2011-2022 走看看