第12天

1.字符集:文字符号在计算机中标识的方法

(1)临时修改

[root@lsr7 ~]# export LANG='zh_CN.utf8' zh中文 CN中国 utf8或者UTF-8 万国码,通用的 en英语 US美国

[root@lsr7 ~]# vimtutor //随便使用一共命令,下面肯出现中文

[root@lsr7 ~]# echo $LANG

zh_CN.UTF-8

(2)永久修改

[root@lsr7 ~]# echo $LANG

zh_CN.UTF-8

[root@lsr7 ~]# ll /etc/locale.conf

-rw-r--r--. 1 root root 19 3月 8 16:32 /etc/locale.conf

[root@lsr7 ~]# cat /etc/locale.conf

LANG=en_US.utf8

[root@lsr7 ~]# source /etc/locate.conf

-bash: /etc/locate.conf: 没有那个文件或目录

[root@lsr7 ~]# source /etc/locale.conf

[root@lsr7 ~]# echo $LANG

en_US.UTF-8

(3)暂时加永久 (设置之后xshell断开再连接一下)

[root@lsr7 ~]# localectl set-locale LANG=en_US.utf8 //或者改中文是LANG=zh_CN.utf8

Echo $LANG和地球上面的字符(语言),输出命令容易出现乱码,所以他们俩必须一致

2.特殊符号系列

`` 等于() :反引号 优先执行()内部的命令,把结果留,()里面必须放命令

‘’ :单引号 所见即所得

“” :双引号 解析里面的特殊符号

:不加引号,可以使用{}

:输出重定向

:追加输出重定向

2> :错误输出重定向

2>> :标准错误输出,追加重定向

2>&1 :标准错误重定向(不提示,错误正确都放在一个里面)

&& :前面命令执行成功再执行下一个命令

|| :前一个命令执行失败再执行下一个命令

3.通配符

  • :所有

^ :匹配字符串开头

? :任意一个字符(??任意两个字符) 了解

4.[root@lsr7 ~]# echo "$LANG" //双引号

en_US.UTF-8

[root@lsr7 ~]# echo '$LANG ' //单引号

$LANG

[root@lsr7 ~]# echo "$LANG {1..5}"

en_US.UTF-8 {1..5}

[root@lsr7 ~]# echo '$LANG {1..5}'

$LANG {1..5}

[root@lsr7 ~]# echo $LANG {1..5} //不加引号

en_US.UTF-8 1 2 3 4 5

[root@lsr7 ~]# ll $(find /oldboy -type f -name '*.txt')

-rw-r--r-- 1 root root 0 Apr 16 11:02 /oldboy/huahua.txt

5.xargs //把管道传递内容从字符转换为文件名

[root@lsr7 ~]# find /oldboy -type f -name '*.txt'|xargs ls -l

-rw-r--r-- 1 root root 0 Apr 16 11:02 /oldboy/huahua.txt

6.-exec 执行

[root@lsr7 ame '*.txt'~]# find /oldboy -type f -exec ls -l {} ; //找出的文件放{} \是撬棍

-rw-r--r-- 1 root root 0 Apr 16 11:02 /oldboy/huahua.tx

7.查找/etc下所有以.conf为结尾的文件,大于1M,修改时间7天以内的文件,复制到/tmp下

[root@huahua ~]# find /etc -type f -size +1M -mtime -7 -name '*.conf' -exec cp -i {} /tmp ;

[root@huahua ~]# cp -a find /etc/ -type f -size -2M -name '*.conf' /tmp/old

[root@huahua ~]# find /etc -type f -size +1M -mtime -7 -name '*.conf' | xargs -i cp {} /tmp

[root@huahua ~]# find /etc -type f -size +1M -mtime -7 -name '*.conf' | xargs cp -t /tmp

8.查看历史命令

[root@lsr7 ~]# !ls //找出最近执行的以ls开头的命令

[root@lsr7 ~]# history |grep ls

9.以时间命名

(1)压缩/etc/到/tmp/etc下,并以时间命名

[root@lsr7 ~]# tar zcf /tmp/etc$(date +%F-%T).tar.gz /etc/ (注意date后面有空格)

[root@lsr7 ~]# ll /tmp/

-rw-r--r-- 1 root root 10190179 Apr 15 20:06 2019-04-15-20:06:48etc.tar.gz

(2)查找/目录下小于2M,七天内,以.conf为结尾的文件,并把它打包到/tmp下,以时间命名

[root@huahua ~]# find / -type f -mtime -7 -size -2M -iname '*.conf' | xargs tar zcf /tmp/$(date +%F).tar.gz

下面的是一些软链接不存在了,不是报错

[root@huahua ~]# tar zcf /tmp/(date +%F)conf.tar.gz(find / -type f -name "*.conf" -mtime +7 -size -2M)

2019.4.17三剑客set grep awk

[root@huahua ~]# vim /etc/ssh/sshd_config

[root@huahua ~]# systemctl restart sshd

2.通配符和正则的区别

作用支持命令

通配符方便我们找文件Linux大部分命令都可用

