做牛仔裤的视频网站,温州网站建设免费咨询,免费的网站推广 外贸,电子商务是干什么的具体目录 输出重定向
输入重定向 管道操作 输出重定向
当我输⼊⼀个命令之后#xff0c;回⻋#xff0c;命令产⽣了结果#xff0c;结果默认是输出到屏幕上的。
默认情况#xff0c;⽆论⼀个命令执⾏正确与否#xff0c;结果都会默认输出到屏幕上。
在有…目录 输出重定向
输入重定向 管道操作 输出重定向
当我输⼊⼀个命令之后回⻋命令产⽣了结果结果默认是输出到屏幕上的。
默认情况⽆论⼀个命令执⾏正确与否结果都会默认输出到屏幕上。
在有些情况下我可能需要保留命令或脚本输出的结果。当作log用作后面分析。
cat /cat /etc/hosts 产生的结果是正确的我们可以使用 和 见这个命令的正确结果输出到一个文件中
[rootbogon ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[rootbogon ~]# cat /etc/hosts /root/file1
[rootbogon ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[rootbogon ~]# cat file1
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
cat /etc/hosts /root/file1 就是将 前面命令的结果送到 /root/file1 文件中而不是屏幕上。 和是正确的重定向能将正确的结果重定向到⽂件中区别是会将指向的⽂件内容完全覆盖会将重定向的内容追加到指定的⽂件就是正确的覆盖就是正确的追加 2就是错误的覆盖 2就是错误的追加 正确错误都覆盖 正确错误都追加 /dev/null/dev/null是⼀个特殊的⽂件如果将重定向指向这个⽂件那么就相当于将执⾏结果送到⿊洞中。直接没了有些时候我们不想让这个命令的输出显示到任何地⽅就送到⿊洞中。
输入重定向
可以将交互式命令变成非交互式命令 和的作用完全不一样 可以将前命令需要执行后产生需要进行交互的内容通过后面文本中预先写好的内容进行操作这个看起来很是鸡肋但是在编写shell脚本是不可缺少的。
为了刚明显的看出举个实例
## 编辑一个1.txt文件在里面写入一些内容
[rootbogon ~]# cat 1.txt
helld world!!!## 在2.txt写入y表示yes
[rootbogon ~]# echo y 2.txt
[rootbogon ~]# cat 2.txt
y## 编辑3.txt文件在里面写一些不同于1.txt的内容
[rootbogon ~]# cat 3.txt
I love the world!!!## 将1.txt文件中的内容覆盖到3.txt文件中会显示cp: overwrite 3.txt? ,只需要输入y就能将1.txt的内容已经覆盖3.txt文件
[rootbogon ~]# cp 1.txt 3.txt
cp: overwrite 3.txt? y
[rootbogon ~]# cat 3.txt
helld world!!!## 重新对3.txt进行编写
[rootbogon ~]# cat 3.txt
I love the world!!!## 如果使用输入重定向就可以不用手动输入y可以将2.txt中的内容进行输出直接完成结果
[rootbogon ~]# cp 1.txt 3.txt 2.txt
cp: overwrite 3.txt? [rootbogon ~]# cat 3.txt
helld world!!! 一般是和cat进行连用
当执行一个单个的cat时候会进入到交互界面退出时执行使用 CtrlC 进行终止但是使用 就可以手动进行终止
在后面写入的内容会作为结束的标志进行退出
[rootbogon ~]# cat qqqnihao hello aaaa adsad qqq
nihao
hello
aaaa
adsad
[rootbogon ~]#
在后面些qqq之后在cat界面输入qqq之后就会执行出现在前方写入的内容紧接着就会退出cat的交互式界面
这种方式多使用在脚本编写中可以将内容输入到指定的文件中一般情况下之后写的是END这里便于理解就随便写了一串字母 [rootbogon ~]# cat 4.txt oooaaaabbbbccccasdaasdexffdooo
[rootbogon ~]# cat 4.txt
aaaa
bbbb
ccccasd
aasdexffd
[rootbogon ~]#
管道操作
管道的符号是 |
⽂件管理⾥⾯⽐较重要的内容
管道左边的命令会产⽣输出结果输出结果经过了管道之后就会变成输⼊。
管道右边的命令总是接收输⼊的命令
[rootbogon ~]# cat hello.txt
How are you?
what are you doing?
## 查看hello.txt中的内容并把所有字母转变为大写
[rootbogon ~]# cat hello.txt | tr a-z A-Z
HOW ARE YOU?
WHAT ARE YOU DOING?
## 转变为大写之后输出并保存到hello2.txt文件中
[rootbogon ~]# cat hello.txt | tr a-z A-Z | tee hello2.txt
HOW ARE YOU?
WHAT ARE YOU DOING?
[rootbogon ~]# cat hello2.txt
HOW ARE YOU?
WHAT ARE YOU DOING?
## 查找hello2.txt中有HOW的内容
[rootbogon ~]# cat hello2.txt | grep HOW
HOW ARE YOU?
## 显示有HOW内容的行数
[rootbogon ~]# cat hello2.txt | grep HOW | wc -l
1