自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 C++笔记总结(第四周)

一、static_cast功能:用来强迫隐式类型转换,或称为显式的类型转换例如: 将非const对象转换为const对象(但是不能将底层const对象转换为非const对象,这个只有const_cast才能做到) 将int转换为double,反之亦然 也可以将void*指针转换为其他类型指针,将pointer-to-base转换为pointer-to-derived 注意事项:...

2020-03-23 20:40:30 148

原创 C++笔记总结(第三周)

自定义函数 VS 宏函数#define ADD(a,b) a + b //宏函数int add(int a,int b){ return a + b;}//自定义函数int main(){ cout << add(5,6) << endl;//通过函数名找到函数存放的位置,给形参分配空间,传参,执行函数体里语句,函数返回,释放空间 ...

2020-03-13 12:17:28 133

原创 C++笔记总结(第二周)

Register1、Register作用:提高程序的运行效率,省去了cpu到内存中抓取数据的时间。#include<stdio.h>int main(){ register int num = 5; return 0;}register:不能修饰全局变量,也不能修饰函数,只能修是局部变量。volatile :防止编译器将所修饰的变量加载到寄存器中进行优化volat...

2020-03-11 10:28:32 150

原创 C++笔记总结(第一周)

c to c++for加强 1、允许使用类似 for(i = 0; i < 100; i++)的语句,且语句中的 i 只在此for语句中有效。 2、int arry[5] = {1,2,3,4,5}; for( int temp : arry) { cout << temp <<denl; }...

2020-02-28 12:53:06 173

原创 shell编程100例(第七周③)

31、统计当前 Linux 系统中可以登录计算机的账户有多少个#!/bin/bash# 统计当前 Linux 系统中可以登录计算机的账户有多少个#方法 1:grep "bash$" /etc/passwd | wc -l#方法 2:awk -f: '/bash$/{x++}end{print x}' /etc/passwd...

2019-12-01 22:19:02 161

原创 shell编程100例(第七周②)

29、打印国际象棋棋盘#!/bin/bash# 打印国际象棋棋盘# 设置两个变量,i 和 j,一个代表行,一个代表列,国际象棋为 8*8 棋盘# i=1 是代表准备打印第一行棋盘,第 1 行棋盘有灰色和蓝色间隔输出,总共为 8 列# i=1,j=1 代表第 1 行的第 1 列;i=2,j=3 代表第 2 行的第 3 列# 棋盘的规律是 i+j 如果是偶数,就打印蓝色色块,如果是奇数就打印灰色色块...

2019-12-01 22:18:25 116

原创 shell编程100例(第七周①)

27、统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个#!/bin/bash# 统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个 # awk 使用‐F 选项指定文件内容的分隔符是/或者:# 条件判断$7:$8 大于等于 13:30,并且要求,$7:$8 小于等于 14:30# 最后使用 wc ‐l 统计这样的数据有多少行,即多少个awk...

2019-12-01 22:17:16 164

原创 shell编程100例(第六周③)

26、对 100 以内的所有正整数相加求和(1+2+3+4…+100)#!/bin/bash# 对 100 以内的所有正整数相加求和(1+2+3+4...+100) #seq 100 可以快速自动生成 100 个整数sum=0for i in `seq 100`do sum=$[sum+i]doneecho "总和是:$sum"...

2019-11-25 09:34:00 238

原创 shell编程100例(第六周②)

24、点名器脚本#!/bin/bash# 编写一个点名器脚本 # 该脚本,需要提前准备一个 user.txt 文件# 该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名while :do#统计 user 文件中有多少用户line=`cat user.txt |wc ‐l`num=$[RANDOM%line+1]sed -n "${num}p" user.txtsleep 0...

2019-11-25 09:33:12 268

原创 shell编程100例(第六周①)

22、一键部署 LNMP(源码安装版本)#!/bin/bash# 一键部署 LNMP(源码安装版本)menu(){clearecho " ##############‐‐‐‐Menu‐‐‐‐##############"echo "# 1. Install Nginx"echo "# 2. Install MySQL"echo "# 3. Install PHP"echo "# 4. Exit...

2019-11-25 09:32:19 349

原创 shell编程100例(第五周③)

21、使用 expect 工具自动交互密码远程其他主机安装 httpd 软件#!/bin/bash# 使用 expect 工具自动交互密码远程其他主机安装 httpd 软件 # 删除~/.ssh/known_hosts 后,ssh 远程任何主机都会询问是否确认要连接该主机rm ‐rf ~/.ssh/known_hostsexpect <<EOFspawn ssh 192.168...

2019-11-17 18:46:47 143

原创 shell编程100例(第五周②)

19、使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码本脚本执行,需要提前准备一个 user.txt 文件,该文件中包含有若干用户名信息#!/bin/bash# 使用 user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码# 本脚本执行,需要提前准备一个 user.txt 文件,该文件中包含有若干用户名信息for i in `cat u...

