Linux模拟考试

注意,以下答案仅供参考

1、某CentOS系统空间不够,现加一块100G的硬盘(是系统的第二块硬盘),分为一个区99G,挂载点是/data,请写出从分区到挂载并使用的整个步骤及相关命令。

1.创建分区:

sudo fdisk /dev/sdb

2.在fdisk的交互式界面中,执行以下步骤:

输入n创建新分区。

选择p为主分区。

按提示输入分区编号(通常为1)。

直接按回车接受默认的起始扇区。

输入+99G来指定分区大小。

输入w保存并退出。

3.写分区表

partprobe

4.格式化分区:

sudo mkfs -t ext4 /dev/sdb1

5.创建挂载点:

sudo mkdir /data

6.挂载分区:

sudo mount /dev/sdb1 /data

2、创建一个主目录为/home/boss的用户boss,并为该用户设置密码为"123456"。

sudo useradd -d /home/boss -m boss
sudo echo 123456|passwd --stdin boss

3、编写一个shell脚本,从键盘读入一个成绩,并按优秀、良好、中等、及格、不及格输出成绩。

#/bin/bash
read -p "请输入学生成绩(0-100):" score
if [ $sum -gt 100 ] ;thenecho "输入有误,成绩大于100"
elif [ $sum -ge 90 ] ;thenecho "优秀"
elif [ $sum -ge 80 ] ;thenecho "良好"
elif [ $sum -ge 70 ] ;thenecho "中等"
elif [ $sum -ge 60 ] ;thenecho "及格"
elif [ $sum -ge 0 ] ;thenecho "不及格"
elif [ $sum -lt 0 ] ;thenecho "输入有误,成绩小于0"
fi

4、某公司开发部下载了linux内核源代码压缩包linux-4.10.1.tar.xz,写出从解压压缩包到编译新内核的过程和相应命令。

1.解压内核源代码:

xz -d linux-4.10.1.tar.xz

tar -xvf linux-4.10.1.tar

2.进入源代码目录:

cd linux-4.10.1

3.配置内核: 使用菜单驱动的配置工具:

make menuconfig

4.编译内核: 使用以下命令编译内核:

make -j $(nproc)

注释:-j $(nproc)参数允许make使用所有可用的CPU核心来加速编译过程。

5.编译内核模块:

sudo make modules

6.安装内核模块:

sudo make modules_install

7.安装内核:

sudo make install

8.更新引导加载程序:

sudo update-grub

9.重启系统并选择新编译的内核版本以启动

reboot

5、有一个进程loop出现了死循环,且按ctrl+c也无法终止,现要得到其进程号,请写出得到进程号的命令。

1.使用ps命令: ps aux | grep loop

2.使用top命令: 运行top命令,然后使用方向键或者f键来选择排序和显示的列,或者直接在top界面中查找loop进程。

3.使用pgrep或pidof命令:

pgrep loop

或者

pidof loop

6、有一个IP地址文件ip.txt,内容如下:

10.22.110.1

10.22.110.10

10.22.110.30

10.22.110.20

10.22.110.40

10.22.110.50

10.22.110.60

请写一个shell程序,统计出有多少台主机可ping通,多少台主机不可Ping通。

#!/bin/bash
n1=0
n2=0
while read line
doping $line -c 3if [ $? -eq 0 ]thenlet n1++elselet n2++fi
done<ip.txt
echo "there are $n1 machine reachable"
echo "there are $n2 machine unreachable"

7、请简要描述配置自定义网站目录(/home/wwwroot)的网站服务的步骤。包括创建目录和SELinux配置.

1.下载httpd(yum install httpd)2、测试默认网页 用linux下的firefox访问127.0.0.1(systemctl start httpd)

2.设置自己的网站目录,编写自己的首页

mkdir -p /home/wwwroot

echo “The New Web Directory”>/home/wwwroot/index.html

3.修改httpd配置文件

vi /etc/httpd/conf/httpd.conf

DocumentRoot /home/wwwroot

<Directory “/home/wwwroot”>

4.查看SELinux的安全上下文:

