ubuntu更新Cmake
CMake
- 先验知识
- 创建软链接
- 如何删除符号链接
- 如何找出失效链接并将其删除
- PATH 优先级
- 查看当前CMake命令的位置
- 高版本 CMake 安装
- 参考
先验知识
创建软链接
ln -s <path to the file/folder to be linked> <the path of the link to be created>
ln 是链接命令,-s 指定此链接为软链接,-s 也可以写为 -symbolic。
ln 命令默认会创建硬链接。
path to the file (or folder) 声明了链接目标,即想要为其创建快捷方式的文件或目录。
path to link 即链接(快捷方式)名称。
\;
如
ln -s /home/james/transactions.txt trans.txt
执行这个命令之后,就可以通过 trans.txt 来访问 /home/james/transactions.txt。对于 trans.txt 的修改会体现到源文件上。
如何删除符号链接
在删除符号链接之前,需要确认这个文件或文件夹确实是符号链接,以免误删源文件。
ls -l <path-to-assumed-symlink>
如:
ls -l /usr/local/bin
使用 rm 删除符号链接
正如我们所见,符号链接只是一种指向源文件(或目录)的文件(或目录)。只要删除链接文件就可以解除这种关系。
rm <path-to-symlink>
如
rm trans.txt
注意,试图执行 rm trans.txt/ 会引发错误,因为 Linux 会把 trans.txt/ 当成目录来处理,要想删除目录还需要提供 r 和 f 等参数,然而这并不是我们想要的。虽然符号链接有可能是文件夹形式的,但我们只需要关心它的名字。
如何找出失效链接并将其删除
当源文件(或目录)被移动或者被删除时,指向它的符号链接就会失效。
如果把 “transactions.txt” 从 /home/james 移动到 /home/james/personal,“trans.txt” 这个链接就会失效。之后尝试访问 “trans.txt” 会引发错误:“No such file or directory”。
如果发现失效的链接,可以很轻松地将其删除。以下方法可以很方便地找出失效链接:
find /home/james -xtype l
这个命令会列出 james 目录下各种类型(如:文件、目录及子目录)的所有失效链接。
传入 -delete 参数就可以将它们删除:
find /home/james -xtype l -delete
PATH 优先级
echo $PATH
$PATH是一个包含多个目录路径的字符串,不同的路径之间使用冒号(:)分隔。包括在 PATH 环境变量中,这样用户可以从任何位置直接运行该目录下的程序,而不需要输入完整路径。
越前面的PATH,优先级越高
- /usr/local/bin 用于存放用户安装的可执行程序,将用户自定义和第三方软件放在 /usr/local 下,可以避免与系统自带的文件发生冲突。
- /usr/bin 用于存放大多数用户命令和应用程序的可执行文件。这些程序通常是系统提供的,供所有用户使用。该目录包含从操作系统的包管理器安装的软件。
- 默认情况下,/usr/local/bin 的优先级比 /usr/bin 高
将 /usr/local/bin 的优先级提高到最前面
export PATH="/usr/local/bin:$PATH"
将 /usr/local/bin 的优先级降低到最后面
export PATH="$PATH:/usr/local/bin"
需要注意的是,修改$PATH
变量只会对当前的终端窗口生效。如果要永久地改变$PATH
变量的值,在~/.bashrc
或~/.bash_profile
文件中添加上述命令即可。同时,不同的操作系统可能会有不同的文件名和配置方式,请根据实际情况进行修改。
查看当前CMake命令的位置
which 命令可以告诉您命令的完整路径。如果 CMake 已经安装,并且在您的 PATH 环境变量中,可以通过以下命令找到它:
which cmake
whereis 命令不仅会显示可执行文件的位置,还会显示源代码和手册页的位置。您可以这样使用:
whereis cmake
如果您想在整个系统中查找 CMake,可以使用 find 命令,但这可能会花费一些时间:
sudo find / -name cmake
如果您只想确认 CMake 是否已安装并查看其版本,可以运行:
cmake --version
高版本 CMake 安装
1、检查当前版本
cmake --version
2、删除当前版本,如果你系统中有ROS,请不要执行这一步
sudo apt remove cmake
如果系统中有ROS,请不要执行这一步
其实没有ROS,也可以不执行这一步,无非是多版本共存。
3、 根据自身情况,从 https://cmake.org/download/ 下载对应的bash script.
我的情况,我下载的是 cmake-3.31.0-rc2-linux-x86_64.sh
4、 复制 该文件到 /opt/.
以我的脚本为例,大家不尽相同。
sudo cp cmake-3.31.0-rc2-linux-x86_64.sh /opt/cmake-3.31.sh
5、赋予该脚本可运行权利
chmod +x /opt/cmake-3.*your_version*.sh
6、运行
sudo bash /opt/cmake-3.*your_version*.sh
你需要按两次y
进行确认
7、建立软链接
这个脚本将二进制文件安装到了/opt/cmake-3.*your_version*
,所以为了使用cmake命令,你需要创立一个软链接。
sudo ln -s /opt/cmake-3.*your_version*/bin/* /usr/local/bin
你原本系统自带的cmake在/usr/bin
下,我们现在将这个高版本的cmake软链接到/usr/local/bin
下。而默认情况下,后者比前者的优先级要高,可通过前面的先验知识确认。
8、验证
cmake --version
参考
Linux 符号链接教程——如何创建和删除符号链接
Ubuntu设置环境变量顺序
How to upgrade cmake in Ubuntu
相关文章:

ubuntu更新Cmake
CMake 先验知识创建软链接如何删除符号链接如何找出失效链接并将其删除PATH 优先级查看当前CMake命令的位置 高版本 CMake 安装参考 先验知识 创建软链接 ln -s <path to the file/folder to be linked> <the path of the link to be created>ln 是链接命令&…...

CMOS晶体管的串联与并联
CMOS晶体管的串联与并联 前言 对于mos管的串联和并联,一直没有整明白,特别是设计到EDA软件中,关于MOS的M和F参数,就更困惑了,今天看了许多资料以及在EDA软件上验证了电路结构与版图的对应关系,总算有点收…...

从IT高管到看门大爷:53岁我的职场华丽转身
该文讲述了一位1971年出生的男士,在53岁时因日企撤资而失业。他曾是IT技术员,后晋升为IT高管兼工会主席,但失业后数百份简历石沉大海,面试也因年龄被取消。他意识到年龄是求职的障碍,开始调整心态,降低期望…...

Redis入门到精通(三):入门Redis看这一篇就够了
文章目录 Redis分布式锁的实现原理Redis实现分布式锁如何合理的控制锁的有效时常?**redisson实现的分布式锁**redisson实现的如何保证主从一致性 Redis的集群方案1.主从复制主从数据的同步原理全量同步增量同步 2.哨兵模式Redis的集群脑裂是什么?3.分片集…...

IP基本原理
IP的定义 当前唯一的网络层协议标准定义数据网络层的封装方式、编址方法 MTU 最大传输单元接口收发数据支持的单个包的最大长度不同二层链路类型的接口的MTU不一致。以太网接口默认MTU1500Byte。PPPoE接口默认MTU1480Byte。 IP头部封装格式 IP 头部长度不固定,2…...
数据分析题面试题系列2
一.如何估算星巴克一天的营业额 a.需求澄清:区域?节假日?产品范围? b.收入销售杯数*单价(营业时间*每小时产能*每小时产能利用率)*平均单价 Hypo该星巴克门店的营业时间为12小时(取整&#x…...
uniapp 单表、多级动态表单添加validateFunction自定义规则
uniapp 多级动态表单添加自定义规则 在uniapp制作小程序时,当涉及到需要设置validateFunction的校验规则时。可能遇到的问题 1、validateFunction不生效,没有触发 2、多层级表单怎么添加validateFunction自定义校验规则 本文将以单表单校验和多表单校…...

FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
目录 1、FPGA图像处理培训现状分析2、本FPGA图像处理培训优势亮点架构全起点高实用性强项目应用级别细节恐怖工程源码清晰 3、本FPGA图像处理培训内容介绍图像处理基本框架图像前处理框架图像中处理框架图像前中处理框架图像后处理框架图像中后处理框架图像处理仿真框架视频教程…...
顺序表的实现(数据结构)——C语言
目录 1.结构与概念 2.分类 3 动态顺序表的实现 SeqList.h SeqList.c 创建SLInit: 尾插SLPushBack以及SLCheak(检查空间是否足够): 头插SLPushFront: 尾删SLPopBack 头删SLPopFront 查找指定元素SLFind 指定…...
【VUE】Vue中 computed计算属性和watch侦听器的区别
核心功能不同 computed 是一个计算属性,其核心功能是基于已有的数据属性计算得出新的属性值。当某个依赖的数据发生变化时,computed 会自动重新计算并更新自己的值。因此,可以将 computed 看做是一种“派生状态”。 watch 是一个观察者函数&…...

linux线程 | 同步与互斥 | 深度学习与理解同步
前言:本节内容主要讲解linux下的同步问题。 同步问题是保证数据安全的情况下,让我们的线程访问具有一定的顺序性。 线程安全就规定了它必须是在加锁的场景下的!!那么, 具体什么是同步问题, 我们加下来看看吧…...

Tkinter Frame布局笔记--做一个简易的计算器
#encodingutf-8 import tkinter import re import tkinter.messagebox import tkinter.simpledialog import sys import os def get_resources_path(relative_path):if getattr(sys,frozen, False):base_pathsys._MEIPASS#获取临时文件else:base_pathos.path.dirname(".&q…...

算法专题八: 链表
目录 链表1. 链表的常用技巧和操作总结2. 两数相加3. 两两交换链表中的节点4. 重排链表5. 合并K个升序链表6. K个一组翻转链表 链表 1. 链表的常用技巧和操作总结 常用技巧 画图!!! 更加直观形象, 便于我们理解引入虚拟头节点, 方便我们对链表的操作, 减少我们对边界情况的考…...

MySQL中关于NULL值的六大坑!你被坑过吗?
NULL值是我们在开发过程中的老朋友了,但是这个老朋友在MySQL中有很多坑,我通过这篇文章来总结分享一下,欢迎大家在评论区分享你的看法和踩坑经历。 1、NULL不等于NULL 在MySQL中,执行以下SQL会返回NULL 假如t表有以下数据&#…...
学生学习动机测试:激发潜能,引领未来
学习动机、学习兴趣和学习目标制定是影响学生学习成效的三个关键因素。通过对学生学习动机的测试,我们可以深入了解学生的学习状态,进而采取针对性的措施,激发他们的学习潜能,引导他们走向更加光明的未来。本文将从学习动机、学习兴趣和学习目标制定三个方面,详细探讨学生…...

基于SSM党务政务服务热线管理系统的设计
管理员账户功能包括:系统首页,个人中心,用户管理,部门管理,办事信息管理,信息记录管理,系统管理 前台账号功能包括:系统首页,个人中心,部门,信息…...
OSI参考模型详解:初学者指南与实践案例
OSI参考模型详解:初学者指南与实践案例 OSI(Open System Interconnect)参考模型是一个由国际标准化组织(ISO)提出的七层网络分层模型,它为全球所有互联计算机系统提供了一个通用的通信框架,解决…...

S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
TCP 协议通信 TCP 通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200 SMART 与 S7-1200 通过 TCP 通信,在 S7-1200 调用 T-block 指令 ( TCON, TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 调用 Open User Communication …...

Java @RequestPart注解:同时实现文件上传与JSON对象传参
RequestPart注解:用于处理multipart/form-data请求的一部分,通常用于文件上传或者处理表单中的字段。 java后端举例: PostMapping("/fileTest")public AjaxResult fileTest(RequestPart("file") MultipartFile file,Req…...
深度学习基础知识-02 数据预处理
深度学习的数据预处理通常包括: 1.数据清洗:去除错误或不完整的数据。 2.归一化:调整数据范围,如将像素值缩放到0-1。 3.数据增强:通过旋转、缩放等方法增加数据多样性。 4.数据划分:将数据分为训练集、验证…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...