重定向和管道符:
1、重定向
 程序 = 指令 + 数据
            命令    变量
在程序中,数据如何输入?又如何输出?
 
 数据输入:键盘  --  标准输入,但是并不是唯一输入方式;
  --stdin
  echo "123456" | passwd --stdin "username"
例如:功能添加用户  useradd.sh user.txt文本文档1000个用户
   ./useradd.sh a
   ./useradd.sh b
   ...
   
   ./useradd.sh < user.txt
  
  while line ; do
   循环体 $line
  done < /etc/passwd
 
 数据输出: 显示器 -- 标准输出,但是并不是唯一输出方式
  ls /etc/ > a.txt
fd 文件标识符 0-9 -- 相当于给文件分类;
  0    1    2
  0 -- 标准输出
  1 -- 标准输入
  2 -- 错误输入输出(标准错误)
常见重定向符号
  1、标准输出
  > 覆盖重定向、非常危险
   set -C 关闭覆盖重定向功能  
   >|  强制重定向  
  >> 追加重定向
   不覆盖
  2、标准输入
  <  tr  替换文件内容
   tr set1 [set2] < file.txt 
  << 将多行数据同时输入
   cat >>a.txt<<EOF
   >1
    >2
   >3
   >EOF
  3、错误输出
  2>  2>> 
  扩展:不需要输出内容,只需要输出状态;
   ls /etc/ > /dev/null 2> /dev/null
   echo $?  ($?--变量:上一条命令的执行状态)
   if $?等于0;么?
    OK--干!
   否则
    不
   结束
ls 暗室逢灯  > /dev/null 2> /dev/null
   /dev/null  黑洞文件  来什么吃什么(删除)
   /dev/zero   吹泡泡 
 
  &>  &>>  ==  2&>1
   ls /etc/ &> /dev/null
2、管道 - tee
command1 | command2 | command3 | ... ...
 
 前一个命令的执行结果交给后一个命令来执行;
 【Linux思想:结合小功能实现大功能】
 free -m | grep "^Mem" | cut -d' ' -f19
 free -m | grep "^Mem" | awk '{print $3}'
tee  一路输入,两路输出
  tee /tmp/tee.out
  如果没有文件,会创建,默认如果文件存在有内容,会覆盖;
练习:
 将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中;
  head -5 /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
将登录至当前系统上用户信息汇总的后3位信息转换为大写后保存至/tmp/who.out文件中;
  who | tail -3 | cut -d' ' -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out
tail   查看文件尾部多少行(默认10行)
   -n     tail -n 5 /etc/passwd  == 简写 tail -5 /etc/passwd 
   -f      实时查看文件更新内容
    tail -f /var/log/message
  head  查看文件头部多少行(默认时行)
   -n  #    前#行, 简写 -#
  取 10 - 20 行:  head -20 /etc/passwd | tail -10
tar 压缩
  tr   替换
  cut 切

转载于:https://www.cnblogs.com/dongxu2019/p/11353701.html

学习shell的第二天相关推荐

  1. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  2. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)...

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  3. 零基础学习Shell编程

    一:起因 (0)也许由于一时的冲动使得你开始关注并学习shell编程:亦许由于是"道听途说"shell的威力很大:亦许由于shell编程的魅力:亦许由于作为一个coder的偏好:亦 ...

  4. 《Linux命令行大全》学习笔记1——学习 Shell

    文章目录 前言 一.什么是Shell 二.导航 三.探索 Linux 系统 ls file less 四.操作文件和目录 通配符 mkdir cp mv rm ln 五.和命令打交道 六.重定向 标准 ...

  5. 《Linux命令行大全》重点笔记——第一部分 学习shell

    <Linux命令行大全>重点笔记 第一部分 学习shell 第一章 shell是什么 1.3 简单命令 1.date:系统时间.日期. 2.cal:当月日历. 3.df:磁盘可用空间. 4 ...

  6. 学习 shell 有什么好书推荐?

    linux命令行与shell脚本编程大全 这本书是入门级的读物,作为入门材料非常合适.可惜我入门的时侯没有遇到它.虽然很大 部头,其实一天也就能看完了.讲的东西比较全面,也比较简单.三颗星推荐. li ...

  7. 小白学习shell命令---自学笔记

    Linux系统介绍. 什么是操作系统 首先,操作系统是一个软件,控制计算机整体运行的系统软件.可以管理计算机的硬件与软件资源.提供用户使用计算机的接口;提供了软件运行的环境.常用的操作系统有windo ...

  8. 【Linux命令】《鸟哥Linux基础》第十二章 学习shell脚本

    第十二章 学习shell脚本 通常利用shell脚本完成服务器的检测工作,不涉及大量运算. 12.1 简单shell脚本介绍 12.2 简单shell脚本练习 12.2.1 简单范例 范例1:永远的开 ...

  9. (1)Shell 编程学习 Shell是什么?Shell的浅显原理 为什么要学Shell 及其第一个Shell脚本 CTF角度学习Shell

    最近刷CTF题目的时候经常要用到Shell语言,但是自己并没有系统的学习,所以最近花了点时间学习一下,所以重新来梳理一下.对于稍微有一点编程语言基础的同学,能上手Shell其实不需要半小时(甚至更短) ...

  10. 「学习笔记-Linux」学习Shell Script

    学习Shell Script Table of Contents 1 什么是Shell Scipt 1.1 程序书写 1.2 程序执行 2 简单Shell练习 2.1 例1 接收用户输入 2.2 例2 ...

最新文章

  1. [微信官方文档] 小程序-错误码信息与解决方案表
  2. UA MATH523A 实分析3 积分理论16 截口与单调类、特征函数的Fubini定理
  3. 实例谈谈this在JavaScript中如何工作
  4. Pygame 使用Djkstra广度搜索寻找迷宫(相对)最短路径
  5. Java内存泄漏的介绍
  6. nodejs入门_如何在NodeJS中使用套接字创建专业的Chat API解决方案[入门级]
  7. (124)FPGA面试题-ZYNQ的PS和PL端怎么交互的?
  8. iOS中利用UISearchBar实现搜索
  9. 猪肉新鲜度光谱特征指数构建及敏感性分析
  10. node.js常见问题之:解决npm install出错(Cannot find module ‘internal/util/types‘)
  11. Debian 中使用apt-get update 出现NO_PUBKEY 解决方法
  12. JAVA判断素数法+引用方法
  13. 易方机器人教育怎么样_易方机器人教育加盟费用
  14. 数控加工零件工艺性分析
  15. 显卡+cuda+cudnn+tensorflow安装教程
  16. 重新定义股票交易中的试错和复盘
  17. ModuleNotFoundError: No module named ‘official‘
  18. 安卓SDK和安卓版本的对应关系
  19. 独享ip和共享ip的区别
  20. DJI Care 行业无忧悦享基础版

热门文章

  1. 白盒测试:三角形问题实验报告
  2. 发现隐患里的自己,原来我是**人!
  3. r语言 rgl 强制过程中_R语言中编写最小工作示例(MWRE)
  4. Apache网页与安全优化之--网页压缩
  5. 直观理解偏导数、方向导数和法向量和梯度
  6. NAS存储技术之NAS的结构
  7. 一种基于定时任务检测物联网设备异常状态的方法
  8. xp系统搭建iscsi服务器,配置Microsoft Windows XP对MDS/IPS-8的iSCSI主机
  9. 【英语:基础进阶_原著扩展阅读】J1.英文原著的选择和有效阅读方法
  10. asps英文_汽车术语中英文对照