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\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之重定向输入,输出的更多相关文章
- Linux shell的标准输入、输出和错误
编译文件时,若编译过程时间长,可以将 标准错误 重定向 输出到一个文件中 2 > 1.txt 也可以通过管道 重定向 到 标准输出 2 > &1 ...
- [转]linux shell数据重定向(输入重定向与输出重定向)详细分析
在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...
- linux shell数据重定向(输入重定向与输出重定向)详细分析
linux shell下常用输入输出操作符是: 1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << : /dev/stdin -> /proc/self/fd/ ...
- linux shell获取键盘输入
linux shell从键盘获取输入 代码1: #!/bin/bash #提示“Input your choice:”,把用户的输入保存入变量choice_user中read -p "Inp ...
- Linux标准重定向-输入-输出-错误-多重
一切皆文件,都是文件的操作 三种I/O设备 标准的输入输出 程序:指令+数据 读入数据:Input 输出数据:Output 系统中打开一个文件系统自动分配文件描述符,除了0,1,2是固定的,其他的都是 ...
- linux shell数据重定向
标准输入 (stdin) :代码为 0 ,使用 < 或 << :标准输出 (stdout):代码为 1 ,使用 > 或 >> :标准错误输出(stderr):代码为 ...
- linux shell获取用户输入
一.获取用户输入1.基本读取read命令接收标准输入的输入,或其它文件描述符的输入.得到输入后,read命令将数据输入放入一个标准变量中.[root@rac2 ~]# cat t8.sh #!/bin ...
- Linux Shell 文件描述符 及 stdin stdout stderr 重定向
Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...
- Linux shell特性
一:别名 .alias 查看本用户下的alias配置 --自定义别名:alias 别名='shell命令' (注意是单引号) --cat $HOME/.bashrc 在这个用户下配置着alias名的配 ...
随机推荐
- <Random>382 380
382. Linked List Random Node class Solution { ListNode node; Random random; /** @param head The link ...
- [LeetCode] 9. Palindrome Number 验证回文数字
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...
- calc()在less中编译报错
calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分.因为看其外表像个函数,既然是函数为何又出现在CSS中呢? calc() 函数用于动态计算长度值. 需要注意的是,运算符前后都 ...
- MySQL实战45讲学习笔记:第二十一讲
一.引子 在上一篇文章中,我和你介绍了间隙锁和 next-key lock 的概念,但是并没有说明加锁规则.间隙锁的概念理解起来确实有点儿难,尤其在配合上行锁以后,很容易在判断是否会出现锁等待的问题上 ...
- python与rpc服务
什么是rpc 随着企业 IT 服务的不断发展,单台服务器逐渐无法承受用户日益增长的请求压力时,就需要多台服务器联合起来构成「服务集群」共同对外提供服务. 同时业务服务会随着产品需求的增多越来越肿,架构 ...
- mac sudo免密码
1.先切换到root用户sudo -i2.修改/etc/sudoers文件设置用户为免密码:%admin ALL = (ALL) NOPASSWD: NOPASSWD: ALL 参考:https:// ...
- Elasticsearch由浅入深(二)ES基础分布式架构、横向扩容、容错机制
Elasticsearch的基础分布式架构 Elasticsearch对复杂分布式机制的透明隐藏特性 Elasticsearch是一套分布式系统,分布式是为了应对大数据量. Elasticsearch ...
- 【网络知识之三】HTTPS协议
HTTPS是身披SSL外壳的HTTP.HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包.HTTPS使用的主要目的是提供对网站服务器的 ...
- docker 安装 apollo
apollo作为携程开源的配置中心,很多大厂在使用,在此记录下安装历程 服务器环境: 安装mysql 1.拉取镜像 docker pull idoop/docker-apollo 2.新建3个数据库, ...
- springboot 解决Jackson导致Long型数据精度丢失问题
代码中注入一个bean即可: /** * 解决Jackson导致Long型数据精度丢失问题 * * @return */ @Bean("jackson2ObjectMapperBuilder ...