Linux基础知识5——重定向、管道、环境变量等重要概念
2018-03-04 10:37
627 查看
一、重定向
以下参考:Linux重定向——搜狗百科
Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说将原本会在显示器上显示的输出输出到某一文件中。
1.基础知识
I/O重定向通常与FD(File Descriptor)有关,shell的FD通常为10个,即0-9,常用的有三个,0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyborad、monitor有关;
用<来改变读进的数据信道(stdin),使之从指定的档案读进;用>来改变送出的数据信道(stdout,stderr),使之输出到指定的档案;
0是<的默认值,因此<与0<是一样的;同理,>与1>是一样的;
在IO重定向中,stdout与stderr的管道会先准备好,才会从stdin读进资料;
管道"|"(pipe line):上一个命令的stdout接到下一个命令的stdin;
2.基本IO: cmd > file 把stdout重定向到file文件中;
cmd > > file 把stdout重定向到file文件中(追加);
cmd 1> file 把stdout重定向到file文件中;
cmd > file 2>&1 把stdout与stderr一起重定向到file文件中;
cmd 2> file 把stderr重定向到file文件中;
cmd 2>> file 把stderr重定向到file文件中(追加);
cmd >> file 2>&1 把stdout与stderr一起重定向到file文件中(追加);
cmd < file >file2 cmd命令以file文件作为stdin,以file2文件作为stdout;
cat <> file 以读写的方式打开file;
cmd < file 命令以file文件作为stdin;
cmd << delimiter Here document,从stdin中读入,直到遇到delimiter分界符; 关于Here Document,它是shell中一种特殊的重定向方式,用来将输入重定向到一个交互式shell脚本或程序;语法如下:command << delimiter
command
delimiter 它的作用是将两个delimiter之间的内容(document)作为输入传递给command;注意结尾的delimiter一定要顶格写,前后不能有任何字符(包括空格和Tab缩进);
exmaple:$ wc -l << EOF
welocome,
this is
new world!
EOF
3 #输出结果为3行
$
二、管道
一个进程的输出作为另一个进程的输入;
例如:ls | wc -l
ls -lF | grep ^d
ar t /usr/lib/libc.a | grep printf | pr -4 -t
三、环境变量
1.概念:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。环境变量相当于给系统或用户应用程序设置的一些变量。比如在Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找;
2.查看和设置环境变量:
四、高级命令与正则表达式
1.find
2.sed
3.grep
(这里后续会补充,LZ也暂时没有掌握诶。)
以下参考:Linux重定向——搜狗百科
Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说将原本会在显示器上显示的输出输出到某一文件中。
1.基础知识
I/O重定向通常与FD(File Descriptor)有关,shell的FD通常为10个,即0-9,常用的有三个,0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyborad、monitor有关;
用<来改变读进的数据信道(stdin),使之从指定的档案读进;用>来改变送出的数据信道(stdout,stderr),使之输出到指定的档案;
0是<的默认值,因此<与0<是一样的;同理,>与1>是一样的;
在IO重定向中,stdout与stderr的管道会先准备好,才会从stdin读进资料;
管道"|"(pipe line):上一个命令的stdout接到下一个命令的stdin;
2.基本IO: cmd > file 把stdout重定向到file文件中;
cmd > > file 把stdout重定向到file文件中(追加);
cmd 1> file 把stdout重定向到file文件中;
cmd > file 2>&1 把stdout与stderr一起重定向到file文件中;
cmd 2> file 把stderr重定向到file文件中;
cmd 2>> file 把stderr重定向到file文件中(追加);
cmd >> file 2>&1 把stdout与stderr一起重定向到file文件中(追加);
cmd < file >file2 cmd命令以file文件作为stdin,以file2文件作为stdout;
cat <> file 以读写的方式打开file;
cmd < file 命令以file文件作为stdin;
cmd << delimiter Here document,从stdin中读入,直到遇到delimiter分界符; 关于Here Document,它是shell中一种特殊的重定向方式,用来将输入重定向到一个交互式shell脚本或程序;语法如下:command << delimiter
command
delimiter 它的作用是将两个delimiter之间的内容(document)作为输入传递给command;注意结尾的delimiter一定要顶格写,前后不能有任何字符(包括空格和Tab缩进);
exmaple:$ wc -l << EOF
welocome,
this is
new world!
EOF
3 #输出结果为3行
$
二、管道
一个进程的输出作为另一个进程的输入;
例如:ls | wc -l
ls -lF | grep ^d
ar t /usr/lib/libc.a | grep printf | pr -4 -t
三、环境变量
1.概念:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。环境变量相当于给系统或用户应用程序设置的一些变量。比如在Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找;
2.查看和设置环境变量:
echo:使用echo命令查看单个环境变量,例如:echo $PATH env:使用env查看所有环境变量,例如:env set:使用set查看所有本地定义的环境变量; export:在shell命令行下直接使用[export 变量名=变量值]定义变量。该变量只在当前的shell(BASH)或其子shell下是有效的,shell关闭了,变量也就失效了。例如:export PATH
四、高级命令与正则表达式
1.find
2.sed
3.grep
(这里后续会补充,LZ也暂时没有掌握诶。)
相关文章推荐
- Linux-管道符、重定向与环境变量
- Linux基础知识学习:Linux中修改环境变量及使环境变量生效的方法
- Linux从用户层到内核层系列 - TCP/IP协议栈部分系列8: 基础知识之 - Linux环境变量使用Tip
- L24 shell基础知识(二)管道符-作业控制-shell变量-环境变量配置文件
- Understanding Unix/Linux Programming 笔记:chapter 9:可编程的shell、shell变量和环境; chapter 10:I/O重定向和管道
- 【Linux基础学习之三】Bash的一些基础知识总结(通配符、重定向、管道、命令补全)
- Linux学习笔记(七)--RedHatEnterpriseLinux 7.0之管道符、重定向、环境变量、Vim编辑器与Shell命令脚本
- Unix高级编程:环境变量(续)、管道、文件重定向、信号基础
- linux基础知识之:IO重定向和管道
- Shell基础知识 (2) 之 管道符和作业控制、变量、环境变量配置文件
- linux基础知识-I/O重定向,管道
- Linux基础知识总结-过滤器、重定向与管道
- linux超级基础系列——shell变量(本地变量和环境变量)
- 管道符、重定向与环境变量
- Linux的变量I/O重定向管道全局搜索正则表达式
- Linux学习日记 —— 10.4.2 Shell基础-Bash变量-环境变量
- Linux 基础知识:变量键盘读取、数组与声明
- 20170804L08-03老男孩Linux实战运维培训-Lamp系列之-http服务重要基础概念讲解
- Linux环境变量知识整理
- 自学基础1_linux_4_理解环境变量