2019-11-17 18:46:13 126

原创 shell编程100例(第五周①)

17、9*9 乘法表#!/bin/bash# 9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表) for i in `seq 9`do for j in `seq $i` do echo -n "$j*$i=$[i*j] " done echodone18、使用死循环实时显示 eth0 网卡发送的数据包流量#!/bin/bash# 使用死循环...

2019-11-17 18:45:14 122

原创 shell编程100例(第四周③)

16、进度条,动态时针版本;定义一个显示进度的函数,屏幕快速显示| / ‐ \#!/bin/bash# 进度条,动态时针版本# 定义一个显示进度的函数,屏幕快速显示| / ‐ \rotate_line(){INTERVAL=0.5 #设置间隔时间COUNT="0" #设置4个形状的编号,默认编号为 0(不代表任何图像)while :do COUNT=`expr $COUNT + ...

2019-11-10 13:12:53 127

原创 shell编程100例(第四周②)

14、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(多进程版)#!/bin/bash# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机# 状态(多进程版) #定义一个函数,ping 某一台主机,并检测主机的存活状态myping(){ping ‐c 2 ‐i 0.3 ‐W 1 $1 &&gt...

2019-11-10 13:12:18 204

原创 shell编程100例(第四周①)

12、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for 版本)#!/bin/bash# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机# 状态(for 版本)for i in {1..254}do # 每隔0.3秒ping一次,一共ping2次,并以1毫秒为单位设置ping的超时时间 pi...

2019-11-10 13:11:25 161

原创 shell编程100例(第三周③)

11、石头、剪刀、布游戏#!/bin/bash# 编写脚本,实现人机<石头,剪刀,布>游戏game=(石头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}# 通过随机数获取计算机的出拳# 出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能 echo "请根据下列提示选择您的出拳手势"echo "1...

2019-11-03 22:14:40 165

原创 shell编程100例(第三周②)

9、编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 作为默认密码。#!/bin/bash# 编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户# 不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默# 认的 1234...

2019-11-03 22:14:07 294

原创 shell编程100例(第三周①)

7、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)#!/bin/bash# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不# 是,则提示您非管理员(使用字串对比版本) if [ $USER == "root" ]then yum ‐y install vsftpdels...

2019-11-03 22:12:56 150

原创 shell编程100例(第二周③)

6、猜数字游戏 #!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,# 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数# 使用取余算法将随机数变为 1‐100 的随机数num=$[RANDOM%100+1]echo "$num" # 使用 read 提示用户猜数字# 使用 i...

2019-10-27 18:30:17 151

原创 shell编程100例(第二周②)

4、一键部署 LNMP(RPM 包版本)#!/bin/bash# 一键部署 LNMP(RPM 包版本)# 使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败# 本脚本使用于 centos7.2 或 RHEL7.2yum ‐y install httpdyum ‐y install mariadb mariadb‐devel mariadb‐serveryum ‐y i...

2019-10-27 18:29:42 528

原创 shell编程100例(第二周①)

2、通过位置变量创建 Linux 系统账户及密码#!/bin/bash# 通过位置变量创建 Linux 系统账户及密码 #$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数useradd “$1” echo “$2” | passwd ‐‐stdin “$1”3、备份日志#!/bin/bash# 每周 5 使用 tar 命令备份/var/log 下的所有日志文件# vi...

2019-10-27 18:27:42 172

原创 shell打印棋盘、统计文件、小写转大写

29、打印国际象棋棋盘#!/bin/bash# 打印国际象棋棋盘# 设置两个变量,i 和 j,一个代表行,一个代表列,国际象棋为 8*8 棋盘# i=1 是代表准备打印第一行棋盘,第 1 行棋盘有灰色和蓝色间隔输出,总共为 8 列# i=1,j=1 代表第 1 行的第 1 列;i=2,j=3 代表第 2 行的第 3 列# 棋盘的规律是 i+j 如果是偶数,就打印蓝色色块,如果是奇数就打印灰色色块...

2019-10-17 18:20:59 224

原创 shell编程9*9乘法表和求和

17、9*9 乘法表#!/bin/bash# 9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表) for i in `seq 9`do for j in `seq $i` do echo -n "$j*$i=$[i*j] " done echodone

2019-10-17 18:15:21 188

原创 必须掌握的常用shell命令

常用命令一、目录操作a) ls--查看文件/目录:常用:ls –l 查看详细文件列表b) pwd--查看当前目录:c) cd--改变工作目录:常用①:cd ../ 跳转到上一级目录备注: [./]当前目录 [../]上一级目录常用②:cd /boot/ 跳转到指定目录备注:指定目录一定是完整路径,例如win的文件路径一样。d) mkdir--创建目录:常用:mkdir 123 创建一个空文件夹e)...

2019-10-17 18:10:33 241

转载 工程管理器make

