`

linux,shell学习(三)

阅读更多
shell的输入与输出

1.echo7.文件重定向
2.read8.标准输入,输出与错误
3.cat9.文件重定向
4.管道10.合并标准输出和标准错误
5.tee11.使用文件描述符
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 shell学习资料

    通过这三本书的学习,你将能够熟练地运用Shell,实现高效的工作流程,甚至可以创建自己的工具和脚本来简化日常任务。所以,无论你是Linux新手还是有经验的用户,这个学习资料包都将是你宝贵的参考资料。

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    linux脚本shell学习笔记

    shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识

    Linux-shell脚本全面学习.pdf

    * 在 shell 脚本中可以使用三类命令: Unix 命令、流程控制命令和 Shell 内置命令 * Unix 命令: + `echo`:将文字容打印在屏幕上 + `ls`:文件列表 + `wc`:计算文件行数、单词数和字符数 + `cp`:文件拷贝 + ...

    linux_shell实例精解

    "Linux Shell实例精解"这本书籍正是针对这个主题,为初学者提供了丰富的学习资源。 在Linux世界中,Shell扮演着至关重要的角色。它不仅用于执行单个命令,还能通过脚本进行批量处理、文件操作、系统管理、数据处理...

    Linux Shell 脚本攻略 中文 第三版和源码

    "Linux Shell 脚本攻略 中文 第三版和源码"提供了全面的学习资源,帮助你深入理解并熟练掌握Shell脚本编程。 首先,让我们了解什么是Linux Shell。Linux Shell是操作系统内核与用户交互的界面,它是命令行解释器,...

    linux shell 视频教学

    在这个"Linux Shell视频教学"中,你将深入学习如何有效地利用Shell进行日常的系统管理、文件操作以及自动化工作流程。 首先,你需要了解Shell的基础知识,包括如何启动和退出Shell,以及基本的命令行操作,如目录...

    Linux Shell学习笔记

    Linux shell是学习Linux必须掌握的脚本之一,该文档为本人学习Shell脚本时总结的一些基础知识,包括Shell的语法、简单示例和总结,欢迎下载学习。

    linux Shell编程入门 实例讲解详解

    Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一...Linux Shell编程是Linux系统中一种非常重要的工具,通过学习Linux Shell编程,可以提高工作效率,提高系统管理的自动化程度,提高自己的编程能力。

    linux shell 应用.chm

    linux shell 应用.chm,学习linux shell资料

    Linuxshell编写demo

    通过学习和实践这些基础知识,你可以编写出自己的Linux Shell脚本来解决实际问题。结合提供的博客地址(http://blog.csdn.net/u013171283/article/details/79204476),可以更深入地学习和理解Linux Shell编程的高级...

    linux shell 编程电子书

    linux shell 编程电子书,学习linux shell很不错的资料,高清的

    Linux shell命令学习心得

    本文将深入探讨Linux shell命令的学习心得,分享一些实用技巧和常见命令的用法。 首先,Linux shell是操作系统与用户交互的接口,它允许用户通过输入命令来执行各种任务。在众多shell类型中,Bash(Bourne-Again ...

    Linux Shell学习资料合集

    分别有以下这些内容的资料 Linux与unix shell编程指南 Bash参考手册 Expect中文教程 Expect简介和应用 Expect命令基本语法 高级Bash脚本编程指南 高级Shell脚本编程 Shell命令合集

    Linux Shell编程从入门到精通

     本书旨在通过理清Linux Shell编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,使读者能够深入浅出的学习LinuxShell编程。  本书的每一章节都配有综合案例,这些综合案例不仅可以使读者复习前面所学的...

    linux shell脚本攻略源代码

    本资源提供的“Linux Shell脚本攻略源代码”是一份详细的学习材料,对于想要掌握或提升Shell脚本技能的人来说极具价值。 首先,让我们了解一下Shell的基本概念。在Linux中,Shell是用户与操作系统内核交互的界面,...

Global site tag (gtag.js) - Google Analytics