Linux 第八天: 练习和作业

Linux 第八天: (08月09日) 练习和作业

 

 

 

1删除/etc/grub2.cfg所有以空白开头的行行首空白字符

sed 's#^[[:space:]]\+##' /etc/grub2.cfg
sed -r 's@^[[:space:]]+@@' /etc/grub2.cfg

 

2删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行当行首的#和空白字符

sed    's@^#[[:space:]]\+@@' /etc/fstab

 

3在 /root/install.log每行行首增加#号

sed -r 's@(.*)@#\1@g' /root/install.log
sed -n 's/^/#/p' /root/install.log

 

?在 /root/install.log第1-100行行首增加#号

sed -n '1,100p' /root/install.log |sed 's/^/#/'

 

4在/etc/fstab文件中不以#开头的行当行首增加#号

sed  's@^[^#]@#&@' /etc/fstab

 

5处理/etc/fstab路径,使用sed命令取出目录名和文件名

echo /etc/sysconfig/ |sed -r  's#[^/]+/?$##' 目录名

echo "/etc/fst/sd" | sed   -r 's@(.*/)([^/]+/?)$@\1@'
echo "/etc/fst/sd" | sed   -r 's@(.*/)([^/]+/?)$@\2@'

echo "/etc/fst/sd" | sed   -r 's@(^.*/)(.*)/?$@\1@'
echo "/etc/fst/sd" | sed   -r 's@(^.*/)(.*)/?$@\2@'

 

6利用sed取出ifconfig命令中本机ipv4地址

ifconfig|sed -n 2p |sed -r  's/.*addr:(.*)  Bca.*/\1/'
ifconfig|sed -n 2p |sed -e  's/.*addr://' -e 's/ B.*//'

 

7统计centos安装光盘下package目录所有rpm文件以分隔倒数第二字段的重复次数

ls *.rpm |sed -r 's#.*\.(.*)\.rpm$#\1#'|sort  |uniq -c
ls *.rpm |rev |cut -d. -f2 |rev|sort |uniq -c

 

复制/etc/profile到/tmp/目录, 用查找替换命令删除/tmp/profile文件中的行首空白字符

sed -r 's@^[[:space:]]+@@g' /tmp/pfofile

 

 

复制/etc/rc.d/init.d/functions文件到tmp目录, 用查找替换命令为/tmp/funcitons的每行开头为空白字符的行当行首添加一个#号

%s@^[[:space:]]\+@#&@

 

 
如何设置tab缩进为4个字符?

set tabstop=4 临时设置:
vim /etc/vimr–>添加set tabstop=4  全局设置

vim ~/.vimrc 手动添加 set tabstop=4 当前用户

 

 

复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

cp /etc/rc.d/init.d/functions /tmp
%s@/etc/sysconfig/init@/var/log@g
sed 's@/etc/sysconfig/init@/var/log@g' /tmp/functions

 

删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号

:%s@^#\([[:space:]]\+\)@\1@g
set -r 's@^#([[:space:]]+)@\1@' /tmp/functions

 

 

 

 

 

 

原创文章,作者:dengjian,如若转载,请注明出处:http://www.178linux.com/32938

(0)
dengjiandengjian
上一篇 2016-08-11 09:37
下一篇 2016-08-11 09:37

相关推荐

  • shell中的if else语句与文件查找find浅析

    shell中的if else语句与文件查找find浅析    上篇文章中我们讲述了shell脚本编程的初步入门,其中讲到了shell编程中的顺序执行,顺序执行时一种简单的小脚本,如果在编辑脚本的时候遇到要做出条件判断执行的时候要怎么办呢?我们学习过if之后你会发现这会很简单。if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。 S…

    Linux干货 2016-08-16
  • Linux的安全控制访问模块之SElinux

    SElinux   1、Selinux介绍:Linux的一个强制访问控制安全模块,2000年以GNU GPL发布,Linux内核2.6版本集成在内核中。 DAC:自由访问控制,进程是无束缚的。 MAC:强制访问控制,策略的规则决定控制的严格程度(策略被用来定义被限制的进程能够使用那些资源[文件和端口]);进程的可以被限制的;默认情况下,没有允许的行…

    Linux干货 2016-09-19
  • 网络管理之基础知识

    Linux的网络配置 IP地址   它们可唯一标识 IP 网络中的每台设备  每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址  IP地址由两部分组成: • 网络ID: • 标识网络 • 每个网段分配一个网络ID • 主机 ID: • 标识单个主机 • 由组织分配给各设备   IPv4地址格式:点分十进制记法  …

    Linux干货 2016-09-10
  • N26-第三周博客

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只 显示一次即可。 [yang@localhost /]$ who | cut -d" " -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost tmp]# last | head -1 3、取出当前系…

    Linux干货 2017-02-08
  • 基于Keepalived构建高可用集群配置实例(HA Cluster)

    什么是集群 简单的讲集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。 关于更详细的高可用集群我们在后面再做详解…

    Linux干货 2016-11-03
  • vim编辑器和bash算术入门

    vim末行模式:       内建的命令行接口      (1)地址界定          :start_pos[,end_pos]          #: 特定的第#行,例如5即第5行; &nbsp…

    Linux干货 2016-12-23