
linux
文章平均质量分 54
熬了夜的程序员
coding
展开
-
使用C++实现简单的TCP服务器和客户端
本文将通过一个简单的例子,介绍如何使用C++实现一个基本的TCP服务器和客户端。这个例子展示了如何创建服务器端接收客户端的连接,如何处理接收到的数据,并如何将数据发送回客户端。TCP服务器的实现:包括如何创建服务器、监听端口、接收客户端请求等。TCP客户端的实现:客户端如何连接到服务器、发送数据并接收服务器返回的数据。通过这篇文章,我们实现了一个简单的 TCP 服务器和客户端示例,学习了如何使用 C++ 来进行网络编程。原创 2025-02-24 11:12:34 · 698 阅读 · 0 评论 -
Linux 下的 AWK 命令详细指南与示例
AWK 是 Linux 中功能强大的文本处理工具,用于模式扫描和处理。AWK 以其创建者(Aho、Weinberger 和 Kernighan)的名字命名,特别适合处理如日志、CSV 文件或配置文件等结构化文本数据。本指南全面讲解了 AWK 的功能,并通过实际示例展示其强大之处。script.awkAWK 是一个功能强大的文本处理工具,对于在 Linux 上处理数据的人来说至关重要。其简单性与强大功能的结合,使其在从简单的文本提取到复杂的数据转换的任务中都表现出色。原创 2024-11-21 20:06:05 · 1336 阅读 · 0 评论 -
Linux操作系统中的信号
信号是一种进程间通信机制,用于通知进程某个事件的发生。信号可以由内核、用户、其他进程或硬件生成,并可以在进程运行时的任意时刻传递给进程。每种信号都有一个对应的信号编号和默认行为。忽略信号:进程可以选择忽略某些信号,使其对进程无影响。捕捉信号:通过定义一个信号处理函数,进程可以捕捉并自定义处理信号的行为。执行默认操作:对于大多数信号,Linux提供了默认的处理操作,如终止进程、暂停进程、生成核心转储文件等。原创 2024-08-13 15:54:15 · 919 阅读 · 0 评论 -
使用gRPC基于Protobuf传输大文件或数据流
在gRPC中,服务和消息的定义是通过.proto文件进行的。例如,定义一个文件传输服务,可以在这里定义了一个服务,包含了一个Upload方法,该方法接受一个FileChunk类型的流,并返回一个状态。原创 2024-05-10 14:02:34 · 2300 阅读 · 0 评论 -
Ubuntu下oh my zsh的安装与配置
Ubunt下oh my zsh的安装与配置sudo apt-get install zshchsh -s /bin/zshsh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"git clone https://gitee.com/zhetianlab/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins原创 2022-04-08 14:16:44 · 452 阅读 · 1 评论 -
C语言实现base58算法
Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。Base58 与 Base64 异同相同一般都用于URL,邮件文本,可见字符显示。都会造成信息冗余,数据量增大,因此不会用于大数据传输编码。区别编码集不同,Base58 的编码集在 Base64 的字符集的基础上去掉了比较容易混淆的字符。Base64 采用直接切割 bit 的方原创 2022-03-10 12:07:39 · 1031 阅读 · 0 评论 -
Bash循环系列
文章目录在一系列数字上循环在可变的数字范围内循环在数组上循环在具有索引的数组上循环循环文件的内容循环文件和目录在一系列数字上循环替代 seq.# Loop from 0-100 (no variable support).for i in {0..100}; do printf '%s\n' "$i"done在可变的数字范围内循环替代 seq.# Loop from 0-VAR.VAR=50for ((i=0;i<=VAR;i++)); do printf '%s原创 2021-02-24 10:47:48 · 228 阅读 · 0 评论 -
Bash处理数组系列函数
文章目录反转数组删除重复的数组元素随机数组元素在数组中循环在两个值之间切换反转数组启用extdebug允许访问BASH_ARGV数组,该数组反向存储当前函数的参数。警告: 需要 bash 5.0+ 的 shopt -s compat44 。示例函数:reverse_array() { # Usage: reverse_array "array" shopt -s extdebug f()(printf '%s\n' "${BASH_ARGV[@]}"); f "$@"原创 2021-02-23 15:01:59 · 308 阅读 · 0 评论 -
Bash处理字符串系列函数(五)
文章目录百分号编码字符串解码百分号编码字符串检查字符串是否包含子字符串检查字符串是否以子字符串开头检查字符串是否以子字符串结尾百分号编码字符串示例函数:urlencode() { # Usage: urlencode "string" local LC_ALL=C for (( i = 0; i < ${#1}; i++ )); do : "${1:i:1}" case "$_" in [a-zA-Z0-9.~_-]原创 2021-02-20 11:22:18 · 192 阅读 · 0 评论 -
Bash处理字符串系列函数(四)
文章目录从字符串中去掉第一个出现的模式去掉字符串开始的模式去掉字符串末尾的模式从字符串中去掉第一个出现的模式示例函数:strip() { # Usage: strip "string" "pattern" printf '%s\n' "${1/$2}"}示例用法:$ strip "The Quick Brown Fox" "[aeiou]"Th Quick Brown Fox$ strip "The Quick Brown Fox" "[[:space:]]"TheQu原创 2021-02-20 11:14:16 · 299 阅读 · 0 评论 -
Bash处理字符串系列函数(三)
文章目录反转字符串大小写从字符串中删除引号从字符串中删除模式的所有实例反转字符串大小写警告: 需要 bash 4+示例函数:reverse_case() { # Usage: reverse_case "string" printf '%s\n' "${1~~}"}示例用法:$ reverse_case "hello"HELLO$ reverse_case "HeLlO"hElLo$ reverse_case "HELLO"hello从字符串中删除引号示例原创 2021-02-20 10:53:10 · 171 阅读 · 0 评论 -
Bash处理字符串系列函数(二)
文章目录按分隔符拆分字符串将字符串改为小写将字符串改为大写按分隔符拆分字符串警告: 需要 bash 4+这是cut、awk和其他工具的替代品。示例函数:split() { # Usage: split "string" "delimiter" IFS=$'\n' read -d "" -ra arr <<< "${1//$2/$'\n'}" printf '%s\n' "${arr[@]}"}示例用法:$ split "apples,oranges,pe原创 2021-02-20 10:37:29 · 267 阅读 · 0 评论 -
Bash处理字符串系列函数(一)
文章目录修剪字符串的前导和尾随空格修剪字符串中的所有空白并截断空格在字符串上使用regex修剪字符串的前导和尾随空格这是sed、awk、perl和其他工具的替代品。下面的函数通过查找所有前导和尾随空格并将其从字符串的开头和结尾移除来工作。内置的:用来代替临时变量。示例函数:trim_string() { # Usage: trim_string " example string " : "${1#"${1%%[![:space:]]*}"}" : "${_%"原创 2021-02-20 10:25:23 · 335 阅读 · 0 评论 -
Bash执行命令显示进度和结果
文章目录Bash执行命令显示进度和结果1.代码2.测试效果Bash执行命令显示进度和结果1.代码#!/bin/bash#*************************************************************#Author: yangruitao#Date: 2021-02-01#FileName: system_check.sh#**********************************************************原创 2021-02-02 17:33:11 · 739 阅读 · 0 评论 -
Bash echo输出带颜色和背景的文本
Bash echo输出带颜色和背景的文本1、先上效果图2、bash代码#!/bin/bash#*************************************************************#Author: yangruitao#Date: 2020-11-04#FileName: color.sh#*************************************************************black="0"re原创 2020-11-04 15:59:49 · 523 阅读 · 0 评论 -
Ubuntu18.04 安装Asterisk16.10 + FreePBX15.0
Ubuntu18.04 安装Asterisk16.10 + FreePBX15.01.首先需要先更新一下ubuntu的apt源cp /etc/apt/sources.list /etc/apt/sources.list.bakecho > /etc/apt/sources.listvim /etc/apt/sources.list#然后将下面的内容粘贴到sources.list文件中deb http://mirrors.aliyun.com/ubuntu/ xenial maindeb原创 2020-06-21 17:21:12 · 1803 阅读 · 2 评论 -
Ubuntu18.04更换国内源
Ubuntu18.04更换国内源原文地址:https://www.woozee.com.cn/article/25.html1、打开/etc/apt/sources.listsudo vim /etc/apt/sources.list将原有的数据注释掉,换上国内镜像阿里云源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/u转载 2020-05-19 12:29:38 · 210 阅读 · 1 评论 -
Linux下基于openssl实现数字签名
1、编辑原文件src.txt创建原文件src.txt(也可以是任意类型的文件),这里仅作演示,输入命令:echo "This is a digital signature example." > src.txt2、创建私钥a、创建私钥:#RSA加密算法产生的2048位私钥,并使用F4作为公钥的E参数,将私钥保存在文件key.pri中openssl genrsq -out key...原创 2020-02-03 15:35:56 · 1749 阅读 · 3 评论 -
Ubuntu(linux系统)自动更新系统时间
1、安装ntpdateapt install ntpdate2、crontab添加任务vim /etc/crontab添加一行:* */2 * * * root ntpdate cn.pool.ntp.org;hwclock --systohc原创 2019-12-16 14:06:51 · 2009 阅读 · 0 评论 -
Linux下用ls和du命令查看文件以及文件夹大小
ls的用法ls -l |grep “^-”|wc -l或find ./company -type f | wc -l 查看某文件夹下文件的个数,包括子文件夹里的。ls -lR|grep “^-”|wc -l 查看某文件夹下文件夹的个数,包括子文件夹里的。ls -lR|grep “^d”|wc -l说明:ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是...转载 2019-08-13 10:54:34 · 207 阅读 · 0 评论 -
在vim 中批量添加注释
方法一 :块选择模式批量注释:Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。取消注释:Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出...原创 2019-06-18 16:30:06 · 306 阅读 · 0 评论 -
shell脚本自动生成文件开头注释
编写shell脚本自动生成开头注释在编写bash脚本的时候经常需要在shell里面写一些注释,今天介绍一个简单的方法,可以在每次vim一个shell脚本的时候自动在文件里生成注释简介等信息。下面给大家分享一个shell脚本的模版文件,把它拷贝到用户的家目录下并命名成.vimrc名称,这样以后再打开.sh文件时就会自动生成一些注释信息,只要稍微修改一下即可:set ignorecaseset...原创 2019-06-02 19:12:24 · 1623 阅读 · 0 评论