一.工程管理器make的简介1. 为什么需要工程管理?作用是什么?  需要工程管理的原因:      源文件越多,gcc命令行会越长;编译规则会加大gcc命令行的复杂度;      使用gcc命令行编译程序时,会把没有修改的源程序再编译一次,影响编译效率。&nbs...

2019-10-12 15:53:44 242

原创 Makefile学习笔记

 在写涉及到子目录的makefile文件时,从上面的博客学习到很多!自己写的也是仿照着写的,主要以此博客的makefile对知识点做一个 更详细的说明 和 对makefile做一个总结!说明:如有错误,敬请见谅!我编译的是.so库,很多命令用不到,只是网上搜索学习了一下!一,原博客(1)目录结构:(2)主文件加下的makefileXX = g++AR = arARF...

2019-10-12 15:50:12 178

原创 makefile介绍1.0

makefile介绍1.0   1.gcc参数-o指定生成文件名-c只编译不链接2.makefile标准格式CC=gcc #编译器变量,#代表注释SRCS=main.cpp\#源文件变量 a.cpp b.cpp c.cppOBJS=$(SRCS:.cpp=.o) #将SRCS中的.cpp全部替换为.o文件EXEC=m...

2019-10-12 15:46:23 130

原创 Linux调试工具GDB使用简易教程

 GDB的相关概念GDB, 是 The GNU Project Debugger 的缩写, 是 Linux 下功能全面的调试工具。GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在 Linux 环境软件开发中,GDB 是主要的调试工具,用来调试 C 和 C++ 程序。 GDB的相关操作下面给出一个具有buging.c的程序:?12345...

2019-09-29 10:58:21 165

原创 Linux环境下段错误的产生原因及调试方法小结

最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。1. 段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例...

2019-09-29 10:31:26 299

原创 vim命令(2)

1. 删除命令x 删除当前字符3x 删除当前光标开始向后三个字符X 删除当前字符的前一个字符。X=dhdl 删除当前字符, dl=xdh 删除前一个字符dd 删除当前行dj 删除上一行dk 删除下一行10d 删除当前行开始的10行。D 删除当前字符至行尾。D=d$d$ 删除当前字符之后的所有字符(本行)kdgg 删除当前行之前所有行(不包括当前行)jdG(jd shift...

2019-09-29 10:28:19 123

原创 vim命令(1)

1. 启动vim在命令行窗口中输入以下命令即可vim 直接启动vimvim filename 打开vim并创建名为filename的文件文件命令打开单个文件vim file同时打开多个文件vim file1 file2 file3 …在vim窗口中打开一个新文件:open file在新窗口中打开文件:split file切换到下一个文件:bn切换到上一个文件:bp...

2019-09-22 20:54:44 140

原创 Linux常用命令10条

diff:比较两个文件的不同1,3表示第一个文件的1至3行与第二个文件的不相同c后面的(a=add,c=change,d=delete)1,3表示第二个文件的1至3行与第一个文件不相同id命令可以显示真实有效的用户ID(UID)和组ID(GID)一些程序可能需要UID/GID来运行输出所有不同的组ID ,有效的,真实的和补充的,我们可以使用 -G 选项来实现:只输出有效的组ID,...

2019-09-18 20:06:40 180

原创 安装vmtools

启动VMware虚拟机下的Linux操作系统。打开VMware虚拟机之后点击“开启此虚拟机”。在导航栏找到这个标签,选择安装vmtools。找到桌面上的文件夹,并执行图中命令,完成解压。此时ls查看目录下的文件,发现多了一个文件。进入该文件并执行图中命令,输入yes,一直按回车,vmtools安装完成。见到Enjoy代表安装成功了。重启虚拟机后可以全屏,宿主机复制文件到虚拟...

2019-09-18 19:52:48 219

转载 Linux下服务的管理

服务的概念服务指在操作系统中,用以支持各种功能的程序.服务管理 指令 作用 systemctl star...

2019-09-15 20:16:58 642

原创 linux常见命令及用法

1.权限和用户:ls -l:目录名/文件名,查看目录/文件的权限 rwxrwxrwx属主 属组 其他用户user(u) group(g) other(o)2.chmod:change mode :修改权限chomd+x :添加可执行权限文件名 chomd u+x 文件名 g+x 文件名 o+w 文件名 (其他用户加上写权限) a+x:所有用户 a-x:all所有3.umask:显示当...

2019-09-15 20:14:24 121

原创 Linux下“/”和“~”的区别

在linux中,”/“代表根目录,”~“是代表目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户zyh的家目录就是/home/zyh 可以看到创建用户就会在根目录下的home目录中创建用户对应的家目录用户创建完后,我们就可以在/home目录下看到,就是系统默...

2019-09-15 20:09:58 1552

原创 Linux简介

简介Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操...

2019-09-08 17:17:41 401

原创 Linux常用命令

List itemarch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info...

2019-09-08 17:08:44 121

原创 Linux操作系统基础

Linux简介Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安...

2019-09-02 18:55:02 384

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除