Shell 中的特殊字符

一、输入输出重定向

  • 输入/输出重定向是改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标
  • linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。

用户可以为当前操作改变输入或输出,破事某个特定命令的输入或输出来源为外部文件。

重定向符含义实例
>file将file文件重定向为输出源,新建模式ls /usr>Lsoutput.txt,将ls /usr的执行结果写到Lsoutput.txt文件中,若有同名文件将被删除。
>>file将file文件重定向为输出源,追加模式ls /usr>>Lsoutput.txt,将ls /usr的执行结果追加到Lsoutput.txt文件已有内容后
<file将file文件重定向为输入源wc<file1,将file1中的内容作为输入传给wc命令
2>或&>将由命令产生的错误信息输入到文件中ls noexistingfile.txt 2>err.log,使用ls命令,查看一个不存在的文件时,将系统错误提示保存在err.log文件中。

 

1、>file

新建模式:如果这个文件不存在会创建一个;若存在,会覆盖掉原有内容。

linux@ubuntu:~$ ls / >file1

file文件中被写入了根目录下的清单列表内容。

打开file1可以看到。

现欲将etc下的文件写入file1中,并且覆盖原有内容。

linux@ubuntu:~$ ls /etc > file1

将/etc中的内容写入了file1文件中,覆盖了原有的根目录下的内容。

2、>>file

追加模式:如果这个文件不存在,会创建一个;若存在,会在原有文件之后追加内容,原有内容不做删减。

linux@ubuntu:~$ ls /etc >> file1

进行了两次追加,文件大小是原来的3倍!

往file2文件中写入“abc”,进行一次追加,文件大小是原来的2倍。

3、<file

文件作为输入源,传递给命令。

linux@ubuntu:~$ wc < file2

其实以往关于文件的命令,默认中间均省略了一个“<”号,它的含义是文件作为输入源。

wc命令用于显示行数、单词数、字符数。

4、2> 或 &>

将系统错误信息保存到一个指定的文件中。

ls -l filew.txt 2>wrong.txt
ls -l filew.txt 2>>wrong.txt

 

ls -l wd.txt test.txt &> right_wrong.txt

命令完成将存在的test.txt的文件信息存入right.txt,将不存在的wd.txt文件的系统错误提示信息存入wrong.txt

right.txt 、wrong.txt 都是此刻新建的。

还有一种“&>”的方式,可以将以上两种信息同时存入一个文件。

同样可以有追加模式

ls -l wd.txt test.txt &>>right_wrong.txt

 

 

二、命令置换

定义:将一个命令的输出作为另一个命令的参数。

格式:command1 'command2'

linux@ubuntu:~$ ls 'pwd'

linus@ubuntu:~$ ls $(pwd)

如果没有这个 ‘ ’号,系统认为pwd是个文件夹,命令要求显示pwd这个文件夹里的信息。

如果有这个' '号,命令的意义是:将pwd这条命令的执行结果作为ls的参数。

pwd这条命令本身是打印当前目录。ls 'pwd'是将当前目录的打印结果列出。所以 ls 'pwd' 和 ls 这两条命令执行完的效果是一样的。但意义不一样。

注!:这个' '号是键盘上,ESC键下的那个键。

echo "Today is 'date'"

date本身是一条命令,显示时间、日期。

而echo " Today is 'date' "则是将date命令的输出(也就是显示的时间、日期)作为echo这条命令的参数。

显示结果,可以表此意。

三、要点

1、shell中输入、输出重定向的用法。

2、命令置换的使用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值