2019-04-16基础优化补充,特殊符号,正则表达式

基础优化补充,特殊符号,正则表达式

字符集 文字符号在计算机中的表示方法

常见字符集

GBK 国标
UTF8 万国码

查看字符集

echo $LANG
en_US.UTF-8 英语
zh_CN.UTF-8 中文

修改 字符集

①临时 export LANG='zh_CN.UTF-8'
重新登录后失效
②永久 修改/etc/locale.conf (这是centos7,centos6里是/etc/sysconfig/i18n)
③生效 source

一条命令改: localectl set-locale LANG=en_US.UTF-8
然后重连生效

故障:乱码

查看shell字符集
查看系统字符集
查看二者是否一致

特殊符号

引号系列

单引号--所见即所得
双引号--与单引号类似,双引号里的特殊符号会被解析
不加引号--与双引号类似,支持花括号(通配符)
反引号--优先执行里面的命令,把结果留下 相当于$()

重定向符号系列

重定向:改变数据流向 箭头的方向就是水流方向

标准输出, 把正确信息写入到文件中
> 或1> 标准输出重定向 先清空文件内容再写入
>>或 1>> 标准追加输出和重定向 追加到文件的最后一行

错误输出,把命令的错误提示写入到文件
2>
2>>

要把正确的和错误的放在一起
[root@oldboyedu59 ~]# alex >>oldboy.txt 2>&1 常见的写法
[root@oldboyedu59 ~]# echo alex oldboy >>oldboy.txt 2>&1
[root@oldboyedu59 ~]# cat oldboy.txt

<或0< 标准输入重定向 用来指引命令从哪里读取数据
<<或0<< 标准追加输入重定向 只用来和cat配合 向文件中追加多行内容
cat >>/oldboy/oldboy.txt< EOF=end of file 文件结束

管道 |

把前一个命令的结果通过管道传递给后面一个命令(管道两边都是命令 )
管道默认传递的是文字符号
管道后面不支持别名

find |xargs 把管道传递的内容从文字符号转变成了文件名(参数)
例:find /oldboy -type f -name '*.txt'|xargs ls -l

创建环境
mkdir -p /oldboy/lidao
touch /oldboy/oldboy{01..5}.txt
/oldboy/lidao/alex{01..5}.txt
找出/oldboy下面以.txt结尾的文件把他们删除(ls -l)
三种方法:
反引号 ls -l find /oldboy/ -type f -name "*.txt"
管道 find /oldboy/ -type f -name ".txt" | xargs ls -l
-exec find /oldboy/ -type f -name "
.txt" -exec ls -l {} ; find找出的文件放入花括号,;结束

表示位置的符号:

~ 家目录
.当前目录,以点开头的文件时隐藏文件
.. 上级目录
- cd- su - 参数

表示简单判断:

&& 前一个命令执行成功 在执行后面的命令
如:ifdown eth0 && ifup eth0

|| 前一个命令执行失败 再执行后面的命令

其他:

“#” 注释 root用户的命令提示符
$取变量内容 比如:$LANG $PATH $()=``
; 命令结束
! 加命令 !ls 找出最近一次使用过的以ls开头的命令并执行
history|grep ls 替换!ls

ctrl+r 查找最近使用过的命令

通配符

①* 所有东西 任何东西
找出系统中文件名中包含ip的文件 find / -type f -name 'ip'
②{} 生成序列 数字或者字母
{01..10..2}每个隔2
进行备份 cp lidao.txt{,.bak}
③? 任意一个字符(单个字符)一个?只代表一个字符
④[]
⑤[^]

作用:方便我们查找想要的文件或目录
通用 linux下面大部分命令可以使用

你可能感兴趣的:(2019-04-16基础优化补充,特殊符号,正则表达式)