ls -Zd /var/www/html (默认的SELinux认可的httpd目录)

ls -Zd /home/wwwroot (用户修改的httpd目录)

5.设置目录/home/wwwroot及目录下文件的安全上下文为httpd_sys_content_t:

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

restorecon -Rv /home/wwwroot

6.配置个人用户主页功能

(1)修改配置:

vi /etc/httpd/conf.d/userdir.conf

<ifModule mod_userdir.c>

UserDir public_html

</IfModule>

<Directory “/home/*/public_html”>

AllowOverride FileInfo AuthConfig Limit Indexes

Options MultiVIews Indexes SymLinksIfOwnerMatch IncludesNoExec

Require method Get POST OPTIONS

</Directory>

(2)创建个人主页目录及首页

useradd -d /home/boss -m boss

echo “123456”|passwd --stdin boss

su - boss

mkdir public_html

echo “This is boss’s website”>public_html/index.html

chmod -Rf 0755 /home/boss

(3)设置访问个人主页所需要的SELinux文件安全上下文:

i)查看:getsebool -a|grep http

httpd_enable_homedirs–>off

ii)设置SELinux安全上下文:

setsebool -P httpd_enable_homedirs=on

(4)访问个人主页

127.0.0.1/~boss

(5)为个人主页设置访问密码

i)生成密码数据库

htpasswd -c /etc/httpd/passwd boss

New password:xxxx(输入用于个人主页验证的密码)

再输入一遍

ii)修改个人主页配置

vi /etc/httpd/conf.d/userdir.conf

<Directory "/home/*/public_html>

AllowOverride all

authuserfile “/etc/httpd/passwd” #(密码库目录)

authname “My privately website”

authtype basic

require user boss

抓包:tcpdump -i ens33 -s 0 ‘tcp and port 80’

查看端口:netstat -alnp|grep tcp

打开防火墙:firewall-config

7.测试网站

8、请用shell程序写出求1~100所有素数的和。

#!/bin/bash
for((i=1;i<=100;i++))
doif((i<=2))thenif((i==2))thenlet sum+=ifielseflag=0for((j=2;j<=i/2;j++))doif((i%j==0))thenflag=1breakfidoneif((flag==0))thenlet sum+=ififi
done
echo "all prime(1~100) sum is $sum"

9、一个机房管理中心管理着各类服务器,由于服务器分散部署在不同的地方,中心采用了ansible方式对各服务器进行管理。现在有两台web服务器,其IP地址分别为172.16.30.10和172.16.30.20。现要求在这两台web服务器上部署ngix,要求在管理中心主控机上用ansible编写playbook脚本完成这个任务。这个任务分为以下几个步骤:(1)下发nginx.repo文件到/etc/yum.repos.d/nginx.conf;(2)安装nginx;(3)下发nginx配置文件到/etc/nginx/nginx.conf;(4)下发网站主页index.html到/usr/share/nginx/html;(5)启动nginx.其中nginx.repo.j2和nginx.conf.j2以及index.html都存放在主机机的/srv/目录下。要求用YAML语法写出这个playbook脚本,脚本文件名为nginx.yml。

1.编辑文件hosts vi /etc/ansible/hosts

添加如下代码

[web_servers]
172.16.30.10
172.16.30.20

2.编写脚本 nginx.yml,内容如下

---
- name: Deploy Nginx on web servershosts: web_serversbecome: yestasks:- name: Copy nginx repository filecopy:src: /srv/nginx.repo.j2dest: /etc/yum.repos.d/nginx.repoowner: rootgroup: rootmode: 0644- name: Install Nginxyum:name: nginxstate: present- name: Copy Nginx configuration filetemplate:src: /srv/nginx.conf.j2dest: /etc/nginx/nginx.confowner: rootgroup: rootmode: 0644notify:- restart nginx- name: Copy index.html to Nginx rootcopy:src: /srv/index.htmldest: /usr/share/nginx/html/index.htmlowner: rootgroup: rootmode: 0644- name: Start Nginxservice:name: nginxstate: startedenabled: yeshandlers:- name: restart nginxservice:name: nginxstate: restarted

