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
#!/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~
文章来源:https://www.toymoban.com/news/detail-763655.html
文章来源地址https://www.toymoban.com/news/detail-763655.html
到了这里,关于Linux期末综合训练(软件开发方向)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!