shell 练习 - 第七周
1、 用shell实现传入进程pid, 查看对应进程/proc下CPU、内存指标
#!/bin/bash
read -p "Input PID Value: " pid
pid_exist=`ps aux|awk '{print $2}'|grep -w $pid`
if [ ! $pid_exist ];then
echo "$pid is not exist!!"
else
echo "Memory Usage :"
cat /proc/$pid/status | grep ^Vm
echo "Cpu Usage : "
echo "PID LWP %CPU :"
ps -eLo pid,lwp,pcpu | grep $pid
fi
2、 编写Nginx的systemd配置文件, 实现nginx进程开机启动
#安装nginx
yum install nginx
#编写脚本
vim /etc/systemd/system/nginx.service
#描述相关
[Unit]
Description=nginx
After=network.target
#脚本
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx reload
ExecStop=/usr/sbin/nginx quit
PrivateTmp=true
#依赖性
[Install]
WantedBy=multi-user.target
#启动该脚本
systemctl enable nginx.service
systemctl start nginx.service
3、 用awk实现查看TCP的连接状态
netstat -ant | awk '/^tcp/{++state[$NF]} END {for(key in state){print key,state[key]}}'
4、 说明对称、非对称加密算法的区别, 并举例
对称加密: 使用同一个密钥来对数据进行加密解密,常见的有DES,AES算法
优点:
执行效率高,速度快,适合加密大量的数据。
缺点:
密钥过多 (总不能一共就用一个密钥来进行加密吧)
密钥分发困难,传输过程不安全
无法确定数据来源(key不存在来源验证功能)
非对称加密:
非对称加密分为公钥与私钥,且必须是成对出现的。公钥与私钥不同机器应当都是不同的。key1 != key 2。常见的算法类型有SA,DSA
公钥:公开给所有人使用,用于解密数据; public key
私钥:自己留存,必须保证其私密性,用于加密数据;secret key
用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
优点:
带有数字签名功能,可以让接收方确认发送方的身份。因为私钥加密的数据,只有对应的公钥才能进行解密。
对称密钥交换方便安全,发送方用对方的公钥加密一个对称密钥后发送给对方即可。
适合加密较小的数据
缺点:
密钥过长,加密解密的效率相对对称加密低很多。
5、 用shell实现修改/etc/sysctl.conf文件中的参数并生效
#!/bin/bash
while true
do
read -p "you can input some sysctl settings,It will take effect immediately :" settings
format=$(echo $settings | grep -o "=" |wc -l )
if [ $format -eq "1" ];then
if [[ "$settings" =~ .+=.+ ]];then
setname=$(echo $settings | cut -d"=" -f1 )
exists=`cat /etc/sysctl.conf | grep $setname `
if [ "$exists" == "" ];then
cat exists >> /etc/sysctl.conf
sysctl -p
echo "增加配置成功"
else
sed -i -r "s@$exists@$settings@g" /etc/sysctl.conf
sysctl -p
echo "修改配置成功"
fi
else
echo "输入格式错误!";
fi
else
echo "输入格式错误!";
fi
done
shell 练习 - 第七周的更多相关文章
- Linux内核设计第七周 ——可执行程序的装载
Linux内核设计第七周 ——可执行程序的装载 第一部分 知识点总结 一.预处理.编译.链接和目标文件的格式 1.可执行程序是怎么得来的 编译链接的过程 预处理阶段 gcc -E -o XX.cpp ...
- LINUX内核分析第七周学习总结:可执行程序的装载
LINUX内核分析第七周学习总结:可执行程序的装载 韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/cours ...
- Linux内核分析——第七周学习笔记20135308
第七周 可执行程序的装载 一.预处理.编译.链接和目标文件的格式 1.可执行程序是怎么来的 C代码—>预处理—>汇编代码—>目标代码—>可执行文件 .asm汇编代码 .o目标码 ...
- 《Linux内核分析》第七周学习总结
<Linux内核分析>第七周学习总结 ——可执行程序的装载 姓名:王玮怡 学号:20135116 一.理论部分总结 (一)可执行程序的装载 ...
- linux 第七周 总结及实验
姬梦馨 原创作品 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 Linux内核如何装载和启动一 ...
- Linux 第七周实验 及总结
姬梦馨 原创作品 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 Linux内核如何装载和启动一 ...
- 《Linux内核分析》第七周学习笔记
<Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- Linux内核分析 第七周 可执行程序的装载
张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 第七 ...
- 20135327郭皓--Linux内核分析第七周 可执行程序的装载
第七周 可执行程序的装载 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 ...
随机推荐
- Nginx 最新版源码编译安装 包含常用模块作用及所需依赖
第一部分 Nginx最新版源码编译安装 1. 使用的模块 模块1:http_rewrite_module 基于正则匹配来实现重定向.依赖PCRE库,见依赖1 模块2:http_gzip_module ...
- 洛谷P3831 回家的路
题目背景 SHOI2012 D2T1 题目描述 \(2046\) 年 \(OI\) 城的城市轨道交通建设终于全部竣工,由于前期规划周密,建成后的轨道交通网络由\(2n\)条地铁线路构成,组成了一个\( ...
- MySQL创建用户+授权+备份
======权限管理====== 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作. 那么一般情况在公司 ...
- CF920F SUM and REPLACE 线段树
给你一个数组a_i,D(x)为x的约数个数 两种操作: 1.将[l,r]的a_i替换为D(a_i) 2.输出∑a_i ( l <= i <= r ) 当区间最大值<=2时,就不 ...
- 使用表达式目录树实现SqlDataReader到实体的映射
SqlDataReader映射实体,是ORM的基础功能,常见的实现方式有反射.表达式目录树和emit,这里要说的就是用表达式目录树生成实体的方法. 先分析下思路: 假设有个数据实体类,Student ...
- Netty(1-2)Discard Client
一.DiscardClientHandler import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelFuture; import ...
- NET Core 防止跨站请求
ASP.NET Core 防止跨站请求伪造(XSRF/CSRF)攻击 什么是反伪造攻击? 跨站点请求伪造(也称为XSRF或CSRF,发音为see-surf)是对Web托管应用程序的攻击,因为恶意网站可 ...
- Selenium~自动化测试来了
这段时候研究了一下Selenium,它是一个自动化测试工具,在asp.net平台可以通过nuget去安装,同时支持多种开发语言,之前支持java,而现在也支持C#了,所以我们通过nuget就可以安装了 ...
- 【异常】SQL Server blocked access to STATEMENT OpenRowset/OpenDatasource
异常错误提示:SQL Server blocked access to STATEMENT OpenRowset/OpenDatasource of component Ad Hoc Distrib ...
- NHibernate中创建User类报错问题
前两天刚开始学习NHibernate架构,照着前辈的例子打了一遍运行之后没问题,然后自己创建了一个User的Model发现一运行就报User附近有错误,然后就检查,类写的没错用了virtual,Use ...