linux系统手动添加swap分区
swap 分区介绍swap 分区中文名是交换分区,类似于 Windows 中的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况
添加 swap 分区假设物理内存及 swap 分区空间不够或者没有 swap 分区,那么可以手动添加一个 swap 文件当做 swap 分区,也可以划分一个独立的磁盘分区当做 swap 分区,这里采用创建 swap 文件的方式添加 swap 分区
123456789101112# 使用 fallocate 命令添加一个 10G 的 swap 文件(fallocate 命令并不会直接使用 10G 空间,只是预设,需要用的时候才增加)# swap 文件及路径可以自定义,这里在根目录下创建swapfile文件$ sudo fallocate -l 10G /swapfile# 修改文件权限$ sudo chmod 600 /swapfile# 格式化为 swap 分区$ sudo mkswap /swapfile# 启用新添加的swapfile$ sudo swapon /swapfile
如果需要每次开机自动挂载 sw ...
个人博客搭建:添加RSS功能
本篇文章主要介绍如何在 hexo+butterfly 框架主题下添加 RSS 功能,其中相关配置详细参数见 Github 开源项目GitHub - hexojs/hexo-generator-feed: Feed generator for Hexo.,由于笔者时间精力有限,如有疏忽错漏还请指正,谢谢~
框架版本:hexo 7.1.1主题版本:butterfly 4.13.0
RSS 简介RSS 的全称有三种说法:
RDF Site Summary(资源描述框架站点摘要)
Rich Site Summary(网站内容摘要)
Really Simple Syndication(简易资讯聚合)
RSS 就像一个网站的海报,里面包括这个网站的最新内容,会自动更新。从技术方面来说,就是各个平台会提供一个 XML 格式的纯文本文件,该文件里包含了该网站的内容。如果该平台有更新,也会同步更新这个 XML 文件
RSS 插件 hexo-generator-feed 安装配置
hexo 根目录下安装插件
1$ npm install hexo-generator-feed --sa ...
conda创建环境时env路径默认为C盘而非anaconda安装路径的问题解决
查看 conda env 配置路径1234# 命令1$ conda info# 或命令2$ conda config --show
上述命令 2 执行结果如下:
1234envs_dirs: - C:\Users\Administrator\.conda\envs - D:\anaconda3\envs - C:\Users\Administrator\AppData\Local\conda\conda\envs
修改 envs_dirs 默认 env 路径修改~/.condarc(若为 Windows 系统则在C:\Users\{用户名}\.condarc)中 envs_dirs 的顺序,若没有则添加如下内容:
12envs_dirs: - D:\anaconda3\envs
再次执行conda config --show,显示结果如下:
1234envs_dirs: - D:\anaconda3\envs - C:\Users\Administrator\.conda\envs - C:\Users\Administrator\AppData ...
PaddleOCR环境配置
本地环境:Python:3.12CUDA:12.9包管理器:conda操作系统:Windows 10
创建 PaddlePaddle 框架 的 Python 虚拟环境
使用 conda create -n env_name python=3.12 安装 PaddleOCR 的 python 虚拟环境并指定 python 版本为 3.12
使用conda activate env_name激活环境后使用下面的命令安装 GPU 版本的 PaddlePaddle 框架:
1$ python -m pip install paddlepaddle-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
使用下面的命令验证是否成功安装,输出安装的框架版本号即表示安装成功
1$ python -c "import paddle; print(paddle.__version__)"
安装 PaddleOCR 库根据需要安装 PaddleOCR:
12345# 只希望使用基础文字识别功 ...
linux系统资源查看-top命令
参考:每天一个 Linux 命令-top(1)_哔哩哔哩_bilibili
任务列表区域PIDProcess Id,进程IDUSEREffective User Name,有效用户名PRPriority,优先级NINice Value:Nice值VIRTVirtual lmage(KiB),进程使用的虚拟内存大小RESResident Size(KiB),进程占用的驻留内存大小SHRShared Memory(KiB),进程占用的共享内存大小SProcess Status,进程状态RRunning,运行sSleeping,可中断的睡眠状态DUninterruptible Sleep,不可中断的睡眠状态TTraced,已被跟踪或已停止zZombie,僵尸进程×Exited,退出状态%CPUCPUUsage,自从上一次更新到现在进程所使用的CPU时间百分比%MEMMemory Usage(RES),进程所使用的物理内存的百分比TIME+CPU Time,hundredths,任务后动后到现在所使用的全部CPU时间,精确到百分之一秒COMMANDCommand Name/Line,命今名 ...
PyInstaller打包python脚本为可执行文件
PyInstaller 是一个将 Python 脚本打包成独立可执行文件(例如 Windows 系统的.exe)的工具,方便在没有 Python 环境的机器上运行程序
安装 pyinstaller在项目 python 环境的终端执行:
1$ pip install pyinstaller
使用 pyinstaller 命令打包 python 脚本
在脚本所在目录终端中执行:
1234# 创建带有控制台窗口的可执行文件及运行库文件(文件夹)$ pyinstaller your_script.py# 创建去除控制台窗口,自定义图标的单个可执行程序(文件)$ pyinstaller -F -w -i your_icon.ico your_script.py
执行后会生成 build、dist 文件夹和 .spec 配置文件,dist 中的文件即为打包完成的可执行文件
常用参数:
123456-F , --onefile:打包成单个可执行文件-D , --onedir:打包成文件夹(默认)-w , --windowed:去除控制台窗口(适合 GUI 程序)-c , --console:保 ...
git diff命令进行差异比较
git 仓库工作区与版本库使用git init初始化仓库时会在当前工作目录下生成.git目录,该目录属于 git 的版本库,存储项目的完整历史快照。它包含暂存区(索引区,使用git add添加)和本地对象库(git commit添加),而我们进行编码的当前工作目录属于工作区
123graph TD A[工作区] -->|git add| B[暂存区] B -->|git commit| E[对象库]
git diff 的四种情况工作区和暂存区
git diff:查看工作区和暂存区所有文件的差异
git diff -- {filename}:只查看工作区和暂存区文件{filename}的差异(注意–和{filename}间的空格)
git diff -- {filename1} {filename2}:查看工作区和暂存区文件{filename1}、{filename2}的差异(注意空格)
工作区和版本库
git diff HEAD : 查看工作区与最新版本库之间所有的文件差异(将 HEAD 替换为某个 ...
大数求余算法
对大数进行求余操作,这里只涉及给定一个大数,针对给定的 mod 值采用模拟手算的方法进行求余操作
模拟手算原理:从字符串 large_num 首位开始对 mod 进行取余操作,并将余数 result 存起来与后一位合到一起继续进行取余操作,直到遍历完整个字符串得到最终余数
核心代码:
12345long long result = 0;for (int i = 0; i < large_num.size(); i++){ result = (result * 10 + large_num[i] - '0') % mod;}
模拟手算(优化版)原理:在模拟手算基础上,将大数进行分块,每块含多位数字,每次对块进行取余操作,并将余数 result 存起来与后一块合到一起继续进行取余操作,直到遍历完所有得到最终余数
核心代码:
123456789int k_size = 9;long long result = 0;string segment;for (size_t i = 0; i < large_num.size(); i += ...
git代码提交规范
git 提交代码时需要写 commit message(提交说明),通过该提交说明来说明本次提交的目的
1.提交说明作用
提供更多历史信息,方便快速浏览
通过grep命令筛选特定提交,便于快速查找信息
通过 commit 直接生成 change log
2.提交说明格式12345<type>(<scope>): <subject><BLANK LINE><body><BLANK LINE><footer>
其中第一行为 header(不可省略),其他 body 和 footer 均可省略,<BLANK LINE>为空行(分隔行)
2.1 header
header 包括 type(必需)、scope(可选)和 subject(必需)三个字段
2.1.1 type用于说明 commit 的类别,只允许使用下面 7 个标识:
feat:新功能(feature)
fix:修补 bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refa ...
Linux免密执行特定脚本
为单个用户添加免密码执行某个脚本权限使用命令sudo visudo安全编辑 sudoers 文件(不要直接编辑 /etc/sudoers),在打开的文件中添加以下行(注意:将 username 替换为实际用户名,例如 thee),然后保存退出
123username ALL=(ALL) NOPASSWD: /path/to/your/script.sh# 或者允许目录下所有脚本username ALL=(ALL) NOPASSWD: /path/to/scripts/*
若配置后执行脚本仍然需要手动输入密码,那么可以按照下面的步骤进行检查:
12345678# 使用 visudo 检查语法sudo visudo -c# 查看当前用户的 sudo 权限,该命令可以查看具有 sudo 权限的脚本,配置成功后能在该命令输出结果中看得到sudo -l# 查看特定用户的 sudo 权限sudo -l -U username
除了配置特定用户免密码执行脚本命令(可以携带参数)外,还可以配置特定组中所有用户免密码执行脚本、特定目录下所有脚本免密码执行,配置模版如下:
1234 ...









