自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shell 字符串处理

test="my name is gaole"echo ${#test} #get length of a stringecho ${test:4} #get substring from 5 to the endecho ${test:4:6} #get substring from 5 to the following 6 charactersecho ${test:-3} #get the last character,but some bash can't support -3.

2022-04-21 09:59:27 670

原创 有关浮点数的问题(1)

问题一:十进制小数如何转化为2进制表示?比如7.251.把小数先分成整数部分和小数部分:7和0.252.整数部分先转化成2进制:1113.小数部分0.25,依次乘以2,如果大于1,就记录1,并且舍弃整数部分,用小数部分继续乘以2,如果小于1,就记录0,继续乘以2直到最后乘以2以后是1.0下面列出0.25的计算过程:0.25*2=0.5 ->00.5*2=1.0 ->1所以0.25的二进制表示是:4.把整数部分和小数部分合起来,7.25的二进制表

2022-03-12 14:16:31 404

原创 C/C++术语,中英文对照

源程序 source program 通过字符序列创造出来的程序 源文件 source file 保存源程序的文件 诊断信息 diagnostic message 编译,链接或执行时发生的错误信息 注释 comment //单行或者/*多行 */ 函数调用 function call 实参 argument 语句 statement 翻译阶段 translation phase

2022-03-10 20:19:12 2258

原创 PDB python调试

方法一:先import pdb,语句pdb.set_trace()设置断点然后写好代码后直接运行到set_trace()的地方会停下来,__DEBUG__=True当__DEBUG_设置为False的时候,就不会停下来。方法二:import pdb def combine(s1,s2): # define subroutine combine, which... s3 = s1 + s2 + s1 # sandwiches s2 betwe...

2022-03-08 21:30:39 2108 3

原创 .o和.a和.so

1.编写一个add函数保存在文件add.c中root@7519ef034539:/home/gaole/Cprogram/myc# cat add.c#include "add.h"int add(int x, int y) { int sum; sum = x + y; return sum;}2.编写一个add.h声明函数addroot@7519ef034539:/home/gaole/Cprogram/myc# cat add.hint a

2022-03-03 19:56:10 123

原创 makefile intall自动生成安装,并且写好启动和停止脚本

写一个makefile,生成一个目标,并且通过make intall安装这个目标到指定的路径下。方法一TARGET=test_installOBJS=test_install.oCC:=g++OUT=/usr #这个OUT参数也可以通过外部命令去更改,make install OUT=../out,这个时候目标就会被复制到../out/bin/中,makefile里的OUT会被覆盖$(TARGET):$(OBJS) #这里虽然没有写CMD,但是能自动推导出编译命令install:$(

2022-03-01 11:47:56 548

原创 嵌套执行make,多目标编译,多目标清理,多目标安装

假设work文件夹下有三个文件夹a,b,c.各自可以独立编译成一个目标,且a,b,c文件夹下已经存在makefile。在work下面写一个总的makefile来调用a,b,c各自的makefileTARGET=a b cLDIR=$(shell pwd)all:$(TARGET)$(TARGET): $(MAKE) -C $(LDIR)/$@ -f $(LDIR)/$@/makefile.PHONY:$(TARGET) all#需要设置成伪目标,因为a,b,c并不是执行文件,只是文

2022-02-28 17:25:10 292

原创 makefile执行shell脚本

语法$(shell pwd)shell是函数名,后面的pwd是参数,返回的结果赋值给LDIRCMD前面加@表示执行的时候不显示该命令,只显示命令的输出当makefile的文件名不是makefile或者Makefile的时候,用make -f 文件名注:只是定义变量的话,这个shell不会被执行,执行当这个变量被CMD执行的时候,这个shell才会被执行[root@system CProgram]# cat test.mk#test.mkLDIR=$(shell pwd)LSS

2022-02-28 16:07:15 13126

原创 python几道题

a=[('b', 4), ('a', 12), ('d', 7), ('h', 6), ('j', 3)]a.sort(key=lambda a:a[1])print(a)寻找数组中最大和的连续子数组,保证时间复杂度O(n)def testsum(alist): length=len(alist) tmp=0 if length==0: return None elif length==1: return alist[0] .

2022-02-23 20:10:53 251

原创 filter and lambda

###python高阶函数alist=[1,2,3,4]alist2=[2,3,4,6]print(zip(alist,alist2)) #zip里面的参数要是可迭代的adict=dict(zip(alist,alist2))print(adict) #使用zip构造字典alist3=[7,8,9]zip(alist,alist2,alist3)for (x,y,z) in zip(alist,alist2,alist3): #如果三个list的长度不同,取最短的那个返回 .

2022-02-23 19:09:45 63

原创 filter and lambda

###python高阶函数alist=[1,2,3,4]alist2=[2,3,4,6]print(zip(alist,alist2)) #zip里面的参数要是可迭代的adict=dict(zip(alist,alist2))print(adict) #使用zip构造字典alist3=[7,8,9]zip(alist,alist2,alist3)for (x,y,z) in zip(alist,alist2,alist3): #如果三个list的长度不同,取最短的那个返回 .

2022-02-23 13:46:31 182

原创 python,shell,C结构分类总结

FORpythonfor i in range(10): #[0,9] print(i)shellimage_list=`ls`for i in ${image_list}do echo $idonefor((i=0;i<10;i++))do echo "gaole" #输出10次donefor i in `seq 1 10` #输出1到10个数字do echo "gaole" #输出10次doneC

2022-02-21 10:05:40 643

原创 copy模块的浅拷贝和深拷贝

>>> import copy单一的list>>> a=[1,2,3]>>> b=aid函数用来对象的地址>>> id(b)183798744640>>> id(a)183798744640当b=a时,他们的内存地址是一样的,所以是引用。>>> c=copy.copy(a)>>> id(c)183798462720>>> print(c.

2022-02-14 21:05:41 124

原创 rsyslog,journalctl

1./var/log/messages :最主要的文件,基本都在这个里面2./var/log/boot.log:启动过程的log3/var/log/dmesg:开机是有关硬件的检测信息4./var/log/secure:账号密码错误会放在这个文件下5.或者一些服务自己的日志文件,/var/log/httpd实现日志服务,只要需要以下几个东西:systemd-journald.service:最主要的讯息收受者,由 systemd 提供的;rsyslog.service:主要日志系统

2022-02-13 20:07:20 3079

原创 systemctl和journald.service

用systemctl切换模式设置开机默认的启动方式[root@study ~]# systemctl set-default multi-user.target[root@study ~]# systemctl get-default切换启动方式图形切换终端[root@study ~]# systemctl isolate multi-user.target 对应原来的init 3终端切换图形[root@study ~]# systemctl isolate graphica

2022-02-13 19:20:15 454

原创 xfs文件系统

1.一个数据区2.一个活动登录区3.实时运行区blkid先查看/dev/sda2是否是xfs文件系统,是的话,可以用下面的xfs_info命令查看这个文件系统[root@localhost proc]# xfs_info /dev/sda1xfs_info: /dev/sda1 is not a mounted XFS filesystem[root@localhost proc]# xfs_info /dev/sda2meta-data=/dev/sda2 ...

2022-02-13 18:55:30 879

原创 如何使用文件/etc/fstab管理mount

mount的原则1.根目录必须先被挂载2.挂载点必须是已经存在的目录,要遵循FHS3.每个挂载点同一个时刻只有挂载一次4.每个分区在同一个时刻只能挂载一次5.如果要卸载,要将工作目录下移除这个挂载点(包括挂载点)/etc/fstab:手动mount机器重启会丢失,所有在写到文件里,这样下次开机之后就会不需要自己手动再 mount[root@localhost myc]# cat /etc/fstab## /etc/fstab# Created by anaconda

2022-02-13 16:24:46 722

原创 git自己电脑上的实例

1.yum install git2.在myc文件夹下执行git init3.就会出现新增加的文件[root@localhost myc]# git status# On branch master## Initial commit## Untracked files:# (use "git add <file>..." to include in what will be committed)## chap01/# chap02/#

2022-02-13 14:54:15 452

原创 版本控制管理

1.本地管理2.集中管理 :代表 SVN ,各种版本都放到中央控制PC上,只有server上才有vsersion database3.分布式管理:代表 git 除了服务器外,自己的computer上的也保存了过去的版本,version database都有GIT和SVN的区别SCV:版本库是集中放在中央服务器的GIT:版本库是各个机器上都有下载GIT:1.下载软件windows,Linux,不同的位数官网下载慢,寻找国内镜像地址。2.先卸载再安装Linux里安装g

2022-02-12 16:37:51 279

原创 内核模块命令

了解几个词arch代表 CPU等级crypto代表内核支持的加密技术,md5 desdrivers硬件驱动fs内核支持文件系统1.存放的地址/lib/modules/uname -r /kernel一般ko xz结尾[root@localhost net]# lsbonding fjes ifb.ko.xz mdio.ko.xz nlmon.ko.xz slip usb

2022-02-08 20:42:37 1098

原创 tarball源码安装

1../configure 生成makefile文件2.makeclean :去除可以残留的.o文件3.make:编译,生成可执行文件4.make install:安装

2022-02-08 20:26:32 623

原创 rpm的用法

1.rpm -ivh 安装包的名字-i就是安装,加上vh可以看到安装的详细信息和安装进度可以一次安装一个,也可以一次安装两个rpm -ivh 安装包1 安装包2也可以直接网络安装,后面加这个安装包网络位置rpm -ivh http://......rpm2.rpm -Uvh:更新软件包,没安装会直接安装,安装了就自动更新rpm -Fvh:不安装不会更新,安装了就会更新3.rpm -e小写的e是卸载4.rpm -rebuilddb重建数据库以下都是查询5.rpm -

2022-02-08 20:06:34 2898

原创 yum的用法

1.yum -y install安装2.yum -y remove卸载3.yum search dhcp :搜索软件包包含DHCP或者软件summary里包含DHCP的冒号后面就是描述[root@localhost yum.repos.d]# yum search pamLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras:

2022-02-08 19:39:39 947

原创 Docker安装

1.sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \

2022-02-08 17:04:57 32

原创 自定义网络

通过自定义网络来实现容器互联name表示网络模式bridge:桥接none:不配置网络host:和宿主机共享网络container:容器网络连通(用得少!)[root@localhost dockerfile]# docker network lsNETWORK ID NAME DRIVER SCOPE65f61d1d236d bridge bridge local7997a9ebd537 host host ..

2022-01-31 16:14:37 1152

原创 Docker网络

理解docker0宿主机的IP地址情况[root@localhost dockerfile]# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo

2022-01-31 15:14:25 1094

原创 发布自己的镜像到docker hub

1.准备镜像文件tomcat 压缩包,jdk压缩包2.如果dockerfile的名字就是Dockerfile的话,就不需要-f写名字了。FROM centosMAINTAINER test<12345.qq.com>COPY readme.txt /usr/local/readme.txt #拷贝本地的一个文件到镜像里ADD jdk-8u110-linux-x64.tar.gz /usr/local/ #添加一个压缩包,docker会自动解压ADD apache-t

2022-01-31 14:22:22 1386

原创 DockerFile实战测试

创建一个自己的centos1.编写dockerfile的文件[root@localhost dockerfile]# cat mydockerfile FROM centosMAINTAINER gaole<490135586@qq.com>ENV MYPATH /usr/localWORKDIR $MYPATH #一开始的时候这里写错了,没有写$,所有进去以后到了/MYPATH的路径RUN yum -y install vimRUN yum -y install n

2022-01-31 13:13:55 2310

原创 DockerFile

dockerfile是用来构建docker镜像的文件!命令参数脚本构建步骤:1.编写一个dockerfile文件2.docker build构建成为一个镜像3.docker run运行镜像4.docker push发布镜像(DockerHub,阿里云镜像仓库)DockerFiler的构建过程基础知识:步骤:开发,部署,运维DockerFile:构建文件,定义了一切的步骤,源代码DockerImages:通过docker构建生成的镜像,最终发布和运行的产品Doc

2022-01-30 20:15:56 268

原创 数据卷容器

如果实现容器与容器之间的同步?启动docker01[root@localhost home]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEkuangshen/centos latest 915412bdf8be 2 hours ago 231MBmysql latest 3218b38490ce 5 weeks ago 5

2022-01-30 19:51:19 164

原创 Dockerfile

Dockerfile就是用来构建docker镜像的构建文件!命令脚本!先体验一下!#创建一个dockerfile文件,名字可以随机,建议dockerfile就是构建出一个自己的镜像[root@localhost docker-test-volume]# docker build -f dockerfile1 -t kuangshen/centos .Sending build context to Docker daemon 2.048kBStep 1/4 : FROM centos..

2022-01-30 17:26:36 1296

原创 什么是容器数据卷

如果数据在容器中,容器被删除,数据就会被删除。要求数据可以持久化!容器之间可以又一个可以数据共享的技术!Docker容器中产生的数据,同步到本地这就是卷技术,把容器内的目录挂载到宿主机上假设容器里是/usr/mysql宿主机是/home/mysql方式一:docker run -it -v 宿主机的目录:容器内的目录 -p 主机端口,容器内端口docker run -it -v /home/ceshi:/home centos /bin/bashdocker inspec

2022-01-29 17:10:59 1201

原创 可视化面板 docker 镜像是什么,commit自己的镜像

portainerdocker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run /docker.sock --privileged=true portainer/portainer进去之后的面板如何得到镜像:1.从远程仓库下载2.朋友拷贝给你3.自己制作一个镜像dockerfilecommit 镜像docker commit 提交容器成为一个新的镜像docker commit -m

2022-01-29 16:51:12 290

原创 题目:安装一个nginx

1.docker search搜索这个项目,或者官网上搜索这个镜像,不想用最新的就去找版本号2.docker pull ngix ;搜索到以后就下载镜像3.docker images ;检查是不是下载成功4.docker run -d --name ngin01 -p 3344:80 nginx5.curl localhost:3344 ;就能够看到nginx的信息。 3344表示外部的端口号,80表示容器内部端口6.打开网页,IP+3344就可以访问这个nginx806.doc..

2022-01-29 15:45:20 3275

原创 Docker 命令

镜像命令1.docker search --help2.docker pull mysql ==docker pull docker.io/library/mysql:latest3.docker pull mysql:5.7 #指定版本4.docker rmi(删除images) -f ID5.docker rms -f $(docker images -qa) #全部删除镜像 docker images展示所有images容器命令1.docker pull centos...

2022-01-28 16:41:32 1155

空空如也

空空如也

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

TA关注的人

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