10、用户cs需要从/root目录复制目录/root/tools,并将该目录下的所有子目录和文件的所用者都改为用户cs,写出由root用户完成该任务的操作命令。

1.复制目录: 将/root/tools目录复制到/home/cs目录下:

cp -R /root/tools /home/cs/

2.更改所有者:

将复制后的目录及其所有子目录和文件的所有者改为用户cs:

chown -R cs:cs /home/cs/tools

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5 通信方式及应用

目录 postMessage APIWebSocketsServer-Sent Events (SSE)Fetch API / XMLHttpRequest (XHR)Web Workers & Service WorkersHTML5 提供了多种通信方式,使得浏览器中的Web应用能够实现页面间、窗口间、甚至与外部服务的有效通信。这些通信方式大大提升了Web应用的交互性和复…

Hsql每日一题 | day02

前言 就一直向前走吧&#xff0c;沿途的花终将绽放~ 题目&#xff1a;主播同时在线人数问题 如下为某直播平台主播开播及关播时间&#xff0c;根据该数据计算出平台最高峰同时在线的主播人数。 id stt edt 1001,2021-06-14 12:12:12,2021-06-14 18:1…

【错误解决】使用HuggingFaceInstructEmbeddings时的一个错误

起因&#xff1a;使用huggingface构建一个问答程序时出现的问题。 错误内容&#xff1a; 分析&#xff1a; 查看代码发现&#xff0c;HuggingFaceInstructEmbeddings和sentence-transformers模块版本不兼容导致。 可以明显看到方法参数不同。 解决&#xff1a; 安装sentenc…

json 读写 python

目录 这里对json保存做了格式封装 调用代码&#xff1a; python json原始保存是所有json保存一行&#xff0c; 这里对json保存做了格式封装 import numpy as np class MyEncoder(json.JSONEncoder):def default(self, obj):if isinstance(obj, np.integer):return int(obj)…

element-ui的Form 表单有些项的参数校验

项目场景&#xff1a; 提示&#xff1a;项目相关背景&#xff1a; 项目场景&#xff1a;有时候自己的Form 表单中的某几项引入的一些项不好去校验 这样的咋去校验呢&#xff1f; 解决方案&#xff1a; 提示&#xff1a;问题的具体解决方案&#xff1a; 例如&#xff1a;写一…

【pyspark速成专家】3_Spark之RDD编程1

目录 ​编辑 一&#xff0c;创建RDD 二&#xff0c;常用Action操作 三&#xff0c;常用Transformation操作 一&#xff0c;创建RDD 创建RDD主要有两种方式&#xff0c;一个是textFile加载本地或者集群文件系统中的数据&#xff0c; 第二个是用parallelize方法将Driver中的…

fortran77 初始化矩阵 打印矩阵 模版 备拷

1&#xff0c;源码 SUBROUTINE INIT_MATRIX(A, m, n, lda)DOUBLE PRECISION A(*)CALL SRAND(2024)DO i1, mDO j1, nA(i lda*(j-1)) RAND() RAND() C WRITE(*, (F8.4)) A(i)END DOEND DOENDSUBROUTINE PRINT_MATRIX(A, m, n, lda)DOUBLE PREC…

解释Python中的上下文管理器(context manager)

Python中的上下文管理器&#xff08;Context Manager&#xff09;是一种用于管理某些资源的对象&#xff0c;如文件、网络连接、数据库连接等。这些资源在使用完毕后需要进行清理操作&#xff0c;如关闭文件、断开连接等。通过上下文管理器&#xff0c;Python提供了一种优雅的方…

【Vue3】封装axios请求(cli和vite)

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 Vue 【Vue3】env环境变量的配置和使用&#xff08;区分cli和vite&#xff09; 文章目录 Vue前言一、常见用法二、vue3cli封装接口1..env配置2..dev(开…

ADC协议详解

