Linux(debian)
文章平均质量分 80
Ubuntu
Tipriest_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
conda和pip换源指南
本文介绍了在Linux系统中查看和更换conda与pip镜像源的方法。对于conda,可通过conda config --show channels查看当前源,使用conda config --add channels命令添加清华或阿里云等国内镜像。pip源可通过pip config get global.index-url查看,修改~/.pip/pip.conf文件可永久更换为国内源。文章还提供了临时使用镜像源的命令参数,以及恢复默认源的方法,并建议conda和pip分别配置各自的镜像站以优化下载速度。原创 2026-01-02 21:42:46 · 791 阅读 · 0 评论 -
Linux(debian)包管理器aptitude介绍
aptitude 是 Debian/Ubuntu 上的高级包管理工具,提供命令行和交互式界面两种操作方式。相比 apt/apt-get,aptitude 具有更智能的依赖解决策略、更强大的搜索语法和包状态管理功能。它支持集合式搜索表达式(如~i查找已安装包)和逻辑组合查询,并能交互式显示依赖冲突的多种解决方案。虽然需要手动安装且解决方案有时较激进,但aptitude为高级用户提供了更灵活的包管理选择。常用操作包括安装/卸载软件包、系统升级和清理无用依赖等。原创 2025-12-31 19:10:05 · 724 阅读 · 0 评论 -
Linux rpm 系和 debian 系发展史,相同,不同点详细介绍
Linux包管理系统主要分为RPM系和Debian系两大阵营。RPM系以.rpm格式和rpm/dnf/yum工具为代表,典型发行版包括Red Hat、CentOS等;Debian系以.deb格式和dpkg/apt工具为主,涵盖Ubuntu等发行版。这两大体系源于不同的历史发展路径,形成了各自的软件包格式、管理工具和生态系统。虽然底层实现不同,但两者在功能上都提供了软件安装、升级、依赖管理等核心能力。实际使用中,RPM系更倾向企业级稳定性,Debian系则以社区生态见长。随着容器技术的发展,这两种包管理系统在原创 2025-12-31 18:12:29 · 797 阅读 · 0 评论 -
ubuntu快速查看一个apt包的描述信息和依赖等
本文介绍了在 Ubuntu 系统中快速查看软件包信息的多种方法。主要包括:使用 apt show 或 apt-cache show 查看包的基本信息,通过 dpkg 命令查询已安装包的文件列表或命令对应的包,以及利用在线资源获取更详细信息。文章还提供了一个标准操作流程:先用 apt-cache show 快速查看包描述,再用 apt show 获取详细信息,必要时用 dpkg 查询具体安装内容。最后以 python-is-python3 包为例,说明其作用是创建 Python3 的符号链接以实现兼容性。原创 2025-12-30 20:24:30 · 384 阅读 · 0 评论 -
配置用户pip源与查看当前的pip的源的办法
本文介绍了如何修改pip源为清华镜像以提高国内下载速度。首先通过mkdir和gedit命令创建并编辑~/.pip/pip.conf文件,配置全局索引地址和可信主机。文章解释了配置文件的格式和作用,并说明了pip的多级配置文件位置(用户级、系统级)。此外,还提供了查看当前配置的方法(pip config list -v)以及临时恢复官方源的操作指南。最后指出Windows系统下pip配置文件的不同路径。原创 2025-12-30 20:14:19 · 452 阅读 · 0 评论 -
linux中的文本分接流tee命令介绍
摘要: tee 是 Linux 中的管道分流工具,可将标准输入同时输出到终端和文件。核心功能包括: 基础用法:cmd | tee file 保留终端显示并保存到文件(默认覆盖); 追加写入:-a 选项实现日志续写; 多文件写入:支持同时写入多个目标文件; 关键场景:与 sudo 配合解决权限问题(如 echo "内容" | sudo tee /root/file); 流程控制:在管道中分流数据,既保存原始输出又传递到后续命令(如 make | tee log | grep error)。原创 2025-12-30 16:07:55 · 1093 阅读 · 0 评论 -
linux /etc/profile.d 目录介绍
/etc/profile.d 目录存放系统级的 shell 启动脚本,用于在用户登录时统一设置环境变量、路径等配置。该目录下的脚本会被 /etc/profile 或 /etc/csh.login 调用,对所有用户生效。常见脚本包括: 01-locale-fix.sh:修正语言/本地化设置 apps-bin-path.sh:添加应用程序目录到 PATH bash_completion.sh:启用 bash 智能补全 flatpak.sh:为 Flatpak 设置环境变量 vte-2.91.sh:配置 GNOM原创 2025-12-29 14:39:30 · 941 阅读 · 0 评论 -
轻量化ssh工具Dropbear 介绍与使用说明
Dropbear是一款轻量级开源SSH服务器/客户端,专为资源受限设备设计。它体积小巧但功能完备,支持SSH2协议、密钥登录和端口转发等核心功能,是嵌入式设备(如路由器、OpenWrt系统)的理想选择。安装方式因系统而异,Debian/Ubuntu使用apt,Fedora/CentOS使用dnf/yum。配置主要通过命令行参数或系统服务文件实现,支持端口设置、密钥认证等安全选项。Dropbear还提供dbclient和scp客户端工具,兼容OpenSSH密钥,并可通过dropbearkey生成专属密钥。在O原创 2025-12-27 15:40:56 · 1060 阅读 · 0 评论 -
Linux 桌面(Desktop)图标的生成原理/执行流程/自己编写桌面图标的方法
Linux桌面图标由.desktop文件定义生成,该文件遵循freedesktop.org规范,包含程序名称、命令、图标路径等信息。主要存放在系统目录(如/usr/share/applications/)或用户目录(如~/.local/share/applications/)。.desktop文件包含关键字段如Type、Name、Exec、Icon等,其中图标会根据主题在指定路径查找。创建桌面图标需要编写.desktop文件并设置执行权限,同时确保图标文件存放在正确位置。不同桌面环境对图标显示有不同要求,G原创 2025-12-22 15:13:48 · 1034 阅读 · 0 评论 -
linux文本处理工具sed 使用方法详解
sed 是 Linux/Unix 下的流编辑器,用于非交互式文本处理。核心功能包括查找替换(s命令)、删除行(d)、插入/追加文本(i/a)等,支持正则表达式和行号范围匹配。常用选项如 -n(抑制输出)、-i(原地编辑)和 -E(扩展正则)。可通过 -e 执行多命令或 {} 组合命令,处理时建议备份文件。典型应用包括批量替换、删除空行等文本操作,是命令行环境下的高效编辑工具。原创 2025-12-22 15:12:55 · 393 阅读 · 0 评论 -
ubuntu20.04使用flathub遇到Unable to load summary from...exceeded maximum size of 10485760 bytes解决办法
在使用flathub软件安装一个Color Picker程序的时候,总是遇到这个报错的关键是:意思是:Flatpak 在下载 Flathub 的summary文件时,发现它超过了当前 Flatpak 允许的最大大小(10 MB),于是直接拒绝了。原创 2025-12-05 20:59:58 · 362 阅读 · 0 评论 -
oh my zsh配置
ZSH 插件高效配置指南 本文提供完整的 ZSH 插件配置方案,涵盖开发效率工具、补全增强和外观优化三大类插件。包含常见问题解决方案、完整配置示例和管理技巧: 核心插件推荐 补全增强:zsh-completions、zsh-autosuggestions、fzf-tab 开发工具:git、docker、kubectl 效率工具:z(目录跳转)、extract(解压)、web-search 外观优化:powerlevel10k主题、colored-man-pages 配置技巧 提供详细的安装命令和常见问题解决原创 2025-11-14 23:37:43 · 673 阅读 · 0 评论 -
CMake 中 install 的使用原因和使用方法
CMake的install命令用于定义项目文件在安装时的部署位置和规则,主要作用包括跨平台统一部署流程、安装到标准系统目录、配合打包工具生成分发包以及支持多组件安装。基本用法包括安装可执行文件/库(TARGETS)、头文件/普通文件(FILES)和目录(DIRECTORY)。安装位置由CMAKE_INSTALL_PREFIX控制,默认值因系统而异。此外,可通过COMPONENT参数实现模块化安装。典型流程为:在CMakeLists.txt中定义安装规则后,执行make install即可将文件部署到指定位置原创 2025-11-14 21:03:27 · 431 阅读 · 0 评论 -
Linux 环境变量的添加与查看详解
Linux 环境变量管理指南 环境变量用于存储系统配置信息,如PATH(可执行文件路径)、JAVA_HOME等。查看方法包括printenv、env和echo $变量名。添加变量分临时(export 变量=值,仅当前会话有效)和永久(写入~/.bashrc或/etc/profile后source生效)。删除变量用unset。不同shell(如zsh、fish)配置文件不同。掌握环境变量设置对开发环境配置和系统管理至关重要。原创 2025-11-14 20:56:30 · 1124 阅读 · 0 评论 -
Ubuntu解压分卷zip压缩文件
摘要:在Ubuntu 22.04系统下解压分卷ZIP文件时,使用unzip工具出现错误提示"invalid zip file with overlapped components"。建议改用7zip工具处理,安装命令为sudo apt install p7zip-full,解压命令为7z x Replica.zip。若仍失败,可检查文件完整性或在Windows系统使用WinRAR解压后传输至Ubuntu。注意需保证所有分卷文件位于同一目录且文件名未被修改。原创 2025-11-08 12:13:39 · 524 阅读 · 0 评论 -
高动态范围(HDR)图像文件格式OpenEXRLinux开发库介绍
摘要:libopenexr-dev是处理OpenEXR高动态范围图像文件的开发库,提供读写HDR图像、多通道支持、多种压缩算法等功能。该开发包包含头文件、链接库及文档,依赖openexr、libilmbase-dev等组件。支持在电影特效、摄影后期、游戏引擎等领域应用,可通过简单API实现EXR文件处理。安装命令因Linux发行版而异(如Ubuntu使用apt install)。开发示例展示了读取EXR文件基础信息的C++代码实现。原创 2025-11-06 17:25:57 · 406 阅读 · 0 评论 -
zsh: corrupt history file /home/tipriest/.zsh_history的解决办法
摘要:修复损坏的Zsh历史文件(.zsh_history)可采取以下步骤: 先备份当前文件; 使用strings命令提取可读文本行生成修复版本; 通过fc -R重载修复后的文件; 若无效可删除重建; 建议设置append_history等选项预防问题。推荐方案为:备份原文件后,用strings过滤生成新文件并重载。严重损坏时可考虑重建历史文件。原创 2025-11-01 16:12:49 · 276 阅读 · 0 评论 -
pkg-config 使用指南(简化C++库的编译和链接过程,判断库是否存在及版本)
pkg-config 简明指南 pkg-config 是 Unix/Linux 系统管理库编译信息的工具,通过读取 .pc 文件自动提供编译参数(如头文件路径、链接库名称),避免手动指定。基本用法包括:pkg-config --cflags --libs 库名 获取编译/链接选项,--exists 检查库是否存在,--modversion 查询版本。开发时可将输出直接嵌入 gcc 或 Makefile,通过 PKG_CONFIG_PATH 指定自定义路径。常见问题多为 .pc 文件缺失或路径错误,需确保安装原创 2025-10-16 21:09:53 · 344 阅读 · 0 评论 -
Linux jq 命令详解及应用场景
摘要:jq是Linux中处理JSON数据的强大命令行工具,支持数据过滤、转换、聚合等操作。本文介绍了jq的五大应用场景,包括数据筛选、格式转换、统计分析等,并提供了提取字段、过滤数据、转换为CSV、计算平均值等实用示例。通过jq,用户可以高效解析和操作JSON数据,提升工作效率。这些示例展示了jq在简单和复杂数据结构中的灵活应用。原创 2025-09-27 21:58:23 · 592 阅读 · 0 评论 -
Ubuntu 中 Bash / Zsh / Ash / Dash 的使用与区别(含对比图)
本文介绍了Linux系统中常见的Shell类型及其特点。Bash是Ubuntu默认交互式Shell,功能丰富;Zsh作为增强版Bash,支持更多高级功能;Ash和Dash则是轻量级Shell,适用于嵌入式系统和脚本执行。文章通过对比表展示了各Shell在功能、速度、兼容性上的差异,并提供使用建议:日常推荐Bash/Zsh,通用脚本应遵循POSIX标准,资源受限系统可选用Ash/Dash。最后说明了如何切换默认Shell。不同Shell适用于不同场景,用户可根据需求选择。原创 2025-09-25 21:02:48 · 1166 阅读 · 0 评论 -
ubuntu安装手册命令man的优化版本tldr(too long, didn‘t read)
TLDR是一个简化命令行工具帮助信息的项目,提供常用命令的简明示例。它帮助用户快速查找命令基本用法,避免阅读复杂的手册页。在Ubuntu 20.04上可通过homebrew安装tlrc客户端,使用"tldr 命令名"查看简洁帮助。这个社区驱动的工具支持多平台,适合新手和经验用户快速查询命令用法,显著提高命令行使用效率。原创 2025-09-25 20:30:03 · 927 阅读 · 0 评论 -
urdf文件可以使用的一些工具(urdf检查和可视化)
本文介绍了ROS中机器人模型文件(xacro/urdf)的处理方法:1) 使用xacro命令将xacro文件转换为urdf格式;2) 通过check_urdf命令解析urdf文件,输出link层级关系;3) 利用urdf_to_graphiz命令生成包含joint和link结构的可视化PDF。这些工具可以帮助开发者验证和调试机器人模型文件的结构完整性。原创 2025-08-27 15:24:08 · 742 阅读 · 0 评论 -
C 语言标准输入输出头文件stdio.h及其常见用法
stdio.h是C语言标准输入输出头文件,提供格式化输入输出、字符处理、文件操作等功能。主要函数包括printf/scanf进行格式化IO,fgets/fputs处理字符数据,fopen/fclose管理文件读写。该头文件定义FILE类型和NULL、EOF等宏。使用需注意安全性,避免不安全的gets,推荐fgets替代,并注意检查返回值、及时关闭文件。stdio.h是C语言IO操作的核心,掌握其基本用法对文件处理和标准IO至关重要。原创 2025-08-23 23:27:20 · 1133 阅读 · 0 评论 -
linux进程调度相关头文件sched.h介绍与使用指南
本文介绍了 sched.h 文件在用户态和内核态的不同作用。用户态的 <sched.h> 是 POSIX 标准的一部分,提供进程调度 API,包括调度策略、优先级设置等函数。内核态的 include/linux/sched.h 则是 Linux 调度系统的核心,定义了进程结构体 task_struct、调度类等关键内容。两者共同构成了 Linux 系统的进程调度机制,用户态通过系统调用最终作用于内核调度器。文章还对比了两者的差异并给出了用户态调度的代码示例。原创 2025-08-23 13:58:26 · 572 阅读 · 0 评论 -
C++ csignal库详细使用介绍
C++的<csignal>库提供了处理操作系统信号的机制,允许程序响应外部事件(如用户中断或程序错误)。它支持信号处理函数注册、信号发送等核心功能,定义了常见的信号宏如SIGINT、SIGSEGV等。使用时需注意异步安全性问题,推荐使用volatile sig_atomic_t共享变量,并考虑系统差异。虽然适合简单场景,但复杂需求建议结合系统API或高级库,并注意线程安全问题。该库是C++标准库的一部分,继承自C语言的<signal.h>,提供跨平台的基本信号处理能力。原创 2025-08-22 23:40:30 · 825 阅读 · 0 评论 -
unistd.h 常用函数速查表
本文整理了 unistd.h 常用函数速查表,涵盖文件 I/O、进程管理、系统信息、用户/组信息等核心功能。主要包括:文件操作(access、read、write)、进程控制(fork、execv)、系统调用(sleep、sysconf)和用户权限(getuid、getgid)等函数,以及常用宏定义(R_OK、SEEK_SET)。最后提供了一个示例代码演示如何检查文件权限并读取内容,方便开发者快速查阅和使用这些 POSIX 系统调用。原创 2025-08-22 23:36:24 · 410 阅读 · 0 评论 -
ubuntu dpkg命令使用指南
dpkg 是 Debian/Ubuntu 系统的基础包管理工具,主要用于安装、卸载和查询 .deb 软件包。其核心功能包括: dpkg -S:查询文件所属软件包(如 dpkg -S /bin/ls) 安装/卸载:dpkg -i 安装本地包,-r 卸载,-P 完全删除 包查询:dpkg -l 列出已安装包,-L 查看包内文件,-s 显示包详情 解压deb包:dpkg -x 解压文件,-e 提取控制信息 与 apt 不同,dpkg 不自动处理依赖,适合手动管理第三方 .deb 包。常用技巧包括通配符查询、依赖修原创 2025-08-09 16:04:40 · 572 阅读 · 0 评论 -
记录一次ubuntu20.04 解决gmock not found问题的过程
摘要:在Ubuntu 20.04系统上编译MoveIt时,电脑B出现"gmock not found"错误,而电脑A和C正常。通过对比发现电脑B缺少部分gmock文件,可能是之前手动安装Google Test时未正确编译gmock组件。最终解决方案是使用fdfind命令排查系统文件差异,过滤掉无关目录后,确认电脑A在/usr/src/googletest/googlemock路径下有完整的gmock库文件,而电脑B缺失这些文件。建议重新安装完整的Google Test库以解决问题。(14原创 2025-08-09 15:38:32 · 883 阅读 · 0 评论 -
wstool的一个完整的工作流解析
本文详细解析了使用wstool和rosdep工具编译MoveIt仓库源码的标准流程。该流程包含四个关键步骤:1) wstool init src初始化工作空间;2) wstool merge合并官方rosinstall文件;3) wstool update下载所有源码包;4) rosdep install安装系统依赖。通过类比"购物清单"和"工具采购"形象地解释了每个命令的作用,最终为执行catkin build编译MoveIt做好充分准备。这套流程是ROS 1中管理原创 2025-08-08 20:38:30 · 948 阅读 · 0 评论 -
wstool和git submodule优劣势对比
wstool和git submodule是两种管理外部代码依赖的工具,但设计理念和适用场景不同。git submodule是Git原生功能,通过嵌套仓库实现精确版本锁定,适合紧密耦合的依赖管理,但学习成本高且仅支持Git。wstool则通过清单文件管理多个独立代码库,支持多种版本控制系统,灵活性高,特别适合ROS项目开发。前者强在精确控制和Git集成,后者优势在于易用性和多源支持。选择取决于项目需求:需严格版本控制选git submodule,需灵活管理多源依赖则选wstool。原创 2025-08-08 15:45:26 · 790 阅读 · 0 评论 -
wstool和catkin_tools工具介绍
python3-wstool和python3-catkin-tools是ROS开发中的两个关键工具,分别负责源代码管理和项目构建。wstool作为"源代码采购员",通过.rosinstall文件从Git等平台获取ROS包源码到工作空间src目录;而catkin-tools作为"项目工程师",负责编译这些源码生成可执行程序。典型工作流程是:先用wstool下载源码,再用catkin build进行编译,二者协同完成从源代码到可执行文件的完整构建过程。wstool专注于源原创 2025-08-08 15:37:33 · 1012 阅读 · 0 评论 -
sudo apt dist-upgrade(ubuntu系统智能更新升级)命令介绍
sudo apt dist-upgrade 是 Debian/Ubuntu 系统中的高级升级命令,可智能解决依赖关系,安装新包或移除冲突包完成系统升级。与普通 apt upgrade 相比,它能处理更复杂的依赖问题,适合大版本升级或解决被保留的软件包更新。使用前需先执行 sudo apt update 更新软件列表,并仔细检查变更内容。日常更新推荐更安全的 apt upgrade,而 dist-upgrade 则用于重大系统升级或处理被保留的软件包。执行前务必确认变更列表,避免意外移除重要组件。原创 2025-08-08 15:34:12 · 949 阅读 · 0 评论 -
linux统计文本文件中行数、单词数和字节数的命令行工具wc介绍
wc是Linux中实用的文本统计命令,用于计算文件的行数、单词数和字节数。基本语法为wc [选项] 文件名,常用选项包括-l(行数)、-w(单词数)、-c(字节数)等。wc支持多文件处理,并能与其他命令通过管道配合使用,如统计目录文件数ls | wc -l。在处理多字节字符时,-c和-m选项分别统计字节和字符数。该命令体现了Unix"专一高效"的设计理念,是命令行文本处理的常用工具。原创 2025-08-08 14:14:01 · 857 阅读 · 0 评论 -
ubuntu alias命令使用详解
Linux中的alias命令能极大提升操作效率,它允许为复杂或常用命令创建简短别名。主要优势包括提高效率、降低错误率、增强安全性(如设置rm -i防止误删)以及个性化工作环境。基本用法为alias 别名='命令',需注意等号两边不能有空格。临时别名需写入~/.bashrc文件才能永久生效。高级技巧包括用反斜杠临时忽略别名、使用type检查命令类型,以及注意单双引号的区别(推荐单引号)。合理使用alias能显著优化Linux命令行体验。原创 2025-08-08 14:09:18 · 877 阅读 · 0 评论 -
linux统计一个文件夹中的内容数量(ll -A | wc -l命令)
本文介绍了在Ubuntu系统中统计ll命令输出行数的多种方法:1)直接使用ll | wc -l统计总行数(需注意首行为total X);2)用tail跳过首行后统计;3)用grep过滤目录或符号链接;4)配合-a/-A参数统计隐藏文件。文章还指出ll是ls -l的别名,建议直接使用ls -1 | wc -l更简洁。这些方法适用于不同统计需求,如仅计算文件数或包含隐藏项的情况。原创 2025-08-08 13:10:36 · 330 阅读 · 0 评论 -
ccache[加快编译的工具]介绍&使用指南
对于任何在 Linux 环境下进行 C/C++ 开发的工程师来说,ccache都是一个必备工具。安装配置: 在~/.bashrc中加入验证which gcc和ccache -s使用: 像往常一样编译项目即可。管理: 使用设置缓存大小,用ccache -C清理缓存。花几分钟配置好ccache,它将在你未来的开发工作中为你节省无数个小时的等待时间。原创 2025-08-08 12:02:37 · 1718 阅读 · 0 评论 -
linux顽固进程查看并清理
命令会把grep进程自身也显示出来。要kill进程,请确保你选择的是目标程序的 PID,而不是grep的 PID。Ctrl+C(中断) 和Ctrl+Z(挂起) 是不同的。你的程序忽略了前者,但响应了后者。要终止顽固进程,首先尝试kill <PID>,如果无效,再使用。为了方便,使用pkill <进程名>或killall <进程名>是批量杀死同名进程的好方法。原创 2025-08-07 23:30:53 · 846 阅读 · 0 评论 -
ubuntu apt安装与dpkg安装相互之间的关系
Linux系统中,neofetch显示的dpkg包数量包含了所有通过apt安装的软件包。apt是高层工具,自动处理依赖关系并调用底层的dpkg执行安装。apt通过软件源下载.deb包并解决依赖,而直接使用dpkg安装本地.deb文件则需手动处理依赖。apt安装的包会被dpkg记录,两者共同构成系统中的软件包管理。flatpak和snap则是独立的容器化包管理系统,与apt/dpkg无直接关系。原创 2025-08-03 15:48:09 · 827 阅读 · 0 评论 -
update-alternatives(linux系统中对于多程序版本的管理工具)
update-alternatives是Ubuntu/Debian系统中管理多版本软件的命令行工具。它通过两级符号链接机制(如/usr/bin/java→/etc/alternatives/java→实际路径)实现版本切换,避免直接修改系统目录。支持自动(按优先级)和手动模式,常用命令包括--display查看版本、--config交互切换,还可手动--install添加或--remove删除备选项。该工具与包管理器兼容,既保证灵活性又确保安全性,是管理Java/Python等多版本环境的理想方案。原创 2025-08-03 15:17:01 · 1086 阅读 · 0 评论 -
一个物理引擎仿真器(mujoco这种)的计算流程
当前状态:你的车在地图上的位置和当前车速。带约束优化:你观察路况(约束),比如前方有障碍物(接触),路面有摩擦力,你需要决定现在应该踩多少油门/刹车,以及方向盘要打多少(计算接触力)。前向动力学:根据你踩油门/刹车的力度和车子本身的性能(质量、引擎),计算出车子在这一瞬间的加速度。龙格库塔:根据这个瞬时加速度,以及你对接下来一小段时间路况变化的预估(多次采样),在地图上精确地画出你车子下一秒钟的新位置。原创 2025-08-02 23:13:39 · 913 阅读 · 0 评论
分享