一、重定向
以下参考: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;
例如: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
以下参考: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也暂时没有掌握诶。)