正则方便我们过滤文件(在文件中找内容)Linux三剑客 开发语言Phython Go PHP JAVA

3.正则表达式(Regular Expression RE)

发明1套符号,不同符号有不同含义,方便我们再文件中查找/过滤内容

(1)基础正则(Basic RE BRE)

^ :以什么开头

$ :以什么结尾

^$ :查找空行(这一行什么都没有)

.* :所有任意字符

. :任意一个字符

  • :匹配前一个字符 只能放字符后面,不允许放前面 前一个字符连续出现0次或0次以上

[] :匹配里面任意一个字符(综括号)

[^] :不要里面的任意字符

\ :转义字符

[root@huahua ~]# cat /etc/ssh/sshd_config > /tmp/test.txt //把/etc/ssh/sshd_config的内容放在/tmp/test.txt里面

[root@huahua ~]# grep '^#' /tmp/test.txt //筛选出/tmp/test.txt下以#开头的文件

[root@huahua ~]# grep 'no' /tmp/test.txt //筛选出/tmp/test.txt下以结尾的文件

[root@huahua ~]# grep -n '^$' /tmp/test.txt //筛选/tmp/test.txt下的空格 -n显示行号

[root@huahua ~]# grep 'n*' /tmp/test.txt //匹配带n的字符

[root@huahua ~]# grep -nv "^$" oldboy.txt //-v排除空行 -n显示行号

[root@huahua ~]# grep " " oldboy.txt //过滤出空格 (空格看不出来,拉黑就看到红色的空格)

[root@huahua ~]# grep -o "......" oldboy.txt //一次查看六个字符 (6个.代表一次查看6个字符 -o是显示过程)

①撬棍系列

加撬棍,是转移字符,作用,脱掉马甲,打回原型

\n 回车(换行)

\t tab(空格)

[root@huahua ~]# grep ".$" oldboy.txt //以任意字符为结尾

[root@huahua ~]# grep ".$" oldboy.txt //查看oldboy.txt中以.为结尾

②echo

-n 不输出每行结尾的回车

-e 让echo支持转义符 \n \t

[root@huahua ~]# echo -e "\nhuahua\txixi\zhizhi" //可以看到huahua换行了,huahua和xixi之间有空格

追加123之后查看,可以看到有4个字符,加上-n追加可以看到有3个字符

[root@huahua ~]# grep "0*" oldboy.txt //连续(重复)出现的0

[root@huahua ~]# grep '[a-z]' /tmp/test.txt //匹配字母a-z的

[root@huahua ~]# grep " [a-zA-Z] " oldboy.txt //匹配a-z A-Z

[root@huahua ~]# grep " [0-Z] " oldboy.txt //匹配0-9 a-z A-Z

[root@huahua ~]# grep " [a-Z] " oldboy.txt //匹配a-z A-Z

[root@huahua ~]# grep "[0-9]" /tmp/test.txt //匹配带数字的

[root@huahua ~]# grep '^[mno]' oldboy.txt //显示以m或n或o开头的行

[root@huahua ~]# grep '[mn.]$' oldboy.txt //以m或n或点结尾的行

[root@huahua ~]# grep '^[mno].* [mn.]$' oldboy.txt //显示以m或n或o开头的并且以m或n或点结尾的行

[root@huahua ~]# grep "[^abc]" oldboy.txt //不要abc

(2)扩展正则(Extended RE ERE)

| 或者

  • 匹配前一个字符出现一次和一次以上(>=1)
    

() 后向引用

{} 前一个字符出现最少n次,最多m次

b{m,n} 前1字符连续出现至少m次和最多n次

b{m}前一个字符连续出现m次

b{m,}前1个字符连续至少出现m次

b{,n}前一个字符最多出现n次

? 前一个字符出现0次或1次

[root@huahua ~]# egrep '[a-Z]+' oldboy.txt //匹配a-Z出现1次或1次以上

[root@huahua ~]# egrep 'oldboy|linux' oldboy.txt //查找'oldboy或linux

[root@huahua ~]# egrep 'oldb[oe]y ' oldboy.txt //查找oldboy或者oldbey

[root@huahua ~]# egrep 'oldb(o|e)y ' oldboy.txt //查找oldboy或者oldbey

[root@huahua ~]# egrep '0{1,3}' oldboy.txt //查找0至少出现1次,最多出现3次

出现的5个0是因为grep具有贪婪性

[root@huahua ~]# egrep '0{2,4}' oldboy.txt

[root@huahua ~]# egrep '0{3}' oldboy.txt

[root@huahua ~]# egrep '[0-9]{17}[0-9X]$' id.txt //查找身份证号

[root@huahua ~]# egrep 'go?d' oldboy.txt //查找god或者go (oldboy.txt内必须有god和go)

4.括号表达式

[[:alnum]]:大小写字母或数字(也就是0-9)

[root@huahua ~]# egrep [[:alnum:]] oldboy.txt

5.man grep info grep //info比慢更详细

  1. Cat -A 文件中所有隐藏符号,每行结尾加上$

[root@huahua ~]# cat -A oldboy.txt

基础正则扩展正则

grep sed awkegrep sed -r awk

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容