Linux期末综合训练(软件开发方向)


风晓
风晓 2024-01-08 14:06:06 51489 赞同 0 反对 0
分类: 资源
Linux期末综合训练(软件开发方向)

Linux操作系统
1. 命令设计
1.1 管理员常用操作
(1)以“2023/12/17 23:59:59”的格式显示当前系统时间。

date +"%Y/%m/%d %H:%M:%S"


(2)查看当前登录在系统中所有用户的信息。

who

 

(3)查看Linux系统的发行版本信息。

cat /etc/*-release


(4)查看Linux系统中当前有哪些shell?

cat /etc/shells


(5)在Linux系统中安装cshell。

yum install csh

 


(6)查看当前Linux系统中创建的用户列表。

cat /etc/passwd


(7)创建一个新用户(用户名自拟,此处以user01为例),设置其shell为csh,创建其家目录/home/user01。

创建家目录/home/ypy
useradd -m -d /home/ypy -s /bin/csh ypy


(8)通过命令,修改user01用户的shell为bash。

chsh -s /bin/bash ypy


(9)给用户user01设置密码。

passwd ypy


(10)查看/etc/passwd文件的最后一行,查看新建用户的记录信息。

tail -n 1 /etc/passwd


(11)切换user01用户登录系统,看能否登录成功。

su – ypy


(12)修改用户user01的用户id为2000。

su – ypy

 


(13)将user01用户加入sudo附加组。

centOS 中是加入到wheel中

usermod -aG wheel ypy

 

(14)删除用户user01及其家目录。

userdel -r ypy


(15)查看当前Linux系统网口的ip地址配置。

ifconfig


(16)查看Linux系统默认网关信息。

ip route show


(17)测试下Linux主机与网关通信是否正常。

查找默认网关地址

ip route show default

 

测试通信

ping -c 4 192.168.37.2


(18)实时动态的监测系统CPU、内存等资源使用情况。

top


(19)以友好的方式重启下Linux操作系统。

reboot


1.2 普通用户常用操作
(1)切换到一个普通用户下,查看当前登录用户的信息。

whoami
w


(2)显示当前工作目录的完整路径。

pwd


(3)在用户主目录下面,建立空文件file1、file2、file3、file4、建立目录 dir1、dir2。

cd ~
touch file1 file2 file3 file4
mkdir dir1 dir2


(4)建立目录dir3 ,设置其权限为442。

mkdir dir3
chmod 442 dir3    


(5)建立dir1文件夹的链接,链接符合名自定义。

ln -s dir1 ypy


(6)统计下主目录下所有文件的数量。

ls -l | grep "^-" | wc -l


(7)在file1文件中写入自己的“专业,班级,姓名,学号”信息。

vim file1


(8)将file1文件内容重定向到file2文件中。

cat file1 > file2


(9)把file3文件复制到dir1目录下。

cp file3 dir1/

(10)用tar命令打包+压缩 dir1目录,备份名称自定。

tar -czvf backup_name.tar.gz dir1


(11)把file4文件移动到dir2目录下。

mv file4 dir2/


(12)更改dir2目录和目录下所有文件的权限为拥有者者具有全权,同组人具有读和写的权限,其他人只有执行的权限。

chmod -R 761 dir2


(13)删除dir1目录。

rm -rf dir1


(14)查找根目录下所有以“.conf”为后缀的文件。

sudo find / -type f -name "*.conf"


(15)使用正则表达式,查找test.txt文件中所有的QQ邮箱地址。

创建test.txt文件

 

正则表达式

grep -oP '[1-9][0-9]{4,}@qq\.com' test.txt


(16)查看用户执行命令的历史记录。

history


2. 综合应用
2.1 挂载分区
在这里的所有操作,建议拍摄快照,如果出现问题,直接回到快照前

 

在自己的操作环境上新增一个800M的磁盘,基于新增的磁盘划分一个256M的分区,将分区制作成能自动挂载的、可用的文件系统(挂载点/share)。给出操作步骤和相关截图(包括磁盘查看,挂载查看等操作)。
新增800m磁盘


查看磁盘

lsblk


创建新分区

fdisk /dev/sbd


查看分区

fdisk -l /dev/sdb


格式化新分区

mkfs.ext4 /dev/sdb1


创建挂载点

mkdir /share

挂载新分区

mkdir /share
mount /dev/sdb1 /share
df -h


设置自动挂载

nano /etc/fstab


ctrl+0 ctrl+x保存退出

查看挂载结果

mount -a
df -h



2.2 jdk安装
从Oracle官网下载一个Linux版本的JDK安装包(选择自己开发环境对应的版本),并部署到Linux环境上,给出安装步骤以及测试结果。
查询安装jdk版本

yum -y list java*


安装jdk

yum install -y java-1.8.0-openjdk.x86_64


查询是否安装成功

java -version


2.3 mysql安装
从MySQL(或者Oracle等)数据库官网下载一个Linux版本的数据库安装包(选择自己开发环境对应的版本),并部署到Linux环境上,给出安装步骤以及测试结果。
下载mysql

https://downloads.mysql.com/archives/community/

 

移动文件到虚拟机root用户下,并解压

tar -xvf mysql-8.1.0-1.el7.x86_64.rpm-bundle.tar

检查mariadb,如果存在卸载掉

rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs


安装依赖

rpm -ivh mysql-community-common-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.1.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.1.0-1.el7.x86_64.rpm


初始化并设置权限

mysqld --initialize --console
chown -R mysql:mysql /var/lib/mysql/


启动mysql和开机自启

systemctl start mysqld
systemctl enable mysqld

查看临时密码并修改为123456

cat /var/log/mysqld.log|grep localhost
mysql -uroot -p

 


测试

show databases;


2.4 tomcat部署
从apache官网下载一个Linux版本的tomcat部署包(选择自己开发软件对应的版本),并部署到Linux环境上,并能够正常运行,给出部署步骤以及测试结果。
下载压缩包并上传到linux上

https://tomcat.apache.org/download-90.cgi

 

解压

tar -zxvf apache-tomcat-9.0.84.tar.gz


启动

./startup.sh        #启动
./shutdown.sh    #停止  

 


2.5 上线项目
将自己编写的web程序部署到tomcat中,并能够正常访问,给出操作步骤以及测试结果。
idea中打包项目(先清除再打包)

 

 

如果打包遇到错误,severlet不存在之类的,需要添加依赖

pom.xml

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
        <scope>provided</scope>
      </dependency>

打包出来的war包,复制到linux的tomcat中的webapps目录下面

 


进入bin目录,启动tomcat

 

访问地址:http://localhost:8080/MyJavaWeb/

 

3. 程序设计
​ 请设计一个shell脚本,周期性采集Linux系统CPU、内存、磁盘开销的百分比,以及tomcat进程CPU和内存的开销情况。要求采集周期为1分钟。给出采集的shell脚本、周期性任务配置信息和采集的结果。

创建shell脚本

vim script.sh
1
#!/bin/bash

# 获取当前时间
timestamp=$(date +"%Y-%m-%d %T")

# 获取系统CPU使用率(取前5个核心的平均值)
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}' | awk '{sum+=$1} END {print sum/5}')

# 获取系统内存使用率
mem_usage=$(free | awk 'NR==2{printf "%.2f\n", $3*100/$2}')

# 获取磁盘使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}')

# 获取tomcat进程的PID
tomcat_pid=$(pgrep -f "catalina")

# 获取tomcat进程CPU使用率
tomcat_cpu_usage=$(top -p $tomcat_pid -bn1 | grep $tomcat_pid | awk '{print $9}')

# 获取tomcat进程内存使用率
tomcat_mem_usage=$(top -p $tomcat_pid -bn1 | grep $tomcat_pid | awk '{print $10}')

# 输出采集结果
echo "时间: $timestamp"
echo "系统CPU使用率: $cpu_usage%"
echo "系统内存使用率: $mem_usage%"
echo "磁盘使用率: $disk_usage"
echo "Tomcat进程CPU使用率: $tomcat_cpu_usage%"
echo "Tomcat进程内存使用率: $tomcat_mem_usage%"
echo "--------------------------------------------------"

 


添加权限

chmod +x monitor.sh

配置任务调度

crontab -e


查看日志

cat log.txt~

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  127
统信桌面专业版【全盘安装UOS系统】介绍  122
银河麒麟桌面操作系统安装佳能打印机驱动方法  114
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!