![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux/server
LaugustusJ
一只小菜鸟
展开
-
linux网络测试客户端
直接gcc或g++编译就OK#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/socket.h>void error_handling(const char *message);void.原创 2021-01-29 10:01:11 · 367 阅读 · 0 评论 -
windows docker配置
{ "registry-mirrors": [], //加速 "insecure-registries": [ //仓库 "local.harbor.com" ], "debug": true, "experimental": false}原创 2021-01-26 15:30:05 · 537 阅读 · 0 评论 -
k8s常用命令
kubectl get pod -n <namespace> / kubectl get pod -Akubectl get svc -n <namespace> / kubectl get svc-Akubectl get cm -n <namespace> / kubectl get cm -n A / kubectl get configmap-n <namespace...原创 2021-01-12 10:16:17 · 379 阅读 · 0 评论 -
k8s容器中进程异常退出,问题查找
本人用的是得到core dump文件方式解决的,方法如下:1、在宿主机上运行:echo "/data/cores/core.%p" | sudo tee /proc/sys/kernel/core_pattern,设置core文件输出目录2、设置k8s容器启动命令为:tail -f /dev/null3、重新 create pod,并进入容器,这个时候 vi/proc/sys/kernel/core_pattern 就能看到在宿主机上设置的目录(要保证:容器内部/data/cores存在,且..原创 2020-12-21 21:14:40 · 1245 阅读 · 0 评论 -
vscode远程调试linux代码
1、安装opensshwindows客户端、linux服务器端都需要安装openssh,一般情况linux服务器默认安装,windows除去新版的 win10,其他都需要单独安装2、安装vscode插件需要安装 C/C++、CMake Tools、Remote - SSH、Remote Developmentms(能打开服务器下某一文件夹)3、vscode远程连接服务器配置操作如下:打开后界面如下:在此可以编辑远程连接配置3.1 password方式认证直接在c.原创 2020-11-25 14:22:29 · 3106 阅读 · 0 评论 -
SELinux相关问题
SELinux是有关Linux安全的问题,SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块,但是绝大多数 Linux系统管理员嫌麻烦都会选择关闭它(因为会时常回忆起各种设计权限的问题)1 SELinux 的作用SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。设想一下,如果一个以 root 身份运行的网络服务存在 0day 漏洞,黑客就可以利用这个漏洞,以 root 的身份在您的服务器上为所欲为了原创 2020-09-03 17:09:37 · 377 阅读 · 1 评论 -
ubuntu将程序设为开机自启动两种方式与ubuntu的自启动级别
自启动方法一 /etc/rc.localubuntu启动时会自动运行 /etc/rc.local 脚本可以将要自启动的命令加到这个脚本文件里,这个脚本文件结尾是exit 0 ,这是因为ubuntu会监测改脚本是否正常退出,若没有 exit 0,则会异常另外也可以将要自启动的命令写到一个脚本文件(最好在改脚本的结束出也加上 exit 0,但是不加好像也没什么影响),然后在 /etc/rc.local 中加上运行改脚本的指令:sudo ./start.sh自启动方法二update-rc.d..原创 2020-07-29 17:26:18 · 1134 阅读 · 0 评论 -
IO多路复用、select/poll/epoll
https://www.jianshu.com/p/dfd940e7fca2原创 2020-06-02 14:44:07 · 121 阅读 · 0 评论 -
IO五种模型
系统将虚拟空间(内存)分为了内核空间、用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间举例说下进程运行时用到数据时,所需要的操作:对于一个read操作经历两个阶段:一是将数据copy到内核空间,二是将数据从内核空间copy到用户空间,这样read才算完成对于socket流而言经历两个阶段:一是将等待网络数据到原创 2020-06-02 12:58:09 · 222 阅读 · 0 评论 -
同步/异步、阻塞/非租塞
同步/异步、阻塞/非租塞是两个不用的概念,并不是说一提到同步就是阻塞,一提到异步就是非租塞。同步与阻塞、或者异步与非租塞没有直接联系同步/异步关注的是消息通知时机,阻塞/非租塞关注的线程等待调用结果时的状态(参考:https://www.zhihu.com/question/19732473Yi Lu的回答)1 概念1.1 同步/异步同步就是需要调用端主动去检查是否获取到了消息(举例体现在代码里就是errorcode = recvfrom(xxxxx),errorcode就是同步等待返回的.原创 2020-06-02 11:20:08 · 254 阅读 · 0 评论 -
Linux下查看与测试端口tcp、udp连通性
1、查看本机进程监听端口情况tcp监听情况:netstate -ntlpudp监听情况:netstate -nulp/aunp2、测试连通性测试命令有两种:telnet、nctelnet使用语法:telnet 127.0.0.1 6000出现connected to 127.0.0.1就是能够通(使用q、exit退出)注意:使用 telnet 是基于tcp协议的,只能测试改端口tcp的连通性,想测试端口udp的连通性需要用 nc 命令nc使用语法:nc -vu...原创 2020-05-22 15:18:10 · 5647 阅读 · 1 评论 -
ubuntu apt常用命令
apt update / apt-get update,更新库中对源的索引apt upgrade / apt-get upgrade,更新软件apt search keyname / apt-get search keyname,根据关键字搜素 pkg 名字apt download pkgname / apt-get download pkgname,下载pkgname离线包到当前目录下apt -d install pkgnam...原创 2020-05-18 17:58:46 · 394 阅读 · 0 评论 -
GIT命令行操作
图形的可以使用tortoiseGIT,笔者认为用命令行比较好理解,推荐用命令行,其中基本的介绍可以直接看菜鸟https://www.runoob.com/git/git-create-repository.html1、创建仓库(1)在本地创建仓库git init [directory]是用在在本地创建新的仓库,以后再把此新的仓库推到server时的情况(也就是说server上原来没有此仓库的那种)(2)在remote创建仓库在本地创建完仓库后,需要推送到remote,方法如下:gi原创 2020-05-09 16:37:56 · 193 阅读 · 0 评论 -
NAT类型分类与定义
图引用地址:https://www.zhihu.com/question/38729355NAT分为两大类,基本的NAT和NAPT(即端口NAT,英文全称为Network Address/Port Translator)1、基本NAT分为静态NAT、动态NAT静态转换 (Static Nat) 是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一一对应的,不变的,某个私有...原创 2020-04-23 21:52:09 · 5127 阅读 · 0 评论 -
docker命令与TLS handshake timeout问题
1、基本命令docker imagesdocker ps [-a]docker exec -it XXXXXX bashdocker rm containdocker rmi image(别的的直接看菜鸟教程)2、Get https://registry-1.docker.io/v2/ TLS handshake timeout错误在ubuntu16.04下,新建...原创 2020-04-17 14:35:28 · 643 阅读 · 0 评论 -
使用RDP、XDCMP连接ubuntu server,并安装vscode调试C++代码
主要有两种连接方式,一种用Windows自带的rdp协议,另外一种用xdmcp协议,下面说的是将不带界面的ubuntu server安装上界面,并且使用windows远程界面连接1、使用windows下的RDP协议apt-get install xrdpapt-get install vnc4serverapt-get install xubuntu-desktop(如果安装ubunt...原创 2020-04-16 14:55:28 · 657 阅读 · 0 评论 -
Linux下使用gdb调试跟踪进程
可以使用gdb、strace命令(推荐gdb),本文主要介绍使用gdb在Linux下直接对进程进行跟踪调试1 加入gdb调试选项若想使用gdb对进程调试,需要在编译程序时加入相关的选项1.1 CMake加入gdb调试SET(CMAKE_BUILD_TYPE "Debug")SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g...原创 2020-04-09 19:00:35 · 1478 阅读 · 0 评论 -
vscode 扩展、json配置
{"files.autoSave": "off","window.zoomLevel": 0,"workbench.statusBar.visible": false,"files.hotExit": "off","editor.fontFamily": "Consolas, 'Courier New', monospace","workbench.colorCustomi...原创 2020-03-20 09:12:55 · 1120 阅读 · 0 评论 -
Ubuntu dock底部居中设置
1、sudo apt install gnome-tweak-tool2、sudo apt install gnome-shell-extension-dashtodock3、重启参考:https://www.cnblogs.com/WXGC-yang/p/10423301.htmlhttps://blog.csdn.net/a6864657/article/details/...原创 2020-03-08 19:26:27 · 9656 阅读 · 0 评论 -
opensips安装以及403回复错误
1、opensips安装推荐使用make menuconfig图形化方式安装,不易出错,使用此方式先需要:apt install gdb gccautomake autoconf libtool makebison bison-devflexlibncurses5-devlibmysqlclient-dev再执行:make menuconfig勾选db_mysql,其他...原创 2020-02-19 14:54:26 · 1643 阅读 · 0 评论 -
磁盘结构以及其中扇区、柱面、簇概念
1、磁盘结构磁盘主要由主轴马达、盘片、机械手臂、磁头组成(参考鸟哥私房菜),结构图如下:其中盘片上又可以分成磁道、扇区2、磁道图中track就是磁道,也就是绿色的圆环,参考文章:https://blog.csdn.net/badbad_boy/article/details/4313645说明:相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产...原创 2020-02-02 16:49:12 · 2590 阅读 · 0 评论 -
Linux的telnet命令与测试端口连接性的四种方法
1、telnet使用telnet可以测试端口的连通性,语法:telnet ip port2、测试端口连接性四种方法方法一:telnet ip port方法二:使用ssh,语法ssh -v -p port username@ip说明:-v 调试模式(会打印日志)-p 指定端口username:远程主机的登录用户ip:远程主机方法三:curl ip:port...原创 2019-09-08 17:38:27 · 8631 阅读 · 0 评论 -
服务器磁盘没有用完,但是用df -h显示磁盘占用过高问题
实际上服务器的磁盘可能并没有使用很多,但是使用df -h命令查看磁盘占用情况时,显示磁盘占用过高的问题(具体问题描述与解决方法查看:https://www.jianshu.com/p/e775b6880133)出现这用问题的原因是:因为在Linux上删除一个进程正在写入的文件的时候,虽然已经被我们删除了,但是只要进程还在,那个文件就不会真正被删除,只是被临时存放到系统的某个地方,有点类...原创 2019-09-08 17:31:31 · 964 阅读 · 0 评论 -
ubuntu中可执行程序、依赖库路径
1、可执行程序路径echo $PATH查看可执行程序的路径设置可执行程序路径有三种方法:方法一:export PATH=PATH:/XXX 但是退出当前终端后就失效方法二:修改 ~/.bashrc 或 ~/.bash_profile方法三:系统级别的/etc/profile1. 在其中添加例如export PATH=/opt/ActivePython/bin:$PATH...原创 2019-09-08 17:20:53 · 3932 阅读 · 0 评论 -
Windows的dll、lib、obj与Linux的.a、.so、.o
一篇关于Windows、Linux编译中间文件、静态库、动态库的十分好的文章里边有windows、linux编译连接过程,说明了中间文件、静态库、动态库之间的联系、区别,最后还有Linux下静态库、动态库的编译、使用例子https://www.cnblogs.com/ziyunlong/p/6023121.html...原创 2019-03-06 10:45:49 · 324 阅读 · 0 评论 -
ubuntu中为新添加的用户增加root权限
添加用户:useradd -g group -m usernamepasswd username这时新加入的用户是没有root权限的(无法sudo执行命令),要想有root权限,有两种方法:方法一:通过/etc/sudoers方法二:通过/etc/suders.d/方法一较为简单:vim /etc/sudoers其中root ALL=(ALL) ALL,表示将ro...原创 2019-09-08 18:08:21 · 418 阅读 · 0 评论 -
为sourceinsight加入对go语言的支持
直接参考:https://blog.csdn.net/yuexiazhufeng/article/details/84257690原创 2019-09-08 18:09:12 · 1674 阅读 · 0 评论 -
对Linux服务器物理资源运行状态的监控软件
主要有:1、nagios2、zabbiox3、prometheus,部署:https://blog.csdn.net/csolo/article/details/824605394、open-fallcon另外vsphere分配的虚拟机之间的物理资源(CPU、内存、硬盘)都可以共享,也就是说为这些虚拟机分配的资源加起来可以大于服务器实际的物理资源...原创 2019-09-08 18:13:55 · 315 阅读 · 0 评论 -
mysql问题总结
1、无法远程登录问题:1)把/etc/mysql/mysql.conf.d/mysqld.cnf文件中的bind-address = 127.0.0.1行注释掉https://blog.csdn.net/zjhqlmzldx/article/details/836518592)更改root的host访问权限USE mysql;SELECT user, host ...原创 2019-09-08 18:42:33 · 332 阅读 · 0 评论 -
cmake
1、介绍cmake是一个跨平台的安装、编译工具,可以用简单的语句来描述所有平台的安装、编译过程,他能够输出各种各样的makefile或者project文件。与 CMake 所对应的文件名为 CMakeLists.txt,使用cmake命令可以根据CMakeLists.txt文件生成当前环境下的Makefile文件。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(例如在 Unix...原创 2019-09-24 09:28:27 · 419 阅读 · 0 评论 -
URI与URL
URL(Uniform Resource Locator):统一资源定位符URI(Uniform Resource Identifier):统一资源标识符所有URL都是URI,但不是所有的URI都是URL举例:http://localhost:8080/demo/index.html以上web地址,http://localhost:8080+绿色字体部分=URL;绿色字体部分=...原创 2019-09-08 17:10:48 · 109 阅读 · 0 评论 -
PHP安装启动后使用netstat无法看到端口启动问题
打开php配置文件(php-fpm.conf),确保其中有:listen = 127.0.0.1:9000另外nginx配置也要和PHP配置保持一致server里面也要指定fastcgi_pass 127.0.0.1:9000参考:https://www.cnblogs.com/leon2659/p/9409151.html...原创 2019-09-08 16:51:58 · 611 阅读 · 0 评论 -
Linux命令-通配符、bash环境特殊字符、正则表达式
在Linux命令中,通配符与正则表达式是有区别的通配符通配符用于文件名的匹配,是完全匹配,它是由shell解析的,比如find,ls,cp,mv等这些命令不能使用正则表达式,只能够使用shell自己的通配符进行匹配,常用通配符:在使用 * 和 ?等通配符时首先发生的是 shell 的展开。Bash 会扫描命令行中的每一个单词,如果在其中发现了 *, ? 或者是 [,那么这个单词就被...原创 2019-07-20 15:50:07 · 916 阅读 · 0 评论 -
Linux命令-cat
cat命令主要是展示、创建、改变文件内容语法格式:(参考:https://www.runoob.com/linux/linux-comm-cat.html)功能上分为三部分:展示、创建、修改文件展示:cat -n -E ./a.txt创建:cat >a.txt <<b当a.txt文件不存在时会直接创建,输完之后会让用户输入a.txt中的内容,最后输...原创 2019-07-20 09:24:37 · 150 阅读 · 0 评论 -
Linux命令-grep
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同,egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用...原创 2019-07-19 15:35:12 · 260 阅读 · 0 评论 -
Linux命令-find
find命令通用格式:find pathname -options [-print -exec -ok]其中pathname中的“./”、“.”代表当前目录,“/”代表根目录,在表达式中出现的“{ }”代表find查找到的文件,options选项如下:(表格来源:https://www.cnblogs.com/ftl1012/p/find.html)表格补充:补充:-p...原创 2019-07-19 11:33:37 · 105 阅读 · 0 评论 -
GCC、make、CMake
转自:https://www.jianshu.com/p/f930e2826a6agcc简单的来说,它就是Linux平台的一个编译器,当然,它还有其它的平台。我们可以使用gcc来编译我们的(C、C、Object-C等等),但是我们的程序有时候可能不是一个单一的源文件,当我们的项目是一个很大的工程时,用gcc命令逐个编译,可能一不小心就会出错。类似于shell脚本,就出现了make工具。ma...转载 2019-07-12 11:12:17 · 149 阅读 · 0 评论 -
tcpdump使用
tcpdump在Linux可以实现抓包,一般ubantu系统会有此功能检查是否有tcpdump:man tcpdump抓包之前,使用:iwconfig:查看所有无线网卡,ifconfig:查看所有网卡下面是在ubantu server下抓取包的过程tcpdump -D获取网络适配器列表:root@holmesian-laptop:~# tcpdump -D 1.eth0 ...原创 2019-07-18 17:02:00 · 104 阅读 · 0 评论 -
服务器相关软件介绍
VMware,虚拟机软件SSH,全名secure shell,是一种协议,使用该协议可以有效防止远程管理过程中的信息泄露问题,能够实现字符界面的远程登录管理,默认使用22号端口(原博客https://blog.51cto.com/13438667/2117175),SSH服务开启:https://www.cnblogs.com/asyang1/p/9467646.htmlXShell,可以...原创 2019-07-18 09:09:09 · 82 阅读 · 0 评论 -
C++程序中的三种编码
参考文章:https://www.cnblogs.com/gtarcoder/p/4979017.html程序中的编码分类:1.程序源文件编码 程序源文件编码是指保存程序源文件内容所使用的编码方案,该编码方案可在保存文件的时候自定义。 通常在简体中文windows环境下,各种编辑器(包括visual studio)新建文件缺省编码都是GB18030,所以不特别指定的话,...原创 2019-02-21 09:07:14 · 1667 阅读 · 0 评论