文章目录 简介工作流程原理图时序图 优点与缺点 简介 模数转换器&#xff08;ADC&#xff0c;Analog-to-Digital Converter&#xff09;是一种将模拟信号转换为数字信号的电子设备。模拟信号通常表示物理测量的连续变化&#xff0c;如声音、温度、压力等&#xff0c;而数字信号…

codewars check_same_case 题解

题目 编写一个函数来检查两个给定的字符是否大小写相同。 如果任何字符不是字母&#xff0c;则返回-1如果两个字符大小写相同&#xff0c;则返回1如果两个字符都是字母且大小写不同&#xff0c;则返回0 例子 a并g返回1A并C返回1b并G返回0B并g返回00并?返回-1题解 1 此题主…

AI大模型与产品策略:产品经理的致胜之道

随着AI大模型的快速进化&#xff0c;其生态的构建&#xff0c;已经从C端过度到了B端。 作为产品经理&#xff0c;我们应该及时响应大趋势&#xff0c;在产品策略上融入AI大模型模块&#xff0c;深度挖掘AI大模型的应用价值&#xff0c;这才是作为PM在现阶段最有价值的地方。 …

想学接口测试,不知道那个工具适合?

引言&#xff1a; 接口测试在软件开发中扮演着至关重要的角色&#xff0c;它可以帮助我们验证系统的功能、性能和安全性。而选择适合的工具是进行接口测试的重要一步。本文将从零开始&#xff0c;为你详细介绍如何选择合适的工具&#xff0c;并提供规范的指导。 一、了解接口…

初识C语言——第二十八天

代码练习1&#xff1a; 用函数的方式实现9*9乘法表 void print_table(int n) {int i 0;int j 0;for (i 1; i< n; i){for (j 1; j< i; j){printf("%d*%d%-3d ", i, j, i * j);}printf("\n");}}int main() {int n 0;scanf("%d", &a…

shell :二进制安装docker

#!/bin/bash #设置字体颜色 function RedFont(){echo -e "\033[31mError: $1 \033[0m" }function GreenFont(){echo -e "\033[32mInfo: $1 \033[0m" }function YellowFont(){echo -e "\033[33mWarning: $1 \033[0m" }CURRENT_DIRpwd FILE_NAMEdo…

汉明码(海明码)的计算的规则

一.汉明码的由来 1.汉明码&#xff08;Hamming Code&#xff09;&#xff0c;是在电信领域的一种线性调试码&#xff0c;以发明者理查德卫斯里汉明的名字命名。汉明码在传输的消息流中插入验证码&#xff0c;当计算机存储或移动数据时&#xff0c;可能会产生数据位错误&#x…

【VUE】 如何关闭ESlint的自动修复功能

问题描述例如&#xff1a;原书写代码ESLint自动修复报错如下 方案一、在文件中添加屏蔽警告的代码html代码中JavaScript代码中 方案二、关闭ESLint的自动修复功能1、VSCode 扩展找到 ESLint 插件2、在设置中找到在 settings,json 中编辑3、将"autoFix": true改为&quo…

3.2 运维、运营和经营

第3章 信息技术服务知识 3.2 运维、运营和经营 3.2.1 运维 1、运维是运行维护的简称&#xff0c;是一种IT服务形态。2、在《信息技术服务分类与代码》&#xff08;GB/T29264-20l2&#xff09;中&#xff0c;对运行维护服务&#xff08;operation maintenance service&#x…

4.双指针+递归

一、双指针编程技巧 方法参数传递数组 将数组通过方法参数传递&#xff0c;方法操作的数组和main方法中的数组指向同一块内存区域&#xff0c;意味着方法操作数组&#xff0c;同时会引起main方法中数组的改变以引用的方式作为方法参数进行传递的 元素交换 定义临时变量temp&a…

第十二节 SpringBoot Starter 系列结束语

感谢阅读&#xff0c;到这里&#xff0c;本系列课程就结束了。 一、为什么选择 SpringBoot Starter SpringBoot 近年来已经成为 Java 应用的必备框架&#xff1b; 而 SpringBoot starter 模式已经成为各大中间件集成到 SpringBoot 应用的首选方式&#xff0c;通过引入 xxx-st…