20201010 第四课 重定向和变量

》重定向  符号前面需要空格后面不能有空格

输入重定向  <     0 标准输入

输出重定向 

> 清空写入

[[email protected]_src1 ~]$ wc -l 1111.txt >1111.txt 

>>追加写入   [[email protected]_src1 ~]$ wc -l 1111.txt >>1111.txt 

1 标准输出  1 可以省略  可以直接>   [[email protected]_src1 ~]$ ls 1111.txt  1>>1111.txt 

2 错误输出     [[email protected]_src1 ~]$ ls 1112.txt  2>>1111.txt 

& 全部输出     [[email protected]_src1 ~]$ ls 1112.txt  &>>1111.txt 

   

》   | 管道符可以嵌套多次   符号需要空格

》  通配符

*  0个或者多个

?  必须有1个值

[0-9] 单个数字    [1,3,5]  逗号隔开的匹配指定数字,逗号可以省略(135),但是可读性差,而且导致不好理解,{1,3,5}大括号也可以,但是区别是中括号如果未匹配到不会报错,大括号如果没有匹配到则会报错,集合来匹配可以混合匹配比如:[1,2,a]

[a-z] 单个小写字母   [A-Z] 单个大写字母

 备注:如果磁盘类型为nvme 那么平时sata类型的sda1这种会变成nvm的开头

$$ 输出当前pid   如果需要输出$  /来进行单个字符转义   单引号''  区间全部转义

"" 定义范围来标注一个整体 

`` 反引号执行区间命令

》 命令分类

1 绝对路径

2 alias  unalias  命令别名的设置和取消

3 内部命令

4 外部命令 也就是PATH中的路径挨个去寻找

》变量    export aa='aa' 和直接定义 aa='aa'  区别就是export定义之后所有用户都可以使用,直接定义只给当前用户使用

1  查看  [[email protected]_src1 ~]$ env |wc -l       29

2  常用变量

$LANG  如果远程服务器有乱码,可能是服务器和终端的这个变量不匹配,然后修改成一致即可

$RANDOM  产生一个随机数

》 vim编辑器    

1 末行模式   (:)  进行保存退出等工作

2 命令模式   (esc)   进行复制,删除等批量操作

3 输入模式   (a 在光标下一位  i 在光标当前位  o在光标下一行)输入   切换模式后,左下角会提示

 

问题

passwd 的例子   stdin 为什么不能用 <

由于passwd的命令定义的输入是--stdin

[[email protected]_src1 yum.repos.d]# echo "oracle" |passwd --stdin oracle   # 直接就可以通过,而且不用确认,也不会被确认是和旧的一样
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
 

20201010 第四课 重定向和变量