shell的输入与输出
1.echo | 7.文件重定向 |
2.read | 8.标准输入,输出与错误 |
3.cat | 9.文件重定向 |
4.管道 | 10.合并标准输出和标准错误 |
5.tee | 11.使用文件描述符 |
6.exec |
1.echo
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用,或者把字符串输入到文件中。
echo [operator] string
-e 解析转义字符
-n 回车不换行,linux默认回车换行
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\t 插入tab;
2.read
read variabe1 variable2...
read命令接收标准输入(键盘)的输入,或其他文件描述符的输入。得到输入后,read命令将数据放入一个标准变量中。
如果只有一个变量,那么shell将读入的所有内容都赋予整个变量中。如果有多个变量,那么shell会按顺序分别赋予不同的变量。shell将用空格作为变量的分隔符。
3.cat
cat是一个简单而又通用的命令,可以用它来显示文件内容,创建文件,还可以用它来显示控制字符。
cat [option] filename1 filename2.....
-v 显示控制字符。
注意:它不会在文件的分页出停下来,它会一直显示完整整个文件。如果希望一次只显示一页,可以使用more命令或者把cat命令的输出通过管道传递到另一个具有分页功能的命令(more,less)。
3.管道
管道可以把一个命令的输出传递到另一个命令作为输入,管道用竖杠(|)表示
格式:命令1|命令2
tee
tee命令把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。
tee -a files (-a 追加)
如果希望看到输出的同时,也将其存入到另一个文件,那么这个命令就在适合不过了。一般应用在管道之后。
标准输入,输出和错误
在shell中执行命令时,每个进程都和三个打开的文件相联系。并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了不同的文件名。
文件 | 文件描述符 |
输入文件-标准输入 | 0(缺省是屏幕也可以是文件) |
输出文件-标准输出 | 1(缺省是键盘,也可以是文件或者其他命令的输出) |
错误输出文件-标准错误 | 2(缺省是屏幕,也可以是文件) |
文件的重定向
文件的重定向:改变程序运行的输入来源和输出地点。
command > filename | 把标准输出重定向到一个文件中 |
command >> filename | 把标准输出重定向到一个文件中(追加) |
command 1 > filename | 把标准输出重定向到一个文件中 |
command > filename 2>&1 | 把标准输出和标准错误重定向到一个文件中 |
command 2 > filename | 把标准错误重定向到一个文件中 |
command 2 >> filename | 把标准错误重定向到一个文件中(追加) |
command >> filename 2>&1 | 把标准输出和标准错误一起重定向到一个文件中(追加) |
command &m | 把标准输出重定向到文件描述符m中 |
> filename | 可以创建一个字节为零的文件 |
command < filename >filename2 | 把command命令以filename文件作为标准输入,以filename2文件作为标准输出 |
command < filename | 把command命令以filename文件作为标准输入 |
command << delimiter | 把从标准输入中读入,直至遇到delimiter分界符 |
command <&m | 把文件描述符m作为标准输入 |
command <&- | 把关闭标准输入 |
合并标准输入和标准错误
[hadoop@localhost shellTest]$ grep "e1e" aa.txt1 > grep.out 2>&1 [hadoop@localhost shellTest]$ ll 总用量 52 -rw-rw-r--. 1 hadoop hadoop 49 5月 26 05:44 aa.txt -rw-rw-r--. 1 hadoop hadoop 49 5月 26 05:44 bb.txt [hadoop@localhost shellTest]$ cat grep.out grep: aa.txt1: 没有那个文件或目录
exec
exec可以替代当前的shell,换句话说,并没有启动子shell,使用这一命令时时,任何现有环境都将被清除,并重新启动一个新shell。
exec command 通常command是一个脚本。
exec命令 | 作用 |
exec ls | 在shell中执行ls,ls结束后不返回原来的shell中了 |
exec <file | 将file中的内容作为exec的标准输入 |
exec >file | 将file中的内容作为标准写出 |
exec 3<file | 将file读入到fd3中 |
sort <&3 | fd3中读入的内容被分类 |
exec 4>file | 将写入fd4中的内容写入file中 |
ls >&4 | Ls将不会有显示,直接写入fd4中了,即上面的file中 |
exec 5<&4 | 创建fd4的拷贝fd5 |
exec 3<&- | 关闭fd3 |
文件描述符
exec常与文件描述符结合使用。
#!/bin/sh exec 100<&0 0<hello.txt read line1 echo $line1 read line2 echo $line2
发表评论
-
Linux几种压缩工具或库的简单测试
2016-01-16 15:22 770网址: http://jeoygin.org/2011/ ... -
linux共享文件夹
2016-01-06 10:52 405linux共享文件夹: http://www.cnblo ... -
centOS yum 安装mysql
2014-08-21 21:46 430安装MySQL 安装MySQL [root@localhost ... -
awk入门
2014-08-11 10:01 0简介 awk是一个强大的文本分析工具,相对于g ... -
linux,shell学习(七)
2014-06-15 11:49 510脚本参数传递 1.shi ... -
linux,shell学习(六)
2014-06-15 11:15 418shell函数 1.定义函数 4.函数文 ... -
linux,shell学习(五)
2014-06-12 22:15 985文本过滤 1.正则表达式介绍 4.awk介绍 2.find介 ... -
linux,shell学习(四)
2014-05-27 22:10 503控制流结构 1.控制结构 6.while循环 2.i ... -
linux,shell学习(二)
2014-05-24 22:43 298变量和运算符 1.什么是shell变量 2.本 ... -
linux,shell学习(一)
2014-05-24 17:26 4671.1 什么是shell shell是核心程序(kernel) ... -
linux 下使用gzip压缩与解压文件
2014-05-20 22:02 637linux 下使用gzip压缩与解压文件 gzip 和 g ... -
shell语句执行hive查询
2014-05-09 15:41 1418执行hive查询实例 执行select查询 $HIV ... -
Shell编程基础
2014-05-09 15:37 476我们可以使用任意一种文字编辑器,比如gedit、kedit、e ... -
shell脚本定时器
2014-05-04 17:24 2279cron是一个linux下的定时执行工具,可以在无需人工干预的 ... -
shell脚本详解命令
2014-04-26 23:34 536shell脚本编写技巧 " 1.test测试命令 test命令 ... -
linux 下 ifcfg-eth0 配置
2014-04-23 16:42 570网络接口配置文件 [root@localhost ~]# ca ... -
Linux vi替换字符串
2014-04-21 11:48 4591. 基本的替换 :s/vivian/sky/ 替换当前行 ...
相关推荐
通过这三本书的学习,你将能够熟练地运用Shell,实现高效的工作流程,甚至可以创建自己的工具和脚本来简化日常任务。所以,无论你是Linux新手还是有经验的用户,这个学习资料包都将是你宝贵的参考资料。
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识
* 在 shell 脚本中可以使用三类命令: Unix 命令、流程控制命令和 Shell 内置命令 * Unix 命令: + `echo`:将文字容打印在屏幕上 + `ls`:文件列表 + `wc`:计算文件行数、单词数和字符数 + `cp`:文件拷贝 + ...
"Linux Shell实例精解"这本书籍正是针对这个主题,为初学者提供了丰富的学习资源。 在Linux世界中,Shell扮演着至关重要的角色。它不仅用于执行单个命令,还能通过脚本进行批量处理、文件操作、系统管理、数据处理...
"Linux Shell 脚本攻略 中文 第三版和源码"提供了全面的学习资源,帮助你深入理解并熟练掌握Shell脚本编程。 首先,让我们了解什么是Linux Shell。Linux Shell是操作系统内核与用户交互的界面,它是命令行解释器,...
在这个"Linux Shell视频教学"中,你将深入学习如何有效地利用Shell进行日常的系统管理、文件操作以及自动化工作流程。 首先,你需要了解Shell的基础知识,包括如何启动和退出Shell,以及基本的命令行操作,如目录...
Linux shell是学习Linux必须掌握的脚本之一,该文档为本人学习Shell脚本时总结的一些基础知识,包括Shell的语法、简单示例和总结,欢迎下载学习。
Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一...Linux Shell编程是Linux系统中一种非常重要的工具,通过学习Linux Shell编程,可以提高工作效率,提高系统管理的自动化程度,提高自己的编程能力。
linux shell 应用.chm,学习linux shell资料
通过学习和实践这些基础知识,你可以编写出自己的Linux Shell脚本来解决实际问题。结合提供的博客地址(http://blog.csdn.net/u013171283/article/details/79204476),可以更深入地学习和理解Linux Shell编程的高级...
linux shell 编程电子书,学习linux shell很不错的资料,高清的
本文将深入探讨Linux shell命令的学习心得,分享一些实用技巧和常见命令的用法。 首先,Linux shell是操作系统与用户交互的接口,它允许用户通过输入命令来执行各种任务。在众多shell类型中,Bash(Bourne-Again ...
分别有以下这些内容的资料 Linux与unix shell编程指南 Bash参考手册 Expect中文教程 Expect简介和应用 Expect命令基本语法 高级Bash脚本编程指南 高级Shell脚本编程 Shell命令合集
本书旨在通过理清Linux Shell编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,使读者能够深入浅出的学习LinuxShell编程。 本书的每一章节都配有综合案例,这些综合案例不仅可以使读者复习前面所学的...
本资源提供的“Linux Shell脚本攻略源代码”是一份详细的学习材料,对于想要掌握或提升Shell脚本技能的人来说极具价值。 首先,让我们了解一下Shell的基本概念。在Linux中,Shell是用户与操作系统内核交互的界面,...