美文网首页
Linux59期day15

Linux59期day15

作者: A宽宽 | 来源:发表于2019-04-16 17:45 被阅读0次

    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 PATH()==``
    ;命令结束
    ! !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}
    

    ? 任意一个字符(单个字符)
    []
    [^]

    相关文章

      网友评论

          本文标题:Linux59期day15

          本文链接:https://www.haomeiwen.com/subject/zshvwqtx.html