01 2022 档案
摘要:练习6.25:编写一个main函数,令其接受两个实参。把实参的内容连接成一个string对象并输出出来。 代码: //text.cpp #include<iostream> using namespace std; int main(int argc, char *argv[]){ string s
阅读全文
摘要:目录case后需要手动breakswitch内的变量定义变量没有定义在语句块内变量定义在语句块内表述多情况时不能用逗号 case后需要手动break switch(i){ case 1: 语句1; break; case 2: 语句2; break; default: 语句3; break; } 上
阅读全文
摘要:static_cast 1.用来改变基本类型:一般是高精度转低精度 显示地告诉程序阅读者和编译器,不考虑高精度想低精度转换时造成的精度损失 #include<iostream> using namespace std; int main(){ double d = 2.1; int i = 6; i
阅读全文
摘要:整型在运算时小类型会自动转换为大类型【保证精度】 右值给左值赋值时,会被转换为左值类型 int i; long long j; int res = i+j; //i转换为long long,i+j的类型是long long,给res初始化时又转为int 有符号与无符号整型预算时,谁的类型大,容得下结
阅读全文
摘要:4.1.1 基本概念 函数观点 操作符可视为一个函数,用参数,副作用,返回值来分析它 如cout<<i<<j<<endl中>>操作符 参数:ostream对象和值(value) 副作用:将值输入到ostream中,这里是输入到标准输出(屏幕)中 返回值:返回左边的ostream对象,继续与右边的值结
阅读全文
摘要:遍历二维数组的三种方式 #include<iostream> #include<string> #include<vector> using namespace std; int main(){ //初始化二维数组 int map[3][4] = {}; for(int cow = 0; cow <
阅读全文
摘要:3.4.0 为什么要有迭代器 为了遍历与处理容器(container)中的数据元素 因为不是所有容器向string和vector一样支持下标,但每种容器都支持用迭代器来实现遍历和随机访问 3.4.1使用迭代器 迭代器使用与指针类似,都指向一个对象,并都用解引用符*来取出指向的对象 迭代器指向容器中的
阅读全文
摘要:3.3.0 模板(Template) vector说明 vector是含有相同类型的对象的集合(a collection of objects which have the same type) 引用(reference)不是对象,所以无法建立引用的vector vector本身不是类,而是一个类模
阅读全文
摘要:3.2.1 定义和初始化 直接初始化(direct initialization):直接调用对应的构造函数,对于string而言,不带“=”即为直接初始化,主要就是列表初始化(间2-2-1),可用圆括号或者大括号 拷贝初始化(copy initialization):间接调用构造函数(一般是拷贝构造
阅读全文
摘要:目录头文件怎么起作用避免头文件被重复引用避免头文件被重复引用的方法:条件编译1. 给每个头文件添加一个预编译变量(preprocessor variable)作为标记(Label)2. 使用头文件保护符:ifdef/ifndef3. 关于使用条件编译的必要性的探讨总结:创建自己的头文件 建议直接看总
阅读全文
摘要:2.5.1 类型别名(Type Alias) typedef 语法 typedef double wages; //wages 是 double的别名 typedef char * pstring; //ptring 是 char *的别名 注意点:const修饰符修饰指针本身 const pstr
阅读全文
摘要:建议直接看总结和比较,如有需要再看2.4.1—2.4.3了解细节 2.4.1 const之于基本类型(base type) 含义 以const int i = 43为例 i的值不可修改 因此在定义i时==必须初始化== 任何试图修改i的操作都会报错 const int i = get_size();
阅读全文
摘要:2.2.1 变量定义:列表初始化(list initialization) 定义一个整型i并初始化为0 #include<iostream> using namespace std; int main(){ //下面四种初始化方式都可以 int i = 0; int i = {0}; //c++新特
阅读全文
摘要:2.3.1 引用(References) 此处讨论的引用为左值引用(lvalue reference) 引用就是对象的别名【引用本身不是对象,不分配内存空间】 对引用的操作会作用在它绑定的对象上 引用不能重新绑定对象,所有在定义引用时必须初始化 #include<iostream> using na
阅读全文
摘要:2.1.1 算术类型(Arithmetic Types) 概览 分类 整型与浮点型 整型: short\int\long\long long\char 浮点型: float\double 有符号和无符号 表示范围有差异,如 char: -128-127; unchar: 0-255 存储 单位转换
阅读全文
摘要:程序的编译与执行 编译环境 IDE 命令行 程序的编译 g++ filename : 不指定生成的执行文件名,默认命名为 “a.out” g++ -o exename filename : 指定生成的执行文件名 程序的执行 filename ./exename : use relative path
阅读全文
摘要:练习一 分析日志t.log(访问量),将各个ip地址截取,并统计出现次数,并按从大到小排序(腾讯) 每行格式:http: //192.168.200.30/index1.html cat t.txt | cut -d '/' -f 3 | sort | uniq -c | sort -nr 统计连接
阅读全文
摘要:基本介绍 日志轮替就是把旧的日志文件移动并改名,同时建立新的空日志文件,当旧日志文件超出保存的范围之后,就会进行删除 用以清理存储空间以及不必要数据 轮替文件的命名 centos7使用logrotate进行日志轮替管理,要想改变日志轮替文件名字,通过/etc/logrotate.conf配置文件中“
阅读全文
摘要:基本介绍 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件。包括用户的登录信息、系统的启动信息、系统的安全信息、邮件相关信息、各种服务相关信息等。 日志对于安全来说也很重要。它记录了系统每天发生的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。 可以这样理解 日志是
阅读全文
摘要:需求分析 每天凌晨2:30备份数据库hspedu到/data/backup/db 备份开始和备份结束能够给出相应的提示信息 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2021-03-12_230201.tar.gz 在备份的同时,检查是否有10天前备份的数据库文件,如果
阅读全文
摘要:简要介绍 shell编程和其它编程语言一样,有系统函数,也可以自定义函数。系统函数中,我们这里就介绍两个。 系统函数 basename 基本语法: basename pathname [suffix] pathname : 路径名 suffix : 后缀 功能: 获取文件名 删除路径名中的前缀包括最
阅读全文
摘要:介绍 从控制台输入 基本语法 read [选项] 参数 常用选项 |选项|功能| |-|-| |-p|指定读取值时的提示符| |-t|指定取值时等待的时间(秒),如果没有在指定时间输入,就不再等待了| 参数:指定读取值的变量名 举例 例子 结果
阅读全文
摘要:for循环 基本语法 遍历语法:遍历输出值1,2,3... for 变量 in 值1,值2,值3... do 代码 done 循环控制语法 for((初始值;循环控制条件;变量变化)) do 代码 done 注:有两对括号,有 do 和 done,其余和C相同 举例 例1:遍历语法 例子 结果 例2
阅读全文
摘要:判断语句 基本语法 [ 条件判断式 ] 注 1. 条件判断式前后都要有空格 2. 非空返回true,空返回false - [ hello ] : 返回true - [ ] : 返回false 判断条件 字符串比较 =字符串是否相等 两个整数的比较 -lt 小于 -gt 大于 -eq 等于 -le 小
阅读全文
摘要:基本介绍 学习如何在Shell中进行各种运算符的运算操作,即如何将表达式的值赋给变量 基本语法 [运算符]【推荐】 expr m - n 必须用反引号`` 运算符两边必须加空格 乘法需要转义符: * 案例演示 案例 结果
阅读全文
摘要:变量分类 系统变量(PWD,USER...) 显示所有系统变量 set 用户自定义变量 定义变量 基本语法 声明变量: 变量=值 撤销变量: unset 变量 声明静态变量: readonly 变量 静态变量不能unset 定义规则 可有字母、数字、下划线组成,但不能以
阅读全文
摘要:Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 基本介绍 脚本以#!/bin/bash开头 脚本的后缀为.sh 需要给脚本赋予可执行权限:chmod u+x xxx.s
阅读全文
摘要:前置 Idea2020 Xftp6 步骤 将压缩包通过Xftp6上传到/opt/idea 解压 启动/bin目录下的./idea.sh,配置jdk 此步骤需要在虚拟机的图形界面执行 编写hello.java并测试
阅读全文
摘要:前置 tomcat压缩包 Xftps6 步骤 上传压缩文件,并解压到/opt/tomcat 进入解压文件下的bin目录 执行 ./startup.sh 开放8080端口 尝试访问,地址为 LinuxIP:8080 注:查看LinuxIP地址方式 执行ifconfig 查看
阅读全文
摘要:前置说明 JDK tar.gz压缩包 Xftp6 步骤 安装jdk mkdir /opt/jdk /opt/目录一般用以存放安装包。详见:Linux的基本目录结构 通过xftp6将jdk压缩包传到/opt/jdk 进入/opt/jdk, 解压 tar -zxvf xxx mkdir /usr/loc
阅读全文
摘要:介绍 rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文·件。RPM是RedHat Package Manager ( RedHat软件包管理工具)的缩写,类似windows的setup.exe。这一文件格式名称虽然打上了RedHat的标志,但理念是
阅读全文
摘要:动态监控进程 top 静态监控:ps指令 基本语法 top [选项] |选项|功能| |-|-| |-d 秒数|指定top每隔几秒更新,默认3秒| |-i|使top不再显示任何显示或僵死的进程| |-p|通过指定监控进程ID来仅仅监控某个进程的状态| 关键信息说明 第一行:系统信息 13:33:36
阅读全文
摘要:介绍 服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等),因此我们又称为守护进程。 指令集1:service、chkconfig 适用的服务 在CentOS7.0以后,许多服务都不再适用service和chkcon
阅读全文