【shell 脚本编程】一键搭建 LAMP,Web 应用程序平台,你值得拥有
创始人
2024-06-02 21:05:57
0

文章目录

  • 👹 关于作者
  • 一、前言🙊
  • 二、脚本中方法说明 👑
  • 三、LAMP shell源码 ✈
  • ✊ 最后

在这里插入图片描述

👹 关于作者


大家好,我是秋意临。

😈 CSDN作者主页

  • 😎 博客主页

👿 简介

  • 👻 普通本科在读;
  • 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛” ,斩获多项奖项荣誉证书;
  • 🔥 各个平台,秋意临 账号创作者;
  • 🔥 云社区 创建者;
记得收藏+关注免得迷了路。

欢迎加入云社区


一、前言🙊

今天给大家介绍一个 Web 应用程序平台,LAMP 架构,这个架构放在今天为止也是非常热门的架构。

这里我们将使用 shell 脚本实现具有以下三大功能: 👖

  • 一键搭建 LAMP 环境
  • 一键删除 LAMP 环境
  • exit 退出脚本

shell 脚本细节: 👖

  • 1、基础环境配置(前提条件)
  • 2、安装 \ 卸载 apache (web 服务器)
  • 3、安装 \ 卸载 mariadb (数据库)
  • 4、安装 \ 卸载 php (计算机编程语言)
  • 5、阶段成功信息写入 log 日志文件中( lamp_success.log、lamp_error.log )

ps:php 能直接嵌入 html 中,与 html 混编,目的主要是 web 开发人员快速编写动态生成的 web 页面。

二、脚本中方法说明 👑

这个脚本我们将创建7个方法

1、prerequisite(基础环境配置)

  • 关闭和永久关闭防火墙、
  • 关闭 SELINUX、
  • 配置阿里 yum 源

2、install_apache(安装 apache 服务器)

  • 判断 apache 是否安装
  • 安装 apache
  • 启动 apache
  • 检测 apache 服务端口和服务状态
  • curl 访问 apache

3、install_mariadb(安装 maraidb 数据库)

  • 判断 maraidb 是否安装
  • 安装 mariadb
  • 启动 mariadb
  • 检测 mariadb 服务端口和服务状态
  • 初始化数据库
  • 测试 mariadb 是否能使用

4、install_php(安装 php 环境)

  • 判断 php 是否安装
  • 安装 php
  • 重新启动 httpd
  • 判断 info.php 文件是否存在
  • curl 访问 php

5、remove_lamp(删除 LAMP 环境)

  • remove apache:判断是否安装 apache server、删除 http
  • remove mariadb:判断是否安装 maraidb、删除 mariadb
  • remove php:判断 php 是否安装、删除 php

6、lamp_log(创建日志文件)

  • 判断 lamp 目录是否存在、创建 lamp 目录

7、main(脚本入口)

  • 脚本使用说明
  • 判断是否输入的是数字
  • 判断用户输入的值是否匹配,安装,移除
  • 依次调用上面的方法

三、LAMP shell源码 ✈

将阶段成功信息写入 log 日志文件中

  • 1:代表标准输出
  • 2:代表错误输出

下列方法是将 1 标准输出写入一个文件,2 错误输出写入一个文件 😾

1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log

LAMP shell源码

