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.