Linux
MY CUP OF TEA
所谓的念念不忘,在自己眼中是爱,在对方眼中是烦,在旁人眼中是贱。
展开
-
server和client之间进行Socket通信,进行数据切片
send函数和recv函数原创 2022-09-05 19:47:20 · 376 阅读 · 0 评论 -
Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本
Ubuntu安装GmSSL库原创 2022-07-13 22:00:47 · 1151 阅读 · 1 评论 -
使用国密浏览器和使用Wireshark进行国密抓包
使用的软件信密浏览器密信浏览器发布Windows正式版 - 密信技术 国密Wireshark GMSSL - 国密SSL实验室 支持国密算法的网站https://www.wotrus.com/流程操作打开windows终端,使用命令ping沃通网站,找到这个网站的ip地址 ping www.wotrus.com打开wireshark软件,在表达式一栏 输入命令 ip.addr ==ip.addr == 123.59.210.175 在密信浏览器里面 输入沃通官...原创 2021-12-13 09:46:49 · 4355 阅读 · 2 评论 -
火狐浏览器添加MetaMask钱包和本地开启私有链开发
火狐浏览器添加MetaMask钱包因为对其配置了代理工具,所以直接使用谷歌引擎搜索MetaMask钱包即可第一次使用,立即开始设置点击我同意,进行密码的创建牢记助记词,助记词及其关键,将其存储在安全的地方区块链-开发 Metamask 连接私有节点,且导入节点账号第一步,Metamask设置节点连接。 (前提:需要自己手动搭建以太坊私有节点,我用的是geth,且搭建在ubtuntu上,关于ubtuntu搭建geth,请参考我的其余文章) 点击设置开启相...原创 2021-12-11 11:06:40 · 13666 阅读 · 0 评论 -
Ubuntu搭建联盟链,实现节点之间数据同步
安装go环境从参考链接选择Linux版本的go的安装包使用命令 mv go(Tab补全)/usr/local 移动go安装包到/usr/local目录下 使用命令解压 sudo tar -xvzf go(Tab补全) 配置环境 sudo gedit ~/.profile export PATH=$PATH:/usr/local/go/bin 激活生效source ~/.profile 验证go version 如果输出结果类似go version go1...原创 2021-12-11 10:56:34 · 11855 阅读 · 0 评论 -
undefined reference to `std::ios_base::Init::Init() 解决
undefined reference to `std::ios_base::Init::Init() 解决(一)gcc 编译C++程序是提示错误undefined reference to `std::ios_base::Init::Init() 的解决方法在linux下编译c++ 程序要使用g++ 编译器,如果你要是使用gcc编译器就会有上面的报错信息,只要在在gcc后加上 -lstdc++就ok了eg: gcc example.c -lstdc++(二)gcc 和 g++ 是有区别的转载 2021-10-03 10:56:02 · 4166 阅读 · 0 评论 -
Linux高性能服务器编程 第5章 Linux网络编程基础API
5.1 socket 地址 API现代CPU的累加器一次都能装载(至少)4 字节(这里考虑32位机,下同),即一个整 数。那么这4 字节在内存中排列的顺序将影响它被累加器装载成的整数的值。这就是字节序 问题。字节序分为大端字节序(big endian)和小端字节序(little endian)o 大端字节序是指 一个整数的高位字节(23〜 31 b it)存储在内存的低地址处,低位字节(0 〜 7 b it)存储在 内存的高地址处。小端字节序则是指整数的高位字节存储在内存的高地址处,而低位字节则原创 2021-07-19 17:09:39 · 434 阅读 · 0 评论 -
ubuntu配置静态IP
参考链接ubuntu 18.04 设置静态ip方法原创 2021-06-15 09:28:34 · 87 阅读 · 0 评论 -
解决 ubuntu出现的 cd Do-bash: cannot create temp file for here-document: Permission denied问题
使用命令sudo chmod -R 1777 /tmp参考链接参考链接原创 2021-06-11 15:20:14 · 1450 阅读 · 1 评论 -
ubuntu apt报错无法获得锁/var/lib/dpkg/lock 和无法锁定管理目录
使用命令sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock原创 2021-05-27 20:30:03 · 171 阅读 · 1 评论 -
std::tie简单介绍
参考链接std::tie详解原创 2021-05-26 14:42:50 · 530 阅读 · 0 评论 -
memory_buffer详解
参考链接API Reference原创 2021-05-26 13:47:04 · 763 阅读 · 0 评论 -
ubuntu 修改旋转屏幕显示方向 恢复正常模式
参考链接https://blog.csdn.net/YYshuangshuang/article/details/90576997使用命令如下 xrandr -o normal 回到正常角度原创 2021-05-24 14:45:52 · 2355 阅读 · 0 评论 -
虚拟机下Ubuntu配置IP地址和网段
服务器密码机的地址是172.27.120.99ubuntu系统的IP地址是192.168.133.138,使用net方式和主机共享网络。现需要修改ip地址原创 2021-05-21 19:06:41 · 1620 阅读 · 0 评论 -
修改ubuntu的IP地址,静态IP地址
师姐,配置ip地址 当时你给服务器安装系统,然后配置IP地址,是使用这条命令吗?sudo ifconfig eth0172.27.100.110 netmask 255.255.0.0原创 2021-05-19 09:54:26 · 116 阅读 · 0 评论 -
Ubuntu通过可视化界面配置 查找IP地址不存在的解决办法
命令行用ifconfig eno0 up,启用网卡,没有问题,硬件ok,但是配置里面还是找不到。 之前修改了 /etc/network/interfaces,去掉配置。由于图形界面使用的是 network-manager,所以需要修改重启 sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo vim /etc/NetworkManager/NetworkManager..原创 2021-05-13 13:01:20 · 815 阅读 · 0 评论 -
Linux dd命令 复制(拷贝)文件,并对原文件进行转换
dd,是 device driver 的缩写,它可以称得上是“Linux 世界中的搬运工”,它用来读取设备、文件中的内容,并原封不动地复制到指定位置。 其实现在的主流硬盘已经是 SATA 接口的了,下面我要备份的硬盘是 dev/sda,它就是块 SATA 盘。 [root@roclinux ~]# dd if=/dev/sda of=/root/sda.img 这个命令将 sda 盘备份到指定文件 /root/sda.img 中去,其中用到了如下两个选项: if=文件名:指定输入文件名或者设备...原创 2021-05-12 17:28:03 · 581 阅读 · 1 评论 -
接上文 VM安装的ubuntu系统,配置双网卡
点击编辑 进入虚拟网络编辑器 点击更改设置 补充:如何判定桥接至哪张网卡?进入win,win+r 输入cmd;输入 systeminfo选中系统,点击右键,选中设置重启系统 使用 ifconfig查看,发现有eth0和eth1 或者使用命令 ip addr也是一样的 但是此刻没有IP信息,无法访问网络 参考我的其余博客相关补充桥接模式和NAT模式的区别:桥接模式就是将虚拟网卡映射到物理网卡,相当于虚拟机直接使用物理网卡,可以用来连接目标设备进行...原创 2021-04-28 15:59:27 · 190 阅读 · 0 评论 -
ubuntu配置静态IP地址
sysconf_client update -t network -j '{"netdev":"eth0","ip":"a.b.c.d","mask":"255.255.255.0"}'原创 2021-04-27 21:23:26 · 120 阅读 · 0 评论 -
接入上文,StarWind V2V Image Converter:虚拟机镜像转换工具,如何使用转化之后的 VMware VMDK 文件
教程新建虚拟机 使用自定义模式原创 2021-04-26 13:20:42 · 1640 阅读 · 0 评论 -
StarWind V2V Image Converter:虚拟机镜像转换工具,可将 IMG 文件转换为 VMware VMDK 文件
操作流程选择本地的需要转换的文件找到源文件的路径,img格式选择转化后的格式 第一个选择 第二个 速度快一些选择将转化后的文件的存储路径软件的下载链接链接:https://pan.baidu.com/s/1Fe6yI42Zz9d_Q7aUhGe1FQ提取码: 5vmv...原创 2021-04-26 13:09:32 · 13054 阅读 · 0 评论 -
ubuntu修改字体 样式
使用 快捷键 ctrl+alt+t 打开终端 安装gnome-tweaks桌面管理工具sudo apt install gnome-tweaks alt+f2在运行窗口输入gnome-tweaks命令,然后回车 打开优化窗口,选择第二个front字体选项ubuntu显示中文...原创 2021-04-26 10:45:46 · 700 阅读 · 0 评论 -
线程的编程
完整代码#include <sys/shm.h>#include <iostream>#include <unistd.h>#include <pthread.h>void * child1(void *arg){ pthread_t tid = pthread_self(); printf("1 thread %lu \n",tid);}int main(int argc,ch...原创 2021-03-12 23:17:03 · 173 阅读 · 0 评论 -
clion编写C++ 使用多线程时候,CMakeLists.txt书写,引用-pthread
添加如下一行 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") 具体的例子cmake_minimum_required(VERSION 3.17)project(mutex_learn)set(CMAKE_CXX_STANDARD 14)set(BOOST_ROOT "/usr/local/include/boost")#添加头文件搜索路径include_directories(/usr/local/include)#添加原创 2021-03-11 22:04:44 · 1134 阅读 · 0 评论 -
进程之间通信 共享内存
命令ipcs 命令查看共享内存、消息队列、管道等相关信息 ipcs -m 查看共享内存的信息代码创建共享内存 共享内存 关联 进程 分离共享内存 删除共享内存#include <sys/shm.h>#include <iostream>#define BUF_SIZE 1024int main() { int share_id = 0; //创建共享内存 if ((share_id = shmge...原创 2021-03-11 21:13:49 · 138 阅读 · 5 评论 -
Linux进程之间通信 消息队列
使用命令ipcs -q 查看对应的消息队列代码文件接收者#include <sys/types.h>#include <stdio.h>#include <unistd.h>#include <string>#include <signal.h>#include <wait.h>#include <sys/msg.h>#include <cstring>#d..原创 2021-03-08 23:25:01 · 151 阅读 · 1 评论 -
Linux进程之间通信 信号
2) SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。 3) SIGQUIT 和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。 15) SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出,shell命令...原创 2021-03-08 22:35:02 · 169 阅读 · 3 评论 -
linux 编译C++文件 相关指令
gcc xx.cpp -o xx -lstdc++原创 2021-03-08 22:18:53 · 133 阅读 · 1 评论 -
嵌入式Linux多任务编程 进程 管道 命名管道
进程进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统执行资源分配和保护的基本单位。 程序的一次执行就是一个进程 一个程序可以派生多个进程 多个不同程序运行的时候,也会有多个相对应的进程与其相互对应 进程是动态的,有始有终,有自己的生命周期,有进程状态的变化程序与进程的区别程序是静止的,无生命的,进程是活动的 程序是可以脱离机器长期存在,而进程是执行了的程序 程序不具备并发性,不占据系统的资源,进程则相反,具备并发性、会占据内存空间,并且会受到其他进程原创 2021-03-08 21:02:32 · 259 阅读 · 2 评论 -
Linux查看文件的首个字母 文件属性字段
-rw-r–r– 1 root root 762 07-29 18:19 exit 文件属性字段总共有10个字母组成;第一个字符代表文件的类型。文件属性字段字母“-”表示该文件是一个普通文件 字母“d”表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写;注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息 字母“l”表示该文件是一个链接文件。字母”l”是link(链接)的缩写,类似于windows下的快捷方式 字母“b”的表示块设备文件(block),一般置于原创 2021-03-08 17:39:26 · 1192 阅读 · 0 评论 -
Linux进程 excel族函数的用法
介绍使用fork创建一个进程之后,经常会在新进程中调用exec函数执行别的程序 当前进程调用exec函数之后,这个进程会被完全替代换成新的程序,即便如此仍然是同一个进程,进程ID不变 函数族 execl execlp execle execvp execvpe 头文件 <unistd.h> 功能:在进程中执行一个可执行文件,gcc -o xxx.c xxx 返回值:成功无返回值;失败返回 -1,并且从源程序的调用点继续执行#include <unistd.h>ex原创 2021-01-26 11:28:18 · 912 阅读 · 0 评论 -
解决VM虚拟机中ubuntu系统上不了网的问题
最简单的方式关闭虚拟机 在对应的虚拟机上右键,点击设置,找到网络适配器,点击移除,再次点击添加,将网络适配器再次添加回来,点击确定 重启虚拟机如果第一种方式解决不了问题,请使用第二种方式第二种方式打开终端, (1) 输入sudo service network-manager stop (2) sudo rm /var/lib/NetworkManager/NetworkManager.state (3) sudo service network-manager start .原创 2021-01-20 16:31:30 · 19124 阅读 · 43 评论 -
如何查看软连接,以及相关注意事项
使用命令ls -il图片显示参考链接Linux 命令之软连接详解 Linux软连接 查看/创建/删除原创 2021-01-18 18:26:24 · 6840 阅读 · 0 评论 -
linux查看系统日志
cd /var/log/ gsc@ubuntu:/var/log$ tail -f syslog原创 2021-01-13 21:44:33 · 167 阅读 · 0 评论 -
git初始化本地代码,不保留自己修改的内容的命令
git reset --hard origin/master git pull原创 2021-01-12 15:08:02 · 400 阅读 · 1 评论 -
进程锁 读写文件的小例子 C++代码
代码#include <unistd.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <cassert>#include <pthread.h>#include <cstdio>#include <cstdlib>#include <fstream>#include <ios原创 2021-01-08 18:43:49 · 282 阅读 · 0 评论 -
将读写锁放到共享内存,实现进程之间对于同一文件的读写操作
思路将读写锁和读写锁的属性以及一个用于存储共享内存的地址的int型变量三者封装成一个struct结构 将这个结构体放到共享内存中,以及将读写锁的属性设置成全局性质,然后使用这个属性初始化锁,以及将锁的地址关联到结构体的内存地址这个变量 定义一个销毁函数,用于退出进程的时候,将内存空间销毁,以及删除对应的变量 定义读写函数,读函数读取文件的内容,输出文件的内容;写函数,以追加的方式,向指定文件中写入数据 测试:使用fork创建父子两个进程,定义一个for循环,循环5次之后,退出循环并且执行销毁函数原创 2021-01-06 15:40:50 · 2670 阅读 · 5 评论 -
将读写锁放到共享内存中,实现进程之间对数据的读写访问控制
代码#include <unistd.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <assert.h>#include <pthread.h>#include <stdio.h>#include <stdlib.h>#include <fstream>#include <原创 2021-01-06 14:43:21 · 501 阅读 · 0 评论 -
关于锁的注意事项
文件锁Linux 提供了fcntl系统调用,可以锁定文件 但是文件锁是和进程相关联的,一个进程中的多个线程/协程对同一个文件进行的锁操作会互相覆盖掉,从而无效。 fcntl创建的锁是建议性锁,只有写入的进程和读取的进程都遵循建议才有效;对应的有强制性锁,会在每次文件操作时进行判断,但性能较差,因此 Linux/Unix 系统默认采用的是建议性锁。写入日志文件使用O_APPEND标志来打开文件,这样在每次写入时都会lseek到文件末尾进行写入,这是一个原子操作,因此不会产生同步问...原创 2021-01-02 22:22:49 · 125 阅读 · 0 评论 -
linux fork多进程 demo
注释使用系统调用fork()创建三个子进程; 各个子进程显示和输出一些提示信息和自己的进程标识符; 父进程显示自己的进程ID和一些提示信息,然后调用waitpid()等待多个子进程结束,并在子进程结束后显示输出提示信息表示程序结束。代码#include <iostream>#include <unistd.h>#include <cstdarg>#include <wait.h>#include "crypto_util.h"int原创 2021-01-02 22:13:15 · 219 阅读 · 0 评论