首页 > 系统相关 >ubuntu更新Cmake

ubuntu更新Cmake

时间:2024-10-20 12:53:28浏览次数:9  
标签:bin cmake 更新 PATH usr ubuntu Cmake txt 链接

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

标签:bin,cmake,更新,PATH,usr,ubuntu,Cmake,txt,链接
From: https://blog.csdn.net/qq_51491920/article/details/143084895

相关文章

  • 随意门导航zlibrary镜像地址入口(2024更新)
    随意门导航是一个集实用性与便捷性于一体的综合性网址导航网站,它为广大网民提供了一个快速访问各类热门网站和实用工具的便捷平台。在这个网站上,你可以轻松找到涵盖电子书下载、学术资源、生活工具、常用查询以及音乐在线听等多个领域的网址链接。随意门导航的设计简洁明了,用......
  • Spacy的一些用法留档(有待更新)
    Spacy的一些用法:#分词nlp=spacy.load("zh_core_web_sm")doc=nlp(u'中国是世界上最大的发展中国家')fortokenindoc:print(token)#另一种分词(不分割特有名词)nlp=spacy.load("zh_core_web_sm")#添加自定义词汇nlp.tokenizer.pkuseg_update_user_dict(......
  • Z-Library最新官方入口国内可用网址/电脑手机Ipad安装包(2024持续更新)
    zlibrary数字图书馆介绍Z-library被称为全球最大的数字图书馆,里面包含9,826,996本电子书,84,837,646篇期刊文章。从各种知名文学著作,理工学科,人文艺术、到学术论文等应有尽有!支持PDF、epub、mobi等多种格式图书资源下载绝对是你找书的不二选择。zlibrary数字图书馆镜像网址z......
  • 【10月持续更新】国内ChatGPT-4中文版镜像网站整理合集
    ​一、GPT工具跟国内AI大模型整理(一)、GPT国内1.https://snakegpt.work ChatGPT中文版,支持GPT3.5/4/4o,可以用MJ绘画2.GPTCAT  GPT官网逆向版,支持GPT4o的实时语音对话,支持GPTo1-preview3.https://ai-panda.xyz/4.GPTDOG(二)、国内大模型1.文心一言:https://yiyan.baidu.com......
  • 操作系统_Paxos协议实现数据一致性更新
    一、实验环境系统:Windows10编译软件:VisualStudio2022语言:C二、内容假设由5台服务器Ai(i=1,2..5)组成集群,每份数据在5台服务器中各保留一个副本。当客户端C1和C2同时修改存储在集群中的同一个数据时,由于网络修改延迟的存在无法保证两个数据的请求到达每台服务器的先后顺序。......
  • Ubuntu 24.04使用virtualBox启动虚拟机提示Kernel driver not installed的解决办法
    1.Ubuntu安装virtualBoxvirtualBox官方下载对应ubuntu24.04系统的deb安装包进入到下载文件所在目录使用如下apt命令安装下载好的deb安装包sudoaptinstall-f./virtualBox*2.启动虚拟机提示“Kerneldrivernotinstalled”由于我装的是双系统,ubuntu挂载了windows下使......
  • Ubuntu 16.04 编译安装Python 2.7.18
    安装python2.7.18(注)使用aptinstallpython安装的版本是2.7.10,该版本对部分项目存在兼容性问题,因此需要手动编译安装安装python编译环境sudoaptinstallpython-devpkg-configlibreadline-devlibc6-devlibncursesw5-devbuild-essentialgdbpkg-configlibbz2-devlibffi-......
  • 【10月持续更新】国内ChatGPT-4中文版镜像网站整理合集
         一、GPT工具跟国内AI大模型整理(一)、GPT国内1.https://snakegpt.work ChatGPT中文版,支持GPT3.5/4/4o,可以用MJ绘画2.GPTCAT  GPT官网逆向版,支持GPT4o的实时语音对话,支持GPTo1-preview3.https://ai-panda.xyz/4.GPTDOG(二)、国内大模型1.文心一言:https://yiya......
  • JDK 21更新:switch语句的类型模式匹配与守卫模式
    Java语言自诞生以来,一直在不断演进,以满足开发者日益复杂的需求。switch语句作为一种控制流结构,在Java中有着广泛的应用。随着JDK21的发布,switch语句和表达式得到了显著增强,使其在处理复杂条件和类型检查方面更加灵活和强大。本文将详细探讨JDK21中switch语句和表达式的更......
  • Higress 重磅更新:AI 能力全面开源,云原生能力再升级
    作者:澄潭、钰诚新版本简介Higress最新的1.4版本基于为通义千问,以及多家云上AGI厂商客户提供AI网关的积累沉淀,开源了大量AI原生的网关能力。同时也在Ingress、可观测、流控等云原生能力上做了全方位升级:AI能力全面开源:提供包含安全防护、多模型适配、可观测、缓存......