#!/bin/bash####################
##### 前提条件 #####
####################prerequisite(){echo "`date '+%Y-%m-%d %H:%M:%S'` 	============== Start init config  ==============" 1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log# 防火墙状态、SELINUX 状态FIREWALLD_STATUS=`systemctl status firewalld | grep loaded | wc -l`SELINUX_STATUS=$(getenforce)# 关闭和永久关闭防火墙if [ ${FIREWALLD_STATUS} -ne 1 ]thensystemctl stop firewalld && systemctl disable firewalldif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Firewalld successfully ok" 1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelse echo "`date '+%Y-%m-%d %H:%M:%S'` 	Firewalld close failed..."  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 1fi fi# 关闭 SELINUXif [ ${SELINUX_STATUS} -ne Disabled ]thensetenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Selinux successfully ok" 1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Selinux close failed..."  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 2fifi# 配置阿里 yum 源if [ -f /etc/yum.repos.d/CentOS-Base.repo ] && [ -f /etc/yum.repos.d/epel.repo ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Centos_7 yum config successfully ok"  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Config centos_7 yum string..."  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logcurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &&\curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repoif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Yum config successfully ok"  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Yum config failed..."  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 3fi# 清除缓存 & 建立缓存yum clean all ; yum makecachefiecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== Init config successfully =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log
}##########################
##### Install Apache #####
##########################install_apache(){# Apache 版本控制APACHE_VERSION=2.4.6# 判断 apache 是否安装APACHE_INSTALLED=$(rpm -aq | grep httpd-${APACHE_VERSION} | wc -l)if [ ${APACHE_INSTALLED} -ne 1  ]thenecho "`date '+%Y-%m-%d %H:%M:%S'`		============== Start install apache server =============="   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log# install apacheyum install -y httpd-${APACHE_VERSION}# 判断是否安装成功,安装成功就启动,失败就退出if [ $? -eq 0 ]thensleep 3echo "`date '+%Y-%m-%d %H:%M:%S'` 	Apache server install successfully ok"   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log# 启动 apache 并设置开机自启systemctl enable httpd ; systemctl start httpd# 判断是否启动成功if [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start apache server successfully ok"   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start apache server failed..."    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 4fielseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Install apache server failed..."    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 5fi# 检测 apache 服务端口和服务状态sleep 3APACHE_STATUS=$(systemctl status httpd | grep running | wc -l)APACHE_PORT=$(netstat -ntplu | grep 80 | wc -l)if [ ${APACHE_PORT} -eq 1 ] && [ ${APACHE_STATUS} -eq 1 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'`	Apache port exists or status ok"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelse  echo "`date '+%Y-%m-%d %H:%M:%S'`	 Apache port no eists or status no ok..."    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 6fi# 判断 index.html 文件是否存在if [ ! -f /var/www/html/index.html ]thenecho hello,world > /var/www/html/index.htmlsleep 2fi# curl 访问 apachecurl -I 127.0.0.1 | grep "200 OK"if [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'`	 Apache server 访问 successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Apache server 访问 failed..."    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 7fiecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== apache server successfully =============="   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== apache server installed =============="   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi
}###########################
##### Install Mariadb #####
##########################install_mariadb(){# mariadb 版本控制MARIADB_VERSION=5.5.68# mariadb passwordMARIADB_PASSWORD=000000# 判断 maraidb 是否安装MARIADB_INSTALLED=$(rpm -qa | grep mariadb-${MARIADB_VERSION} | wc -l)MARIADB_SERVER_INSTALLED=$(rpm -qa | grep mariadb-server-${MARIADB_VERSION} | wc -l)#MARIADB_LIBS_INSTALLD=$(rpm -qa | grep mariadb-libs-${MARIADB_VERSION} | wc -l)MARIADB_DEVEL_INSTALLED=$(rpm -qa | grep mariadb-devel-${MARIADB_VERSION} | wc -l)if [ ${MARIADB_INSTALLED} -ne 1 ] && [ ${MARIADB_SERVER_INSTALLED} -ne 1 ] && [ ${MARIADB_DEVEL_INSTALLED} -ne 1 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== Start install mariadb server  =============="# 安装 mariadbyum install mariadb-${MARIADB_VERSION} mariadb-server-${MARIADB_VERSION} mariadb-libs-${MARIADB_VERSION} mariadb-devel-${MARIADB_VERSION} expect  -yif [ $? -eq 0 ]then echo "`date '+%Y-%m-%d %H:%M:%S'` 		Install mariadb server successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logsleep 3# 启动 mariadbsystemctl enable mariadb ;  systemctl start mariadbif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start mariadb server successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start mariadb server failed..."   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 8fi# 检测 mariadb 服务端口和服务状态MARIADB_PORT=$(netstat -ntplu | grep 3306 | wc -l)MARIADB_STATUS=$(systemctl status mariadb | grep running | wc -l)if [ ${MARIADB_PORT} -eq 1 ] && [ ${MARIADB_STATUS} -eq 1 ] thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Mariadb server port exists or status ok"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Mpache server port no exists or status no ok... "   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 9fi# 初始化数据库expect -c "spawn mysql_secure_installationexpect \"Enter current password for root (enter for none):\"send \"\r\"expect \"Set root password?\"send \"y\r\"  expect \"New password:\"send \"${MARIADB_PASSWORD}\r\"expect \"Re-enter new password:\"send \"${MARIADB_PASSWORD}\r\"expect \"Remove anonymous users?\"send \"y\r\"expect \"Disallow root login remotely?\"send \"n\r\"expect \"Remove test database and access to it?\"send \"y\r\"expect \"Reload privilege tables now?\"send \"y\r\""sleep 2# 测试 mariadb 是否能使用mysql -uroot -p${MARIADB_PASSWORD} -e "show databases;"if [ $? -eq 0 ] thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== Mariadb server init successfully =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelse echo "`date '+%Y-%m-%d %H:%M:%S'` 	============== Mariadb server init failed... =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 10fiecho "`date '+%Y-%m-%d %H:%M:%S'` 		============== over install mariadb server =============="   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelse echo "`date '+%Y-%m-%d %H:%M:%S'` 		Install mariadb failed"   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 10fielseecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== mariadb server installed =============="  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi
}#########################
##### Install php #######
#########################install_php(){# PHP 版本控制PHP_VERSION=5.4.16# 判断 php 是否安装PHP_INSTALLED=$(rpm -qa |grep "php-5.4.16" | wc -l)if [ ${PHP_INSTALLED} -ne 1 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== Start install php =============="   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log# Install php  yum install php-${PHP_VERSION} php-devel-${PHP_VERSION} php-mysql-${PHP_VERSION} php-gd-${PHP_VERSION} php-imap-${PHP_VERSION} php-ldap-${PHP_VERSION} php-odbc-${PHP_VERSION} php-pear php-xml-${PHP_VERSION} php-xmlrpc-${PHP_VERSION} -yif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Install php server successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logsleep 3# 重新启动 httpdsystemctl restart httpdif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Restart apache server successfully"   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Restart apache server failed..."   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 11fi# 判断 info.php 文件是否存在if [ ! -f /var/www/html/info.php ]thencat > /var/www/html/info.php << EOF
EOFsleep 2fi# curl 访问 phpcurl -I 127.0.0.1/info.php | grep "200 OK"if [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Php server 访问 successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	Php server 访问 failed..."   1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 12fiecho "`date '+%Y-%m-%d %H:%M:%S'` 		============== over install php =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'`	 	Install php server failed"  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 13fi elseecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== php server installed =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi
}remove_lamp(){########################### remove apache ############################ 首先判断是否安装 apache serverAPACHE_VERSION=2.4.6APACHE_INSTALLED=$(rpm -aq | grep httpd-${APACHE_VERSION} | wc -l)if [ ${APACHE_INSTALLED} -eq 1  ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start remove apache server"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.log# 删除httpREMOVE_HTTPD=`rpm -qa |grep http`yum remove -y $REMOVE_HTTPD && rm -rf /var/www  && rm -rf /var/log/httpdif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 		Apache server remove successfully ok!"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 		Apache server remove failed"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 1fielseecho "`date '+%Y-%m-%d %H:%M:%S'` 	no install apache"  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi############################ remove mariadb ############################# maraidb 是否安装 MARIADB_VERSION=5.5.68MARIADB_INSTALLED=$(rpm -qa | grep mariadb-${MARIADB_VERSION} | wc -l)MARIADB_SERVER_INSTALLED=$(rpm -qa | grep mariadb-server-${MARIADB_VERSION} | wc -l)#MARIADB_LIBS_INSTALLD=$(rpm -qa | grep mariadb-libs-${MARIADB_VERSION} | wc -l)MARIADB_DEVEL_INSTALLED=$(rpm -qa | grep mariadb-devel-${MARIADB_VERSION} | wc -l)#判断是否安装 maraidbif [ ${MARIADB_INSTALLED} -eq 1 ] && [ ${MARIADB_SERVER_INSTALLED} -eq 1 ] && [ ${MARIADB_DEVEL_INSTALLED} -eq 1 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	Start remove mariadb server"     1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logyum remove mariadb-${MARIADB_VERSION} mariadb-server-${MARIADB_VERSION} mariadb-libs-${MARIADB_VERSION} mariadb-devel-${MARIADB_VERSION} expect  -y && rm -rf  /etc/my.cnf* && rm -rf /var/lib/mysqlif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 		Remove mariadb server successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 		Remove mariadb server failed"  1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 1fielseecho "`date '+%Y-%m-%d %H:%M:%S'` 	no install mariadb"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi######################## remove php ########################PHP_VERSION=5.4.16# 判断 php 是否安装#PHP_INSTALLED=$(rpm -qa |grep "php-5.4.16" | wc -l)php -vif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	============== Start remove php =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logyum remove php-${PHP_VERSION} php-devel-${PHP_VERSION} php-mysql-${PHP_VERSION} php-gd-${PHP_VERSION} php-imap-${PHP_VERSION} php-ldap-${PHP_VERSION} php-odbc-${PHP_VERSION} php-pear php-xml-${PHP_VERSION} php-xmlrpc-${PHP_VERSION} php-common-${PHP_VERSION} -yif [ $? -eq 0 ]thenecho "`date '+%Y-%m-%d %H:%M:%S'` 	remove php server successfully"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelseecho "`date '+%Y-%m-%d %H:%M:%S'` 	remove php server failed..."    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 11fielseecho "`date '+%Y-%m-%d %H:%M:%S'`         no install php"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logfi}# lamp log create
lamp_log(){# 判断 lamp 目录是否存在if [ ! -e /var/log/lamp ]thenecho "`date '+%Y-%m-%d %H:%M:%S'`     create dir_lamp and file_lamp    " 1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logmkdir /var/log/lamp && touch /var/log/lamp/lamp_success.log && touch /var/log/lamp/lamp_error.logfiif [ $? -ne 0 ]then echo "log file create failed"exit 2fi
}# 主方法,脚本入口
main(){#脚本使用说明echo "=======请选择======="echo "1.install LAMP   【1】"echo "2.remove LAMP    【2】"echo "3.exit           【3】"read -p "输入对应数字即可:" LAMP# 判断是否输入的是数字expr ${LAMP} + 1if [ $? -eq 0  ]thenecho "你输入的数字是:${LAMP}"elseecho "你输入的数字是:${LAMP},输入不合法,请输入[1|2|3]"exit 2fi# 判断用户输入的值是否匹配,安装,移除if [ ${LAMP}  -eq 1 ]then# 调用方法lamp_logsleep 2prerequisitesleep 3install_apachesleep 3install_mariadbsleep 3install_phpsleep 1echo "`date '+%Y-%m-%d %H:%M:%S'` 	============== LAMP install successfully! =============="     1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelif [ ${LAMP} -eq 2 ]thenlamp_logremove_lamp       echo "`date '+%Y-%m-%d %H:%M:%S'` 	============== LAMP remove successfully! =============="    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logelif [ ${LAMP} -eq 3 ] thenecho "`date '+%Y-%m-%d %H:%M:%S'`	 exit install lamp"    1>>/var/log/lamp/lamp_success.log 2>>/var/log/lamp/lamp_error.logexit 1elseecho "输入不合法,请输入[1|2|3]"    fi}# 调用主方法
main

✊ 最后


👏 我是秋意临,欢迎大家一键三连、加入云社区

👋 我们下期再见(⊙o⊙)!!!


相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...