![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
Linux 编程相关
无聊的阿乐
每天进步一点点,量变才会质变
展开
-
使用 Valgrind 检测内存泄漏
Valgrind 是一个编程工具,用于内存调试、内存泄漏检测以及性能分析。Valgrind 工具集中的 Memcheck 是用于检测内存管理和线程错误的主要工具。原创 2024-05-11 16:07:30 · 996 阅读 · 0 评论 -
c++ 使用 at()访问数组 抛出异常
区别在于,operator[]不做边界检查, 哪怕越界了也会返回一个引用,当然这个引用是错误的引用,如何不小心调用了这个引用对象的方法,会直接导致应用退出。而由于at会做边界检查,如果越界,会抛出异常,应用可以try catch这个异常,应用还能继续运行。当我们定义一个数组vector b(10)后,b[]和b.at()都可以对v中元素进行访问,平时一般大家使用的都是v[]这种访问方法,以至于将v.at()这种访问方式忘记了。str[] 不会检查下标越界,不会抛出异常,所以即使有错误,try 也检测不到。原创 2023-12-23 21:40:52 · 609 阅读 · 0 评论 -
Linux查看某个端口被占用
【代码】Linux查看某个端口被占用。原创 2023-11-23 15:23:45 · 149 阅读 · 0 评论 -
Linux 下 使用 Ekho 进行TTS文本转语音
官网Ekho(余音)是一个免费、开源的中文语音合成软件。支持普通话、粤语。支持Linux、Windows和Android平台。原创 2023-11-13 15:40:29 · 1755 阅读 · 0 评论 -
linux minicom 调试串口
【代码】linux minicom 调试串口。原创 2023-10-21 21:00:27 · 359 阅读 · 0 评论 -
Linux 新硬盘分区,挂载
在 fdisk 命令行界面中,输入 m 来列出可用命令,然后使用 n 命令来创建一个新的分区。最后,使用 w 命令将分区保存到硬盘中,并使用 q 命令退出 fdisk 工具。在 /etc/fstab 文件中添加分区:在 /etc/fstab 文件中添加分区内容,以便系统在启动时自动挂载分区。通常情况下,硬盘设备名称以 /dev/sd 开头,后面跟着一个字母(如 /dev/sda、/dev/sdb 等)。在Linux系统中,当你插入新的硬盘时,你需要进行一些步骤来使系统识别并使用它。将新分区挂载到挂载点。原创 2023-07-30 12:01:54 · 351 阅读 · 0 评论 -
linux下 UART串口相关
操作串口我们一般通过以下指令:stty -F /dev/ttyS0 -a #ttyS0为要查看的串口该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。一般情况下设置这两个参数就可以了,如果显示数据乱码,可能还需要设置其它参数,使用man查看stty其它设置选项。1 、显示某个串口参数信息:stty -F /dev/ttySTM6 -a 2 、设置某个串口参数信息: 2.1 7 位数据位,无校验,1位停止位,无回显。原创 2023-07-23 18:44:16 · 2833 阅读 · 0 评论 -
Linux 下 nc 发送接收 udp、tcp数据
nc,全名叫 netcat,它可以用来完成很多的网络功能,譬如端口扫描、建立TCP/UDP连接,数据传输、网络调试等等,因此,它也常被称为网络工具的 瑞士军刀。原创 2023-07-22 21:39:53 · 7439 阅读 · 0 评论 -
linux shell 脚本记录日志
shell 脚本记日志原创 2023-06-21 14:57:45 · 2084 阅读 · 0 评论 -
shell脚本 - 删除某个字符串的前几行、后几行
1、删除匹配字符串的前两行,后一行,可以同时删除多个,循环删除。2、删除某个字符串的前几行、后几行,比较灵活。原创 2023-06-10 20:54:43 · 2643 阅读 · 0 评论 -
sed 删除多行
3、使用sed命令打开文本文件,并使用正则表达式匹配需要删除的多行。其中,pattern 是要匹配的正则表达式,N 是要删除的行数。这条命令会删除从包含 pattern 的行开始的 N 行。其中的5和10表示要删除的行号的范围,d表示删除的命令,filename表示要操作的文件名。这将删除从包含 “hello” 的行开始的两行。原创 2023-06-09 15:04:54 · 5087 阅读 · 0 评论 -
Linux echo输出带颜色的内容,闪烁等
参考原创 2022-05-09 14:40:01 · 428 阅读 · 0 评论 -
Linux ALSA音频工具
alsamixer是Linux音频框架ALSA工具之一,用于配置音频各个参数;alsamixer是基于文本图形界面的,可以在终端中显示.通过键盘的上下键,左右键等实现音量设置,开关操作等。amixer,是alsamixer的文本模式,即命令行模式,以命令行的形式去配置声卡的各个选项,比如选择音频输入通道是Mic输入,还是Line输入。原创 2023-05-22 17:49:57 · 941 阅读 · 0 评论 -
fuser 列出使用某文件的进程号,查看文件是否被占用
1、列出使用某文件的进程号。2、列出指定端口的进程号。原创 2023-05-20 18:58:24 · 193 阅读 · 0 评论 -
嵌入式开发:NFS挂载目录
搭建NFS环境原创 2023-04-25 10:56:04 · 450 阅读 · 0 评论 -
linux查看目录占用空间大小
2、查看当前目录下某文件使用空间大小。1、查看当前目录使用的总空间大小。3、查看当前目录使用空间大小。后边的数字代表深入目录的层级。原创 2023-04-14 16:36:49 · 1302 阅读 · 0 评论 -
linux 下/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的区别
当你签退后,shell也终止了。/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取.原创 2023-04-12 11:27:06 · 1123 阅读 · 0 评论 -
Linux 平台下发布QT程序
QT在Linux下发布原创 2023-02-18 18:30:29 · 695 阅读 · 0 评论 -
Ubuntu20.04设置SSH远程登录
ubuntu20配置SSH原创 2023-01-29 17:25:34 · 1925 阅读 · 1 评论 -
Ubuntu通过修改配置文件interface进行网络配置的方法
【代码】Ubuntu通过修改配置文件interface进行网络配置的方法。原创 2022-11-30 21:29:00 · 4482 阅读 · 0 评论 -
C++读写解析ini配置文件
支持解析ini文件支持修改、保存ini文件支持设置多个注释符,默认为“#”和’;’运行在Linux 下。原创 2022-11-04 18:58:43 · 3345 阅读 · 0 评论 -
Cmake打包deb包
参考资料:Cpack入门。原创 2022-10-12 13:04:08 · 1043 阅读 · 0 评论 -
Zlog日志库使用方法
【代码】Zlog日志库使用方法。原创 2022-10-10 18:25:26 · 310 阅读 · 0 评论 -
Linux下虚拟机模拟串口通信
开发环境:虚拟机:VirtualBox虚拟串口工具:VSPD串口调试工具:深蓝串口调试工具。原创 2022-09-11 21:37:56 · 2286 阅读 · 0 评论 -
Linux 系统调用相关,及新增一个系统调用
系统调用本质上是应用程序请求操作系统内核完成某功能时的一种过程调用。原创 2022-08-07 21:33:44 · 127 阅读 · 0 评论 -
web编程(三)显示html网页
下面列出几个html脚本,并将其放到/usr/local/apache/htdocs目录下,该目录下存放的都是网页。在浏览器输入服务器的ip和脚本名字,显示一个图片。原创 2022-07-23 21:30:12 · 703 阅读 · 0 评论 -
web编程(二)CGI相关
当用户使用代理服务器访问时,HTTP_QVIA环境变量的值不为空,用户的IP也就是代理服务器的IP了。用户没有用代理服务器访问时,则IP地址就在REMOTE_ADDR环境变量中了。拷贝post.html到/usr/local/apache/htdocs/下。本地执行是获取不到环境变量的,只有放到cgi-bin下,在浏览器执行才可以。拷贝post到/usr/local/apache/cgi-bin/下。编译好之后放到apache/cgi-bin/目录下。...原创 2022-07-23 21:29:25 · 545 阅读 · 0 评论 -
web编程(一)使用Apache搭建http服务器,实现CGI
专门处理HTTP请求的服务器,也被称为Web服务器。常用的Web服务器有Apache和Nginx,当然几大巨头五联网公司也都有其独自研发的Web服务器,比如阿里巴巴的Tengine。我们使用Apache作为Web服务器,并按照下面5个步骤安装好Apache。............原创 2022-07-20 22:11:57 · 1193 阅读 · 0 评论 -
创建一个守护进程
参考《后台开发核心技术与应用》第10.4小节。原创 2022-07-16 11:27:31 · 643 阅读 · 0 评论 -
使用epoll 提高服务器的处理能力
参考《后台开发:核心技术与应用》7.5小节运行平台为Linux2、client.cpp3、现象从执行结果中可以看出,比如客户端给服务器发了“ aa_00 。”,客户端最终输出到标准输出的是“ aa_00_01 ”, 这也证明了给服务器发包和输出数据到标准输出时,用的是write 函数( count 只有在调用 write 函数时才会自增)...原创 2022-07-10 14:25:17 · 104 阅读 · 0 评论 -
win + linux: send()/recv()和write()/read()
在 Linux 和 Windows 平台下,使用不同的函数发送和接收 socket 数据Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据;也可以使用send()、recv()。两台计算机之间的通信相当于两个套接字之间的通信,在服务器端用 write() 向套接字写入数据,客户端就能收到,然后再使用 read() 从套接字中读取出来,就完成了一次通信。write() 的原型为:read() 的原型为:2、Windows下原创 2022-07-10 13:05:55 · 351 阅读 · 0 评论 -
使用 select 函数提高服务器的处理能力
server.cppclient.cpp原创 2022-07-07 20:55:32 · 83 阅读 · 0 评论 -
使用 poll 函数提高服务器处理能力
参考《后台开发:核心技术与应用》7.3小节运行平台为Linuxserver.cppclient.cpp原创 2022-07-09 18:03:57 · 117 阅读 · 0 评论 -
一个初级多线程服务器模型
一个服务端程序,能与多个客户端进行通信。那么,这个服务端是怎么实现的呢?它就是很常规的多线程服务器。运行平台为VS2015。既然是多线程服务器,那么,这些线程肯定是有明确分工的。主线程来处理网络的连接,而通信线程来处理客户端与服务端的通信。而且,主线程要负责多个客户端的连接请求,所以不能阻塞主线程哦,因此必须用非阻塞socket.服务端程序如下:2、客户端实现我们可以看到,上述服务端的程序需要有主线程和通信线程,而客户端的程序就相对简单了,主线程本身就是通信线程。程序如下:我们编译并运行程序,开启3个原创 2022-06-25 16:35:01 · 114 阅读 · 0 评论 -
Linux和Windows符号导入导出(库调用相关)
Linux和Windows符号导入导出的对比分析原创 2022-05-12 14:35:09 · 268 阅读 · 0 评论 -
Linux 下查找某个库里是否有某个函数定义
nm -D libnucs.so(库名) | grep SDF_ExchangeDigitEnvelopeBaseOnRSA(函数名)原创 2022-05-31 18:20:03 · 546 阅读 · 0 评论 -
基于X86平台的Linux系统裁剪(三)
整个过程按照该博客做就可以:Linux系统启动流程及系统裁剪,以下要点需要注意:一、实验要点1、第一个点困扰我好多天的问题终于解决了,为啥识别不到硬盘分区,是因为我在虚拟机上做实验,硬盘创建的时候创建了 多个文件,必须得将虚拟磁盘创建成单个文件才行。这样挂载文件系统的时候就可识别到sda,sda1,sda2了sda1对应硬盘上的boot分区,sda2对应sysroot分区2、第二个点由于grub的版本不同,所需要的配置文件也不一样,我使用的grub-2.02,配置文件为grub.cfg。之原创 2022-04-28 22:46:53 · 904 阅读 · 0 评论 -
Linux进程间通信之互斥锁(共享内存实现),包括C++11的事件,信号量
#pragma once#include <mutex>#include <condition_variable>#include <chrono>#include <string>#include <memory>#ifndef _WIN32#include <unistd.h>#include <semaphore.h>#include <stdio.h>#include <fcn原创 2022-04-25 18:18:52 · 3506 阅读 · 1 评论 -
Linux shell中函数编写
该脚本实现功能为:判断Linux用户是否在线,任意输入一个用户即可#!/bin/bash #注意几点:函数的定义中,括号里面不能写任何东西(第一行);函数必须定义在调用之前; 给函数传参的时候,传递的参数在函数的定义里用$n 来表示第 n 个参数。$?代表函数调用 的返回值。check_user(){ # 若函数的第一个参数$1 为“quit”,则立即结束脚本 if [ $1 = "q" ] #判断字符串用= ,数值用-eq =两边要加空格 then exit fi U原创 2022-03-21 18:08:22 · 1252 阅读 · 0 评论 -
Linux下查看电脑配置信息
1、输入"uname -a ",可显示电脑以及操作系统的相关信息2、输入"cat /proc/version",说明正在运行的内核版本。3、输入"cat /etc/issue", 显示的是发行版本信息4、lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)查看CPU信息:1.1 查看CPU个数# cat /proc/cpuinfo | grep "physical id" | uniq | wc -.原创 2022-03-10 17:02:27 · 11136 阅读 · 0 评论