自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 node安装部署

本文介绍了在Linux ARM64系统上安装Node.js 26.5.0版本的步骤:首先从官网下载压缩包,解压到/opt目录;然后创建node、npm和npx命令的软链接到/usr/local/bin以便全局使用;最后通过node -v和npm -v验证安装是否成功。整个过程简洁明了,适合在基于ARM64架构的Linux系统上部署Node.js运行环境。

2026-07-11 15:46:11 160

原创 容器tini

Tini是一个轻量级init进程,专为解决容器环境中的僵尸进程堆积和信号处理问题而设计。作为PID 1运行时,它能自动回收僵尸进程并正确转发信号,确保应用优雅关闭。Tini支持子进程收割、信号转发、退出码重映射等功能,体积仅10-20KB。建议通过Docker的ENTRYPOINT使用Tini,多进程应用需添加-g参数。特别适合Java等应用处理SIGTERM信号(可通过-e 143参数将143退出码视为成功)。安装方式包括包管理器安装或直接使用静态二进制文件,是容器部署的重要稳定性组件。

2026-05-25 11:08:15 216

原创 vim删除文本文件内容

KaTeX parse error: Expected 'EOF', got '#' at position 5: d #̲删除第5000行到最后一行。:w backup.txt #先保存备份。:1,5000d #再执行删除。#删除不包含特定文本的所有行。#删除包含特定文本的所有行。#删除当前行到第100行。

2025-09-29 17:10:07 209

原创 snd_usb_audio和btusb驱动的作用

Linux系统中有两个重要的USB驱动:snd_usb_audio和btusb。snd_usb_audio是ALSA声音子系统的一部分,负责驱动USB音频设备(如耳机、麦克风、外置声卡等),直接处理音频数据流,提供播放/录音功能。btusb属于蓝牙子系统,驱动USB蓝牙适配器,负责传输蓝牙协议数据包(包括音频数据),但不直接处理音频内容。前者实现USB音频设备的即插即用,后者为蓝牙功能(包括连接蓝牙耳机)提供底层支持,两者分别服务于不同的USB设备类型和应用场景。

2025-07-21 17:39:25 761

原创 windosw无法启动的随笔

其实是我手动删除了ESP分区,windows必须有ESP,MSR和C盘。手动新建ESP分区即可,然后再修改引导。复制引导文件到ESP分区。1.提示无法找到BCD文件,出现蓝屏。下载老毛桃PE,在pe中修改引导即可。2.误删除ESP分区,导致无法进入系统。以为是将其他分区格式化后把分区给删了。

2025-06-10 21:40:42 179

原创 0529笔记

对应deb包,可以在data文件中使用CMakelist.txt增加。如修改QMessageBox。2.阻塞执行linux命令。1.拷贝文件到系统目录。开机desktop执行。

2025-05-29 16:55:03 241

原创 麒麟编译python

如果需要使用特定版本的Python作为默认Python版本,你可能还需要调整系统的符号链接或者在.bashrc、.zshrc等配置文件中设置相应的路径。在Linux系统上,特别是在使用麒麟操作系统(Kylin OS,基于Ubuntu/Debian发行版)上,编译并安装Python 3.10可以从源代码编译,然后指定安装路径。访问 Python官方下载页面,找到Python 3.10的版本,并下载源代码。这样,当你在终端中输入python3时,将默认调用你的新版本Python。4. 配置并编译Python。

2025-02-14 10:07:20 1476

原创 linux gio 用法

关于 GIO 库中的和这三个函数的详细介绍。

2024-05-21 14:15:43 875

原创 麒麟v10添加日志方法

麒麟系统使用log4加入日志。

2024-04-03 20:19:29 1048

原创 pkg-config

pkg-config从/usr/lib/pkgconfig,/usr/share/pkgconfig,~/.local/lib/pkgconfig,/usr/local/lib/pkgconfig等路径中读取.pc文件。对于Linux系统中的库,通常在安装过程中会自动创建对应的.pc文件。这些文件通常位于/usr/lib/pkgconfig、/usr/share/pkgconfig等目录下。这样,当你运行pkg-config时,它会从所有已设置的路径中查找.pc文件,包括你的自定义路径。

2024-01-23 14:11:28 736 1

原创 快捷键与shell

bash快捷键PS1命令提示设置默认:echo KaTeX parse error: Undefined control sequence: \[ at position 5: PS1\̲[̲\e]0;\u@\h: \w\…{debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:[\033[01;34m]\w[\033[00m]$

2022-02-22 09:57:02 233

原创 图形模式设置

1.修改linux图形模式systemctl get-default #查看默认模式systemctl set-default graphical.target #设置为图形模式systemctl isolate multi-user.target #当前立即进入字符模式systemctl isolate graphical.target #当前立即进入图形模式2.#关闭锁屏gsettings set org.ukui.screensaver lock-enabled false

2022-01-27 15:51:30 749

原创 dbus基础-qt版

DBus基础概述D-Bus 是针对桌面环境优化的 IPC(interprocess communication )机制,用于进程间的通信或进程与内核的通信。最基本的 D-Bus 协议是一对一的通信协议。但在很多情况下,通信的一方是消息总线。消息总线是一个特殊的应用,它同时与多个应用通信,并在应用之间传递消息。消息总线的角色有点类似于X 系统中的窗口管理器,窗口管理器既是 X 客户,又负责管理窗口。支持 DBUS的系统都有两个标准的消息总线:系统总线和会话总线。系统总线用于系统与应用的通信,会话总线用

2022-01-17 17:36:27 720

原创 GTK基础

GTK基础@hfqwGTK基础通过简单的GtkWidget建立窗口1.通过GtkWidget构建基础的窗口#include <gtk/gtk.h> int main(int argc,char *argv[]){ //1.gtk环境初始化 gtk_init(&argc, &argv); //2.创建一个窗口 GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //3.设置窗口标题 gtk_

2022-01-13 18:38:20 600

原创 2021-07-28

1,typedef与define异同点typedef int INT将INT代表int#define INT int两个都有起别名的作用不同:typedef可用来为系统,define可以定义变量,常量等define是预编译过程定义别名,typeof是程序编译过程中处理...

2021-07-28 23:47:22 129

原创 getmntent setmntent endmntent 用法

linux中使用getmntent setmntent endmntent 用法1.首先需要知道mntent这个结构体,它是专门用来对应/etc/mtab或者/etc/fstab中的每一行的数据。mntent定义如下: struct mntent { char *mnt_fsname; /* name of mounted file system */ char *mnt_dir;

2021-07-26 23:12:38 1004

原创 Qt-对话框

对话框运行对话框时,是否还可以和该程序的其他窗口进行交互。分为:模态对话框非模态对话框模态对话框QDialog *dialog;dialog.exec();没有关闭它之前,不能与同一个应用程序的其他窗口进行交互。非模态对话框QDialog *dialog = new QDialog(this);dialog->show();既可以与它交互,也可以同同一程序中的其他窗口进行交互。前面加dialog->setModal(true);也可以建立模态对话框。另:调用完show

2021-05-24 22:29:38 151

原创 UEFI和bios启动过程

作者:张良怀链接:https://www.zhihu.com/question/21672895/answer/45616136来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。BIOS启动流程:系统开机 - 上电自检(Power On Self Test 或 POST)。 POST过后初始化用于启动的硬件(磁盘、键盘控制器等)。 BIOS会运行BIOS磁盘启动顺序中第一个磁盘的首440bytes(MBR启动代码区域)内的代码。 启动引导代码从BIOS获得.

2021-03-20 23:00:55 3141

原创 2021-03-16

c++ helloworld.cpp -o helloworldgcc helloworld.cpp -lstdc++ -ohelloworld

2021-03-16 22:13:38 110

原创 qt之sqlite操作1

主要涉及以下类(或头文件):QSqlDatabase和QSqlQuery,其中QSqlDatabase用于创建数据库,QSqlQuery用于执行sql语句。1.QSqlDatabase创建连接数据库实例,一个QSqlDatabase的实例代表了一个数据库连接。QSqlDatabase db = QSqlDatabase::addDatabase("QOCI", "QSQLITE"); //设置数据库驱动类型为sqlitedb.setHostName("localhost"); //数据库

2021-02-25 23:35:40 238

原创 qt学习-day01

涉及各文件以及格式,快捷键等内容。return a.exec()让应用程序对象进入消息循环机制中,代码阻塞到当行。pro文件:QT += core gui Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上 包含 widget模块TARGET = 01_FirstProject //目标 生成的.exe程序的名称TEMPLATE = app //模板 应用程序...

2021-02-03 21:48:51 224

原创 debain打包(三)-launchpad

dpkg-source -x xxx.dsc 解压源码包patch生成两种方法:1.quilt 2.dpkg-source --commitdpkg-buildpackage -b本地打包,显示编译过程,用来验证debuild -S 打包,生成changes文件等(debuild -us -uc)dput devppa:gfzy-sh/kylin-desktop/v101-desktop-gfzy-test *.change 上传change文件到编译仓库...

2021-01-25 13:02:24 495

原创 gtk中的函数学习

g_file_test()gboolean g_file_test (const gchar *filename, GFileTest test);对于指向常规文件的符号链接,G_FILE_TEST_IS_SYMLINK和G_FILE_TEST_IS_regular都将返回TRUE。gtk_file_chooser_add_shortcut_foldergbooleangtk_file_chooser_add_shortcut_folder (GtkFi.

2021-01-20 11:16:40 305

原创 debian基础操作与打包命令

apt 命令与dpkg 命令我们ubuntu 系统中安装软件包常用的两个命令: apt-get / dpkg我们安装软件包常用的apt-get 使用它安装软件常常会自己去解决依赖。dpkg 是需要我们下载好包和依赖才可以将一个软件安装成功下面记录一些apt 的命令及解释apt-cache search #------(package搜索包)apt-cache show #------(package获取包的相关信息,如说明、大小、版本等)apt-get in...

2021-01-17 18:54:44 954

原创 debian打包(一)

1.patch生成使用quilt,quilt 程序是 Debian 打包过程中采用的补丁管理工具。首先来创建一个别名 dquilt,以方便打包之需: 添加以下几行内容到 ~/.bashrc 文件中。其中第二行可以给 dquilt 命令提供与 quilt 命令相同的 shell 补全:alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"complete -F _quilt_completion -o filenames dquilt

2021-01-17 18:52:11 1063

原创 Shell字符串截取的详细方法

https://www.jb51.net/article/47529.htmhttps://www.jb51.net/article/163906.htm主要介绍了Shell字符串截取的详细方法,如截取指定字数、按指定的字符串截取、按指定要求分割一、Linux shell 截取字符变量的前8位,有方法如下:1.expr substr “$a” 1 82.echo $a|awk ‘{print substr(,1,8)}'3.echo $a|cut -c1-84.echo $5.ex

2021-01-06 23:14:00 1190

原创 2021-01-06

shell中截取字符串的方法很多 1 2 3 4 5 6 7 8 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-start:len} ${var:0-start} 格式 说明 ${string: start :length}.

2021-01-06 23:04:41 114

原创 Shell脚本8种字符串截取方法总结

Linux 的字符串截取很有用。有八种方法。假设有变量 var=http://www.aaa.com/123.htm.1. # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后

2021-01-06 23:02:37 249

原创 C++的goto

goto后面加标记(FLAG),后面的FLAG:代码执行到goto,直接跳转到后面的FLAG部分

2021-01-06 22:51:06 256

原创 linux网络配置

sudo vim /etc/sysconfig/network-scriptsIPADDR=192.168.1.101NETMASK=255.255.255.0GATEWAY=192.168.1.1 DNS1=114.114.114.114service network restart

2020-12-10 14:20:48 102

原创 c的结构体基础

一、定义结构体变量的方法结构体格式struct tag { //tag是结构名,编译器不会为其分配内存空间member-listmember-listmember-list ...} variable-list ;//variable是结构变量1.先声明结构体类型再定义变量名:struct student{成员列表}变量名列表;struct student stu1,stu2;2.在声明类型的同时定义变量3.直接定义结构体类型变量struct

2020-12-09 22:17:46 263

原创 c++中的封装权限

类设计时,将属性和i行为放在不同的权限下,加以控制。三种权限 权限 类内访问 类外访问 继承特点 公共权限 pubic √ √ 保护权限protect √ × 儿子可以访问父亲的保护内容 私有权限 private √ × 儿子不可以访问父亲的私有内容 struct和class的区别:默认的访问权限不同。struct默认访问权限为公有,class的默认权限为私有。...

2020-12-08 20:21:23 214

原创 常量引用const

常量引用作用:用来修饰常量形参,防止误操作。使用场景:int a = 10;int &ref = 10; X 注意:引用必须引用合法的内存空间,如栈区和堆区。const int & ref = 10; ✔注意:加上const之后,编译器将代码修改为int temp= 10;const int & ref = temp;加上const后,是只读状态,不能进行修改。ref = 20; Xvoid showValue(const int & v.

2020-12-08 19:31:49 181

原创 c++程序内存模型

C++核心编程4区域代码区:所有存放函数体的二进制代码全局区:全局、静态、常量,操作系统决定死亡栈区:由编译器管理,函数参数、局部变量等堆区:由程序员分配和释放,若程序yuan不释放,程序结束由系统回收。好处:灵活性程序执行前:1代码区:存放二进制代码。共享,只读2.全局区:全局、静态变量和常量(字符串常量,const修饰的全局常量)局部常量和全局常量不在一块,带局部都在栈区。程序运行后:栈区:编译器自动分配,栈区数据在程序中结束后自动释放注意:不要.

2020-12-04 22:04:33 178 1

原创 2020-08-16

Aio%s全文替换,n1,n2s指定行替换g询问 c不询问n1,n2s指定范围的行^表示行首,^/接所替换的内容定义快捷键,要写到宿主目录的家目录配置文件里.vimrc/home/usename/.vimrc /root/.vimrc...

2020-08-16 23:32:17 105

原创 windows安装python2,python3多版本运行问题

windows安装python2,python3多版本后,在cmd下输入python,系统默认是python2.如需要运行python3,则需要对python对应版本下的python.exe修改文件名.改成python2。exe,python3.exe。如需要运行python2的pip,则输入python2 -m pip如需要查看对应python版本下已经安装好的库。输入python2 -m pi...

2018-07-01 22:51:20 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除