N90-第四周作业

一、通过网络配置命令,让主机可以上网。 ip, netmask, gateway, dns,主机名。相关命令总结,最终可以通过这些配置让你的主机上网

ifconfig命令:

可显示当前网络接口信息(可以使用ip  a来代替)

route命令:用于查看和管理路由

route   -n :查看路由

字段解释:

netstat命令:用于显示网络连接

例如:

hostname命令:修改主机名称,但是临时生效的,重启后就会消失。

hostnamectl 命令:写配置文件可永久生效

二、解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式。

常用配置:

TYPE接口类型
DEVICE设备名称
IPADDR指定IP地址
PREFIX网络ID数
GATEWAY默认网关
DNS1第一个DNS服务地址
DNS2第二个DNS服务地址
NAME

配置文件用到的设备

UUID对应设备的MAC地址

三、基于配置文件或命令完成bond0配置

1、先添加两块相同的网卡:仅主机模式

2、写配置文件

3、拉起网卡

4、测试

四、通过ifconfig命令结果找到ip地址

五、使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线

参考:

六、使用while read line和/etc/passwd,计算用户id总和

参考:

七、总结索引数组和关联数组,字符串处理,高级变量使用及示例

数组名和索引:
1、索引的编号从 0 开始,属于数值索引
2、索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash 4.0 版本之后开始支持
3、bash 的数组支持稀疏格式(索引不连续)

声明数组:

#普通数组可以不事先声明,直接使用  declare   -a   ARRAY_NAME

#关联数组必须先声明,再使用             declare   -A   ARRAY_NAME

declare   -a  :显示所有数组

范例:

引用所有数组:

数组的长度,既数组中元素的个数:

数组的所哟下标:

删除整个数组:

关联数组:

关联数组与普通数组区别:
1、关联数组要先声明,才能使用,普通数组可以不用声明
2、关联数组可以自定义下标,普通数组必须用数字

关联数组格式:declare   -A    NAME

字符串处理:

基于偏移量取字符串

基于模式取子串:

查找替换:

查找并删除:

字符大小写转换:

高级变量用法 - 有类型变量:
Shell 变量一般是无类型的,但是 bash Shell 提供了 declare typeset 两个命令用于指定变量的类型,两 个命令是等价的。

evel 命令:

eval 命令将会首先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实 现其功能的变量, 该命令对变量进行两次扫描

范例:可用eval二次展开

八、求10个随机数的最大值与最小值

参考:

九、使用递归调用,完成阶乘算法实现

十、解析进程和线程的区别? 解析进程的结构

进程

    进程是运行中的程序。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配

    和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。
    进程的组成:进程一般由程序、数据集合和进程控制块三部分组成。
    程序用于描述进程要完成的功能,是控制进程执行的指令集;
    数据集合是程序在执行时所需要的数据和工作区;
    程序控制块 (Program Control Block ,简称 PCB) ,包含进程的描述信息和控制信息,是进程存在的唯一 标志。
进程具有的特征:
动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
并发性:任何进程都可以同其他进程一起并发执行;
独立性:进程是系统进行资源分配和调度的一个独立单位;
结构性:进程由程序、数据和进程控制块三部分组成。

线程

    在早期的操作系统中并没有线程的概念,进程是能拥有资源和独立运行的最小单位,也是程序执行的最小单位。任务调度采用的是时间片轮转的抢占式调度方式,而进程是任务调度的最小单位,每个进程有 各自独立的一块内存,使得各个进程之间内存地址相互隔离。
    后来,随着计算机的发展,对 CPU 的要求越来越高,进程之间的切换开销较大,已经无法满足越来越复 杂的程序的要求了。于是就发明了线程。线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。
    一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间( 也就是所在进程的内存空间 )
    一个标准的线程由线程 ID 、当前指令指针 (PC) 、寄存器和堆栈组成。而进程由内存空间 ( 代码、数据、进程空间、打开的文件) 和一个或多个线程组成。

进程与线程的区别

    进程是操作系统分配资源的最小单位;
    线程是程序执行的 CPU 调度的最小单位;
    一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;
    进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间 ( 包括代码段、数据集、堆等 ) 及一些进程级的资源( 如打开文件和信号 ) ,某进程内的线程在其它进程不可见;
调度和切换:线程上下文切换比进程上下文切换要快得多。

十一、结合进程管理命令,说明进程各种状态

pstree 命令:可以用来显示进程的父子关系,以树状结构显示。

常用选项:

ps 命令:可以查看进程当前状态的快照,默认显示当前终端中的进程,Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中。

USER进程属主
PID进程ID

%CPU

CPU使用率
%MEM内存占用率
VSZ虚拟内存集,线性内存,虚拟内存
RSS常驻内存集,实际占用物理内存
TTY终端
STAT进程状态
START进程开始时间
TIME

累计分配给进程的cpu时长

COMMAND对应进程及参数

进程状态字段说明:

STAT字段说明
R运行中
S可中断的睡眠状态
D不可中断的睡眠状态
T停止态
Z僵尸态
+前台进程
I多线程进程
L内存分页并带锁
N低优先级进程
<高优先级进程
s子进程发起者

十二、说明IPC通信和RPC通信实现的方式

IPC通信:指设备内不同进程间的通信

1、管道,单向传输

2、套接字文件,双工通信

3、文件映射,将文件中的一段数据映射到物理内存,多个进程共享这个内存

4、共享内存

5、信号

6、对资源上锁,如果资源已被某进程锁住,则其他进程想使用这些资源,都将被堵塞,知道锁被打开。

7、信号量,一种计数器

RPC通信:指不同设备间的通信

1、PRC 远程调用

2、MQ 消息队列

十三、总结Linux,前台和后台作业的区别,并说明如何在前台和后台中进行状态转换

前台作业:

1、通过终端启动的进程,它会一直占用终端输入和输出,直到进程运行结束或暂停

2、当用户在终端中启动一个命令时,该命令默认会以前台作业的方式运行

3、在前台运行的作业会将输出直接显示在终端上,用户可以与作业进行交互

后台作业

1、后台作业是指在终端中启动的进程,但它不会占用终端的输入和输出,而是在后台静默运行

2、用户可以在命令末尾使用&符号将命令放到后台运行,或者使用CTRL+z暂停一个前台作业并将其放到后台运行。

让作业在后台运行:

1、运行中的作业:Ctrl+Z(将前台作业送往后台执行,不过使用该方式操作,该进程在后台处于暂停状态)

2、尚未启动的作业:COMMAND &(将前台作业送往后台执行)

查看终端所有作业:jobs

fg:

使用fg命令可以将后台作业调到前台来执行

语法格式:fg [[%]作业号] ,此处%可以省略

默认是不接作业号,默认是将执行带有+号的作业

bg:

使用bg命令可以将后台的作业继续运行

语法格式:bg [[%]作业号],此处%号可以省略

如果不接作业号,默认是将执行带有+号的作业

kill:(内部命令,可用来向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以 SIG开头(可省略),不区分大小写)可以终止指定的作业。

十四、实现定时任务,每日凌晨1点,删除指定文件

十五、实现定时任务每月月初对指定文件进行压缩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值