您的位置:首页 > 运维架构 > Linux

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.查看和设置环境变量:
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也暂时没有掌握诶。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: