- 博客(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关注的人