前言
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户,多任务,支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者,组织,公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑,嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux的优点:
稳定性和高效性:因为Linux是由Unix发展而来,因此Linux与Unix有许多相似之处,不只是用户接口和操作方式,Linux还继承了Unix卓越的稳定性和高效性。对于使用Linux作为操作系统的服务器,连续运行一年不宕机是相当平常的事情。
低配置要求:Linux对硬件的要求很低,它可以在数年前的电脑上很流畅的运行。使用窗口,则需要不断升级机器的硬件。
免费或者少许费用:Linux基于GPL,因此任何人可以免费使用或者修改其中的原代码。只有在选择某些厂商制作的Linux的发行版时,才会需要一点点费用。
强大的支持:大量的Linux爱好者会进行交流讨论,并且开发分享一些好的软件,有非常开放的使用氛围。
安全性:Linux拥有相当庞大的用户和社区支持,因此能很快发现系统漏洞,并迅速发布安全补丁。
<代码>正则表达式 ifconfig | sed - n & # 39; 2 p # 39;| sed & # 39; s。* inet//舌鳎# 39;| sed & # 39; #子网掩码。* $ # #舌鳎# 39;,#用/#均可理论可用任何特殊字符替代 # sed - r后面可跟扩展正则,扩展正则,+,(. *) ifconfig | sed - n 2 p | sed - r & # 39; # ^。* inet (. *) Broast。* $ # \ 1 #舌鳎# 39;,# \ 1代表正则中的第一个组即(. *)里的内容 ifconfig | sed nr & # 39; 2 s # ^。* inet净。(. *)* $ # \ 1 # gp # 39;,,,,,,#合成一行 ifconfig | awk & # 39; NR==2{打印$ 2}& # 39;,#取IP地址,awk默认分隔符是空格,取IP最方便 ifconfig ens33 | grep - o“inet [0 - 9] *“;| grep - o“[0 - 9] *“;#取IP ifconfig ens33 | sed nr & # 39; 2 s # ^。([0 - 9]* inet。*)子网掩码。* $ # \ 1 # gp # 39; 猫卑劣。txt | sed - r & # 39; s # ^ * inet。(. *)子网掩码(. *)广播(. *)$ ^ C1 \ 2 \ 3 #舌鳎# 39;, sed - r & # 39; s #(. *),(. *),(. *),(. *),(. *),(. *),(. *) $ # 7 \ \ 6 \ 5 \ 4 2 \ 3 \ \ 1 #舌鳎# 39;,,#后向引用换位置sed最多引用9个,用awk更方便 sed - n & # 39;/^ $/d # 39;,#空行删除,//中写字符串 sed & # 39; 1、2 # C #——和——#舌鳎# 39;,#这里,代表C,C也可以是正则表达式 ls | sed & # 39; s #(^ . *)哈哈# 1. mv \ jpg #舌鳎# 39;| bash sed & # 39; 1 ~ 2 p, s #我d奇数行 sed & # 39; 2 ~ 2 p, s #我d偶数行 sed & # 39; s # ^ # #舌鳎负责人# 39;,#头加 sed & # 39;年代尾巴# $ # #舌鳎# 39;#尾加 sed & # 39; s # ^ #测试#舌鳎# 39;,#开头加测试 sed & # 39; s # $ #测试#舌鳎# 39;,#末尾加测试 sed多行操作,sed & # 39; 2, str # 39;,& # 39;1 ~ 2,str # 39;,& # 39;1,10我,str # 39;,/,& # 39;1、2 d # 39;,& # 39;5 ~ 10 d # 39;,,/& # 39;1 ~ 3 p # 39;& # 39;1、3 p # 39; # sed在我d的时候,必须有相应的行,空文件会出错,也就是说空文件无法直接用sed添加 sed & # 39;/新/d # 39;,#删除包含新的行,sed命令中,p - n, sed中,n,p,,基本都是成对出现 awk - f“:“;& # 39;{打印1美元“:“2美元“:“3美元“:“4美元“:“5美元“:“6美元“:“7美元“- - - - - -“$ 1}& # 39;passwd, #这里是全文操作 awk - f“5 | 28“;& # 39;NR{打印$ 2}==5 & # 39;,# 5或28作为分隔符两个字符串这种格式最好用|,即使单个字符也用|否则字符串造成歧义 我| awk & # 39;{如果(在2美元;5)打印$ 0}& # 39;0美元,表示整行 sed - i & # 39; s #页# dd #舌鳎# 39;1.txt,将1。txt文件中的pp改成dd立即生效,我代表直接写入文件代码>
#在LINUX中,所有的文本处理都是读取一行(进内存)处理一行输出一行直接循环结束
正则表达式,字符串用“;”,以防问题
<代码> ^。*,以任意字符开的头 . *美元,以任意字符结尾 ^字以字开的头 词以美元结尾 [^字]括号里的是取反 。,,只代表一个字符,“是字符就匹配上了,所有除空行“空格和空行是不一样的 \转义 *,重复前面0或多个字符 . *,,所有 (abc)匹配集合内任意一个字符 (^ abc)匹配集合内除abc的任意一个字符 [0 - 9],[a - z]的[a -?] \ \}{n,米重复一个,至少n次到至多m次,# #,一个\ \}{n,米这种形式必须用““引起来,且““两边没有空格,否则会报的错 \ {n, \},一个\ \}{,米,一个\ \ {n}重复n次 egrep sed - r可以不使用\转义 # #了解,扩展正则表达式,grep - e egrep +一个或一个以上,(*是0或多) 吗?0或一个前面字符 |表示同时过滤多个字符串,,egrep“sshd | systemd" ()后向引用,,参考(. *),\ 1 grep - n -我不区分大小写,- o只显示匹配到的内容不输出整行 找到/测试类型f - name“* .sh"| xargs sed - i & # 39; s # #新老#舌鳎# 39;,!叹号可取反——和- o 也可同时写,sed - i & # 39; s # #新老#舌鳎# 39;,* . sh # awk NR, 0美元整行1美元2美元,美元NF最后一列NF为全行列数 $ (NF-1)倒数第二行 # awk原理,一行是一个记录 # RS表示一个记录的结束,FS表示一个区域的分隔NF美元为最后一个区域 ifconfig | awk & # 39;开始{RS=?“} & # 39; & # 39;{打印1美元}& # 39;,以:为代替回车为换行符 #正则条件(NR==2),范围(NR==2, NR==5) 2到5 # 1美元~/正则开始/,3美元~/正则结束/awk - f“[:] + | \ t +“;& # 39;{print $ 2} & # 39;年级,以一个或多个:(空格或冒号)或1或多个标签制表符作为分隔符, #开始模块结束模块 seq 100 | awk & # 39;{+=$ 1} & # 39; & # 39;结束{打印}& # 39;,1加到100 猫passtemp, awk | & # 39;{子(/x/,“ppp")} & # 39; & # 39;{打印$ 0}& # 39;,awk替换 awk & # 39; 1美元lisi ~//{打印$ 0}& # 39;年级,,年级文件匹配1美元包括lisi的行并打印出行 awk & # 39; 4美元~/(5 | 3)$/{打印$ 0}& # 39;年级,匹配5或3结尾 awk & # 39; 1美元~/^ [l | W]/{print $ 0} & # 39;年级,,匹配l或W开头,用[]和()都可为了和正则匹配,强烈建议用[] awk - f“\ t"& # 39;3 ~/^ 9美元/{print $ 0} & # 39;年级 #不包含:!在awk中不包含可以使用!表示 在awk中,可以用来替换的有三个函数:子gsub gensubsub (r, s (t)) ,,,,,,,r,/找谁/,,,,,,,年代,“替换成什么“ ,,,,,,,[]替换那个部分的 詹awk & # 39; 1美元~//{gsub (/zhang3/,“ccccc", 1美元),打印$ 0}& # 39;年级 # #注意,zhang3/,“ccccc",以及多个命令间用;,分号linux中grep、sed、awk命令的使用