0


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

文章目录

Linux操作系统

1. 命令设计

1.1 管理员常用操作

(1)以“2023/12/17 23:59:59”的格式显示当前系统时间。

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

image-20231224014744772

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

who

image-20231224014751404

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

cat /etc/*-release

image-20231224014756015

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

cat /etc/shells

image-20231224014800067

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

yum install csh

image-20231224014828869

image-20231224014834052

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

cat /etc/passwd

image-20231224014843976

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

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

image-20231224014848782

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

chsh -s /bin/bash ypy

image-20231224014852776

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

passwd ypy

image-20231224014856694

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

tail-n1 /etc/passwd

image-20231224014900400

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

su – ypy

image-20231224014903856

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

su – ypy

image-20231224014908625

image-20231224014911821

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

centOS 中是加入到wheel中

usermod-aG wheel ypy

image-20231224014916315

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

userdel-r ypy

image-20231224014920272

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

ifconfig

image-20231224014925477

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

ip route show

image-20231224014929562

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

  • 查找默认网关地址ip route show defaultimage-20231224014935736
  • 测试通信ping-c4192.168.37.2image-20231224014939450

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

top

image-20231224014942897

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

reboot

image-20231224014946876

1.2 普通用户常用操作

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

whoami
w

image-20231224014953446

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

pwd

image-20231224014957424

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

cd ~
touch file1 file2 file3 file4
mkdir dir1 dir2

image-20231224015000826

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

mkdir dir3
chmod442 dir3    

image-20231224015004955

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

ln-s dir1 ypy

image-20231224015008692

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

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

image-20231224015011860

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

vim file1

image-20231224015014761

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

cat file1 > file2

image-20231224015025455

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

cp file3 dir1/

image-20231224015028072

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

tar-czvf backup_name.tar.gz dir1

image-20231224015031623

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

mv file4 dir2/

image-20231224015036314

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

chmod-R761 dir2

image-20231224015040939

(13)删除dir1目录。

rm-rf dir1

image-20231224015043695

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

sudofind / -type f -name"*.conf"

image-20231224015048374

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

  • 创建test.txt文件image-20231224015053800
  • 正则表达式grep-oP'[1-9][0-9]{4,}@qq\.com' test.txtimage-20231224015110553

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

history

image-20231224015115903

2. 综合应用

2.1 挂载分区

在这里的所有操作,建议拍摄快照,如果出现问题,直接回到快照前

image-20231224015306602

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

image-20231224015418007

  • 查看磁盘lsblkimage-20231224015457364
  • 创建新分区fdisk /dev/sbdimage-20231224015520036
  • 查看分区fdisk-l /dev/sdbimage-20231224015551072
  • 格式化新分区mkfs.ext4 /dev/sdb1image-20231224015651351
  • 创建挂载点mkdir /share
  • 挂载新分区mkdir /sharemount /dev/sdb1 /sharedf-himage-20231224015824005
  • 设置自动挂载nano /etc/fstabimage-20231224015843921ctrl+0 ctrl+x保存退出
  • 查看挂载结果mount-adf-himage-20231224015935348

2.2 jdk安装

  1. 从Oracle官网下载一个Linux版本的JDK安装包(选择自己开发环境对应的版本),并部署到Linux环境上,给出安装步骤以及测试结果。
  • 查询安装jdk版本yum -y list java*image-20231224020355477
  • 安装jdkyum install-y java-1.8.0-openjdk.x86_64image-20231224020417187
  • 查询是否安装成功java-versionimage-20231224020441688

2.3 mysql安装

  1. 从MySQL(或者Oracle等)数据库官网下载一个Linux版本的数据库安装包(选择自己开发环境对应的版本),并部署到Linux环境上,给出安装步骤以及测试结果。
  • 下载mysqlhttps://downloads.mysql.com/archives/community/![image-20231224020628411](https://img-blog.csdnimg.cn/img_convert/8e0ad4cc76b17f2a9bf577935256184a.png)
  • 移动文件到虚拟机root用户下,并解压tar-xvf mysql-8.1.0-1.el7.x86_64.rpm-bundle.tarimage-20231224020642966
  • 检查mariadb,如果存在卸载掉rpm -qa|grep mariadbrpm-e--nodeps mariadb-libsimage-20231224020705656
  • 安装依赖rpm-ivh mysql-community-common-8.1.0-1.el7.x86_64.rpmrpm-ivh mysql-community-client-plugins-8.1.0-1.el7.x86_64.rpmrpm-ivh mysql-community-libs-8.1.0-1.el7.x86_64.rpmrpm-ivh mysql-community-client-8.1.0-1.el7.x86_64.rpmrpm-ivh mysql-community-icu-data-files-8.1.0-1.el7.x86_64.rpmrpm-ivh mysql-community-server-8.1.0-1.el7.x86_64.rpmimage-20231224020731766
  • 初始化并设置权限mysqld --initialize--consolechown-R mysql:mysql /var/lib/mysql/image-20231224020749586
  • 启动mysql和开机自启systemctl start mysqldsystemctl enable mysqld
  • 查看临时密码并修改为123456cat /var/log/mysqld.log|grep localhostmysql -uroot-pimage-20231224020815175

image-20231224020826454

  • 测试show databases;image-20231224020845839

2.4 tomcat部署

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

image-20231224021035034

2.5 上线项目

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

如果打包遇到错误,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目录下面

image-20231224021256846

image-20231224021302062

3. 程序设计

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

  • 创建shell脚本vim script.sh``````#!/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进程的PIDtomcat_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"--------------------------------------------------"image-20231224021424309
  • 添加权限chmod +x monitor.sh
  • 配置任务调度crontab-eimage-20231224021531969
  • 查看日志cat log.txt~image-20231224021535951image-20231224021539754
标签: linux 学习 运维

本文转载自: https://blog.csdn.net/weixin_46290752/article/details/135177680
版权归原作者 Sis7tin 所有, 如有侵权,请联系我们删除。

“Linux期末综合训练(软件开发方向)”的评论:

还没有评论