1.负数的反码求法:(1)先求其绝对值的2进制;

一、输出重定向:

我们首先给出两个数组

                  (2)然后从后面开始,遇到第一个”1“不变,后面的都取反;

    一般情况下默认输入是键盘;输出是输出到屏幕上面

复制代码 代码如下:

2.在输出函数printf中输出引号时要注意:”

    希望执行命令的时候不希望输出在屏幕上面,输出在文件里面去

<?php 
 $r = array(1,2,3,4,5,6); 
 $e = array(7,8,9,10); 
?>

3.^,~,=>>,<<=,&,|

  

下面我们用array_merge和加号来何必这两数组

  1、把正确的输出导入到文件里面去
 (只能重定向正确的结果,不能重定向错误的结果)

复制代码 代码如下:

  ①、   >

<?php 
print_r($r+e); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 ) </span> 
print “<br />”; 
print_r(array_merge($r,$e)); // 输出<span style=”font-family:
Simsun;font-size:16px; “>Array ( [0] => 1 [1] => 2 [2]
=> 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7]
=> 8 [8] => 9 )</span> 
?>

    如果该文件不存在的话,直接创建一个文件
    如果该文件存在的话,就会把改文件里面的内容覆盖

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

  ②、  >> 

下面我们来改变下前面给出的数组

    如果该文件不存在的话,直接创建一个文件
    如果该文件存在的话,直接在该文件的内容后面追加,不会把改文件覆盖

复制代码 代码如下:

  

<?php 
 $r = array(‘r’=>1,2,3,4,5,6); 
 $e = array(<span style=”background-color: rgb(245, 250, 255);
“>’r’=></span>7,8,9,10); 
?> 

图片 1图片 2

复制代码 代码如下:

[root@localhost opt]# ll
total 0
[root@localhost opt]# cal > mm
[root@localhost opt]# cat mm 
      June 2017     
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

[root@localhost opt]# date > mm
[root@localhost opt]# cat mm
Tue Jun  6 23:37:00 CST 2017
[root@localhost opt]# cal >> mm
[root@localhost opt]# cat mm 
Tue Jun  6 23:37:00 CST 2017
      June 2017     
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

[root@localhost opt]# 

<?php 
print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3
[2] => 4 [3] => 5 [4] => 6 ) 
print “<br />”; 
print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] =>
2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7
[7] => 8 [8] => 9 ) 
?> 

View Code

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。
然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

  注意:该重定向只能重定向正确的结果,不能重定向错误的结果。如果想重定向出的结果像正确的重定向一样导入的话:
xxxxxx 2> nn 1>&2  (举例)

 

  2、重定向错误的结果 (只能重定向错误的结果,不能重定向正确的结果)

    ①、   2>

      如果该文件不存在的话,直接创建一个文件
      如果该文件存在的话,就会把改文件里面的内容覆盖

    ②、  2>>    

      如果该文件不存在的话,直接创建一个文件
      如果该文件存在的话,直接在该文件的内容后面追加,不会把改文件覆盖

[root@localhost opt]# mmmmmmmmmmm 2> s
[root@localhost opt]# cat s
bash: mmmmmmmmmmm: command not found...
[root@localhost opt]# xxxxxxxxxxxxx 2> s    
[root@localhost opt]# cat s
bash: xxxxxxxxxxxxx: command not found...
[root@localhost opt]# aaaaaaaaaa 2>> s
[root@localhost opt]# cat s
bash: xxxxxxxxxxxxx: command not found...
bash: aaaaaaaaaa: command not found...
[root@localhost opt]# 

 

  注意:如果想错误的结果像正确的导入   xxxxxxxxx
> mm 2>&1   (举例)  企业常用的方法

[root@localhost opt]# xxxxxx > mm 2>&1
[root@localhost opt]# cat mm
bash: xxxxxx: command not found...
[root@localhost opt]# yyyyy > mm 2>&1
[root@localhost opt]# cat mm 
bash: yyyyy: command not found...
[root@localhost opt]# 

 

3、不管输出正确与否,都导入。  

    &>    (注意:没有 2&>)

 

[root@localhost opt]# xxxx &> kk
[root@localhost opt]# cat kk 
bash: xxxx: command not found...
[root@localhost opt]# date &> kk 
[root@localhost opt]# cat kk 
Tue Jun  6 23:59:34 CST 2017
[root@localhost opt]# 

 

 

二、输入重定向————– < 或
<<

 

    把hosts文件里面的小谢字母全部转换为大写字母

[root@localhost opt]# cat hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost opt]# tr 'a-z' 'A-Z' < hosts                                                     tr 命令
127.0.0.1   LOCALHOST LOCALHOST.LOCALDOMAIN LOCALHOST4 LOCALHOST4.LOCALDOMAIN4
::1         LOCALHOST LOCALHOST.LOCALDOMAIN LOCALHOST6 LOCALHOST6.LOCALDOMAIN6
[root@localhost opt]# 

 

三、输入重定向和输出重定向一起使用

  forexample:  cat >xxx << ufo XXXXXXXXX ufo

// 注意:结尾必须要和ufo一致,才能退出(重定向里面还支持变量的引用)

[root@localhost opt]# mm=123456
[root@localhost opt]# cat > files << ufo  (要和下面配对)
> 1111111111111
> ssssssssssssss
> $mm
> Thanks!
> ufo
[root@localhost opt]# cat files 
1111111111111
ssssssssssssss
123456
Thanks!
[root@localhost opt]# 

 

总结:

> 或
1>    
 输出重定向:把前面的输出东西输入到后面的文件中,会清除文件里面原有的内容

>> 或
1>>   
追加输出重定向:把前面输出的东西追加到后面的文件尾部,不会清除原文件里面的内容

0< 或
<        
输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名

0<<或
<<    
追加输入重定向:后跟字符串,用来表示“输入结束”,也可以Ctrl+d
来结束输入

2>
       错误的重定向:把错误的信息输入到后面的文件中,会删除源文件里面的内容

2>>
       
错误的追加重定向:把错误的信息追加到后面的文件中,不会删除源文件里面的内容

使用说明:
1、箭头的流向介绍数据的流向
2、数字说明:
标准正常输出: 代码为1,使用> 或
>> 。数据流向从左向右

标准输入: 代码为0,使用< 或
<< 。数据流向从右向左

标准错误输出: 代码为2,使用2>或
2>>。数据流向从左向右

2>&1 :
标准错误输出和标准正常输出一样,相当于跟屁虫。1放到哪,2就放到哪里。

echo ‘oldboy’ >
a.txt 2>&1   (企业里面常用的用法)