当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/464349.html

相关文章:

  • CMOS晶体管的串联与并联
  • 从IT高管到看门大爷:53岁我的职场华丽转身
  • Redis入门到精通(三):入门Redis看这一篇就够了
  • IP基本原理
  • 数据分析题面试题系列2
  • uniapp 单表、多级动态表单添加validateFunction自定义规则
  • FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
  • 顺序表的实现(数据结构)——C语言
  • 【VUE】Vue中 computed计算属性和watch侦听器的区别
  • linux线程 | 同步与互斥 | 深度学习与理解同步
  • Tkinter Frame布局笔记--做一个简易的计算器
  • 算法专题八: 链表
  • MySQL中关于NULL值的六大坑!你被坑过吗?
  • 学生学习动机测试:激发潜能,引领未来
  • 基于SSM党务政务服务热线管理系统的设计
  • OSI参考模型详解:初学者指南与实践案例
  • S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
  • Java @RequestPart注解:同时实现文件上传与JSON对象传参
  • 深度学习基础知识-02 数据预处理
  • 【CTF刷题9】2024.10.19
  • WPF中的Setter
  • RabbitMQ下载与配置
  • 【数据结构与算法】力扣 54. 螺旋矩阵
  • 速通不了的人工智能
  • 微信新功能上线,找工作也能“附近”搞定
  • CANoe与C#联合仿真方案
  • 公交信息在线查询系统|基于java和小程序的公交信息在线查询系统小程序设计与实现(源码+数据库+文档)
  • [LeetCode] 1162. 地图分析
  • CentOS 上安装 MySQL(附卸载教程)
  • 如何在Matlab界面中添加日期选择器?