文章目录
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-n1 /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-c4192.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
chmod442 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-R761 dir2
(13)删除dir1目录。
rm-rf dir1
(14)查找根目录下所有以“.conf”为后缀的文件。
sudofind / -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 /sharemount /dev/sdb1 /sharedf-h
- 设置自动挂载
nano /etc/fstab
ctrl+0 ctrl+x保存退出 - 查看挂载结果
mount-adf-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环境上,给出安装步骤以及测试结果。
- 下载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.tar
- 检查mariadb,如果存在卸载掉
rpm -qa|grep mariadbrpm-e--nodeps mariadb-libs
- 安装依赖
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.rpm
- 初始化并设置权限
mysqld --initialize--consolechown-R mysql:mysql /var/lib/mysql/
- 启动mysql和开机自启
systemctl start mysqldsystemctl enable mysqld
- 查看临时密码并修改为123456
cat /var/log/mysqld.log|grep localhostmysql -uroot-p
- 测试
show databases;
2.4 tomcat部署
- 从apache官网下载一个Linux版本的tomcat部署包(选择自己开发软件对应的版本),并部署到Linux环境上,并能够正常运行,给出部署步骤以及测试结果。
- 下载压缩包并上传到linux上https://tomcat.apache.org/download-90.cgi![image-20231224020951288](https://img-blog.csdnimg.cn/img_convert/0e4ebb85390ba6529656cedd1b2fe68c.png)
- 解压
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/![image-20231224021339633](https://img-blog.csdnimg.cn/img_convert/f5c0c9caf20981b2ef7fad2f0288d802.png)
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"--------------------------------------------------"
- 添加权限
chmod +x monitor.sh
- 配置任务调度
crontab-e
- 查看日志
cat log.txt~
版权归原作者 Sis7tin 所有, 如有侵权,请联系我们删除。