Linux运维学习笔记

今天在自学shell编程的过程中碰到一个题,是计算/etc/passwd文件中第10个用户和第20个用户的id号之和。在没有使用head和tail的情况下,学习了另一个命令。

sed命令:

#####
#!/bin/bash
#vesion 2.0
echo "Add userid.id11 and id22."
#Made by abc
echo "Creation-time 20160720"
echo "Time Now: $(date +%Y-%m-%d)"

ID_Num11=$(cut -d: -f3 /etc/passwd | sed -n 11p)
echo "ID_Num11=$ID_Num11."

ID_Num22=$(cut -d: -f3 /etc/passwd | sed -n 22p)
echo "ID_Num22=$ID_Num22."

ID_SUM=$[$ID_Num11+$ID_Num22]
echo "The id sum: $ID_SUM."
#####

此处用到选项是-n,安静模式,经过处理的行会被列出。

将cut之后的内容送给sed后,列出第十一行的内容,也就是第十一个用户的ID号。

第二个程序,写一个脚本计算/etc/rc.d/init.d/functions和/etc/inittab文件的空白行数之和。

#####
#!/bin/bash
#vesion 2.1
#made by GJy
echo "Creation-time 2016720"
echo "Function:Count empty line"
echo "Date Now: $(date +%Y-%m-%d)"

line_num1=$(grep -n ^#[[:space:]]*$ /etc/inittab | wc -l)
echo "The empty line number of /etc/inittab is $line_num1"

line_num2=$(grep -n ^[[:space:]]*$ /etc/rc.d/init.d/functions | wc -l)
echo "The empty line number of /etc/rc.d/init.d/functions is $line_num2"

emptyline_sum=$[$line_num1+$line_num2]
echo "The sum of empty line is $emptyline_sum."

echo "END"
#####

用到的是grep正则表达式,

grep -n   显示匹配行及行号;此处则为匹配到的空行传给wc命令,统计行数。

时间: 07-20

Linux运维学习笔记的相关文章

Linux运维学习笔记之一:运维的原则和学习方法

一直在用Linux,但从未系统学习过,从1月1日开始学习到7月16日结束,近七个月学习,让自已对Linux有了新的认识,老男孩老师的课真的不错,实战性很强.由于只能中午和晚上10点以后才有时间,所以所有的实验是在不同电脑上完成的,文中IP可能有点问题,但应该不会影响实验.同时,为了保证笔记的完整,在做笔记的时候,从网上也下载了些图片和内容. 第一章 运维的原则: 一.简单.易用.高效 二.修改前做备份 1.以便回滚 2.以便事后比对改过的内 三.最小化原则 1.安装系统最小化 2.开启服务最小化

​通过chkconfig设置linux开机自启动服务- 老男孩Linux运维学习笔记1

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处.作者信息和本声明.否则将追究法律责任. 更多内容请查看老男孩老师的书籍:<跟老男孩学习Linux运维:Web集群实战>或者运维课程. 首先查看当前开启的服务有哪些: 老男孩老师的经验告诉我们默认只需要开通下面5个必要服务即可: sshd |sysstat|crond|network|rsyslog 首先查看当前自启动的服务有哪些.由于工作环境基本上使用文本模式3级别,只需要查找3级别上开启的服务即可. 命令如下: [[email 

Linux运维学习笔记之二:常用命令3

101.paste :将多个文件按列队列合并 说明 paste命令用于将多个文件按照列队列进行合并 语法 paste (选项) 指定需要合并的文件列表 选项 -d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符: -s或--serial串列进行而非平行处理. 实例 paste inotify_client_100.log inotify_server_100.10g paste inotify_client_100.log inotify_serv

Linux运维学习笔记之二:常用命令2

71.passwd:修改用户密码 语法 passwd [参数]username 选项 -k  --keep-tokens :保留即将过期的用户在期满后仍能使用 -l  --lock :锁定用户无权更改其密码,只能root才能操作 -u --unlock :解除锁定 -S --status :查看用户状态 -d --delete :删除用户密码,只能root才能操作 -f --force :强制操作,只能root才能操作 -n mindays :修改密码的最小天数,也就是mindays天内不能再次

Linux运维学习笔记之二:常用命令1

第三章 常用命令 1.mkdir : 创建目录,make directorys,-p 递归创建目录 mkdir-p /a/b/c 2.ls  : -l(long)d(directory)显示目录或文件,全称list -l#列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等 -d#只查看目录 -F#会在不同类型的文件后面加上*/=>@|等符号,以便区分不同类型文件 -p#会在目录后面加上/,以便区分目录和文件 -h#人类可读模式,显示K.M.G -i#显示inode,也就是文件的ind

linux 运维学习

Linux 运维学习笔记(一) 一. 配置网卡 1. 通过root账户登录后,输入setup命令. 2. 选择第三项"网络配置" 3. 继续选择"网卡设置" 4. 选择第一张网卡 5. 因为已经选择使用DHCP获取IP地址,所以IP地址不需要配,但是可以配一下DNS,然后保存退出! 6. 重启网卡(有三种方法) (1).ifup eth0 (2).etc/init.d/network restart (3)service network restart 7. 配置网

Linux运维学习之 —— 搭建本地yum源

yum是RPM的前端工具,通过yum命令可以帮我们自动解决安装rpm包之间的依赖关系.下面是搭建本地yum仓库的步骤: 1.挂载光盘(光盘为CentOS-6.5-x86_64-bin-DVD2.iso)     mount /dev/cdrom1 /media ls一下/media这个目录,可以看到以下内容 2.创建本地文件夹,将Packages下的rpm包全部拷贝到本地文件夹     mount /dev/cdrom1 /media/     cp -r /media/Packages/* /

Linux运维学习-4——2016年7月26日

格式说明: 操作 概念 命令 说明及举例 四 du -sh /sys 查看文件.文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数据 蓝色:目录绿色:可执行文件浅蓝色:链接文件红色:压缩文件 创建-h文件名的文件,删除?访问?绝对路径 -:常规文件d:目录l:链接文件b:块设备(比如硬盘,有缓存)c:字符设备(不真实存在,没缓存) p:管道文件 例: 命令1 | 命令2 命令1的输出

Linux运维学习-2——2016年7月21日

格式说明: 操作 概念 命令 说明及举例 二 internet 因特网ethernet 以太网ctrl+alt+F1 图形界面ctrl+alt+F2-F6 字符界面 命令:who am i/who/who me i/tty/df/ifconfig/w/ halt 关机 reboot 重启 chvt 1-6 切换终端 init 3 关闭图形界面 init 5 打开图形界面 cp 复制 pwd 显示当前目录 lsblk 列出硬盘信息 id -u mg 查看用户ID,root为9,其他为普通用户,不加