Linux下面修改字符集
什么是字符集?
文字符号在计算机中标识方法
常见字符集:GBK国标 UFT万国码
修改字符集:LANG(language)
[root@oldboy59 ~]# echo $LANG
en_US.UTF-8
临时修改(重新登录之后失效)
[root@oldboy59 ~]# export LANG='zh_CN.UTF-8'
[root@oldboy59 ~]# vimtutor
永久修改(写入文件/etc/locale.conf)
生效source /etc/locale.conf
一条命令设置字符集
localectl set-locale LANG=en_CN.utf8 然后重新链接生效
故障案例:Linux下面显示中文乱码排查流程
原因:Linux系统的字符集与远程连接工具(xshell)字符集不同
排查:查看shell字符集和系统字符集是否一致
解决:方法一:修改xshell字符集(不通用)
方法二:
修改Linux字符集localectl set-locale LANG=en_US.utf 重新连接
特殊符号与正则表达式
引号系列:单引号 所见即所得
[root@oldboy59 ~]# echo '$LANG'
$LANG
双引号 与单引号类似 双引号里面的特殊符号会被解析(运行)
[root@oldboy59 ~]# echo "$LANG"
zh_CN.UTF-8
不加引号 与双引号类似 支持花括号(通配符)
[root@oldboy59 ~]# echo $LANG {1..5}
zh_CN.UTF-8 1 2 3 4 5
反引号 `` 相当于$() 有限执行里面的命令,把里面的结果留下
[root@oldboy59 ~]# ls -l `which mkdir`
-rwxr-xr-x. 1 root root 79864 10月 31 03:16 /usr/bin/mkdir
[root@oldboy59 ~]# ls -l $(which mkdir)
-rwxr-xr-x. 1 root root 79864 10月 31 03:16 /usr/bin/mkdir
[root@oldboy59 ~]#
重定向符号系列
改变数据的流向 箭头的方向就是水流方向
'>'标准输出重定向 先清空文件内容,在写入新的内容
'>>'标准追加输出重定向 追加到文件结尾
'2>'或'2>>'标准追加错误信息重定向,错误输出,数字2 命令的错误提示写入到文件
同时把错误信息或正确都记录到文件中
[root@oldboyedu59 ~]# echo alex oldboy >>oldboy.txt 2>&1
[root@oldboyedu59 ~]# cat oldboy.txt
'<' 标准输入重定向 用来指引命令从哪里读取数据 tr xargs
'<<' 标准追加输入重定向 只用来和cat配合 向文件中追加多行内容
管道 把前一个命令的结果通过管道传递给后面命令
[root@oldboy59 ~]# rpm -qa |grep ncat
nmap-ncat-6.40-16.el7.x86_64
管道 | 默认传递的是文字符号
find与|xargs配合
|xargs 把管道传递的内容从文字符号转变成文件名(参数)
|xargs后面不支持别名
找出/oldboy下面以.txt结尾的文件把他们删除(ls -l)
方法1 反引号
[root@oldboyedu59 ~]# ls -l $(find /oldboy -type f -name '*.txt')
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/lidao/alex01.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/lidao/alex02.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/lidao/alex03.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/lidao/alex04.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/lidao/alex05.txt
-rw-r--r-- 1 root root 0 Apr 16 10:58 /oldboy/lidao/oldboy01.txt
-rw-r--r-- 1 root root 0 Apr 16 10:58 /oldboy/lidao/oldboy02.txt
-rw-r--r-- 1 root root 0 Apr 16 10:58 /oldboy/lidao/oldboy03.txt
-rw-r--r-- 1 root root 0 Apr 16 10:58 /oldboy/lidao/oldboy04.txt
-rw-r--r-- 1 root root 0 Apr 16 10:58 /oldboy/lidao/oldboy05.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/oldboy01.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/oldboy02.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/oldboy03.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/oldboy04.txt
-rw-r--r-- 1 root root 0 Apr 16 10:59 /oldboy/oldboy05.txt
-rw-r--r-- 1 root root 29 Apr 16 10:29 /oldboy/oldboy.txt
方法2 管道
find /oldboy -type f -name '*.txt'|xargs ls -l
方法3 find命令参数 -exec 熟悉
[root@oldboy59 ~]# find /oldboy -type f -name '*.txt' -exec ls -l {} \;
{}表示找出的文件 ;结束
表示位置
~ 当前目录 以.开头的文件隐藏
.. 当前目录的上级目录
-(cd- su-)
表示简单判断
&& 前一个命令执行成功 再执行后面的命令
ifdown eth0 && ifup eth0
|| 前一个命令执行失败 再执行后面的命令
其他
'#'注释 root用户的命令提示符
LANG ()==``
;命令结束
! !ls找出最近一次使用过 以ls开头的命令 并执行
Ctrl +r 进入搜索模式(查找用过的命令history|grep)
通配符 方便我们查找想要的文件或目录
所有 任何 *
文件名中包含
[root@oldboy59 ~]# find / -type f -name '*ip*'
{}生成序列
[root@oldboyedu59 ~]# echo A{,C}
A AC
[root@oldboyedu59 ~]# echo A{B,C}
AB AC
进行备份
[root@oldboy59 ~]# touch oldboy.txt
[root@oldboy59 ~]# cp oldboy.txt{,.bak}
? 任意一个字符(单个字符)
[]
[^]
网友评论