JDK 安装、环境变量配置、nano 和 vim 的使用


目录
  1. 在 Ubuntu 上安装 JDK 1.8
  2. 配置用户级的环境变量
  3. nano 和 vim 的区别
  4. 总结与建议

在 Ubuntu 上安装 JDK 1.8

JDK(Java Development Kit)是开发 Java 应用的必备工具。以下是两种在 Ubuntu 上安装 JDK 1.8 的方法:

方法 1:通过 apt 包管理器安装 OpenJDK 1.8(推荐)
  1. 更新软件包列表:
    sudo apt update
    
  2. 安装 OpenJDK 1.8:
    sudo apt install openjdk-8-jdk
    
  3. 验证安装是否成功:
    java -version
    
    输出应显示 openjdk version "1.8.x",即表明安装成功。
方法 2:手动下载并安装 Oracle JDK 1.8
  1. 从 Oracle JDK 下载页面 下载 JDK 1.8。
  2. 解压下载的 JDK 文件:
    tar -zxvf jdk-8uXXX-linux-x64.tar.gz
    
  3. 将 JDK 文件移动到系统目录:
    sudo mv jdk1.8.0_xxx /usr/local/jdk1.8
    
  4. 配置环境变量(见下文)。

配置用户级的环境变量

为确保 JDK 安装后系统能够正确找到 Java,我们需要设置环境变量。Ubuntu 系统支持在用户级别的文件 ~/.profile~/.bashrc 中配置环境变量。

方法 1:使用 ~/.profile 文件(推荐)
  1. 打开用户的 ~/.profile 文件:
    nano ~/.profile
    
  2. 添加以下内容到文件末尾(将路径替换为实际 JDK 路径):
    export JAVA_HOME=/usr/local/jdk1.8
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 保存并关闭文件,然后使配置生效:
    source ~/.profile
    
  4. 验证配置:
    java -version
    
方法 2:使用 ~/.bashrc 文件
  1. 打开 ~/.bashrc 文件:
    nano ~/.bashrc
    
  2. 添加相同的环境变量配置:
    export JAVA_HOME=/usr/local/jdk1.8
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 保存并关闭文件,然后使配置生效:
    source ~/.bashrc
    

区别~/.profile 文件会在用户登录时加载,适合需要在整个用户会话中生效的环境变量。而 ~/.bashrc 文件仅在新终端会话打开时加载,适合在终端中生效的变量。


nano 和 vim 的区别

在 Linux 系统中,nanovim 是两个常用的文本编辑器。它们的区别在于操作方式、功能、用户友好性和配置复杂度等方面。

1. 操作方式
  • nano:设计为简单易用,所有常用快捷键在界面底部显示,适合新手。
  • vim:采用多模式编辑,分为普通模式、插入模式和命令模式,需要记忆快捷键,适合高级用户。
2. 功能
  • nano:提供基础的文本编辑功能,适合快速简单的编辑任务。
  • vim:功能丰富,支持多窗口、多文件、语法高亮、宏、插件系统等,适合编程和复杂文本操作。
3. 用户友好性
  • nano:界面友好,易上手,适合快速编辑文件。
  • vim:学习曲线较高,但效率极高,适合长期使用和深入学习。
4. 配置和定制化
  • nano:配置选项少,开箱即用。
  • vim:可以通过配置文件 ~/.vimrc 和插件系统进行高度定制,支持丰富的功能扩展。
对比总结
特性nanovim
操作方式简单、快捷键直观复杂、基于模式的操作
功能基础编辑功能高级功能丰富,适合编程
用户友好性初学者友好,易上手学习曲线较高,适合高级用户
配置和定制化基本无丰富的配置和插件支持
适用场景简单编辑和快速修改编程、配置文件编辑和复杂操作

总结与建议

  • JDK 安装:可以通过 apt 直接安装 OpenJDK 1.8,或者手动下载 Oracle JDK 1.8,具体取决于是否有特殊需求。
  • 环境变量配置:如果需要全局生效(包括图形界面应用),推荐使用 ~/.profile;如果仅在终端生效,可以选择 ~/.bashrc
  • nano 和 vim 的选择
    • nano 适合新手用户,操作简单,适用于简单快速的文本编辑。
    • vim 适合高级用户,功能丰富,适合编程和复杂文本处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/10720.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AUTOSAR CP TCP/IP堆栈规范导读

一、规范的主要内容 该规范是AUTOSAR中关于TCP/IP堆栈的规范,主要内容包括以下几个方面: 总体介绍 功能概述:提供了发送和接收互联网协议数据的功能,位于Socket Adaptor和以太网接口模块之间。文档信息:包含文档标题…

redis安装

Redis的安装配置 安装Redis 安装gcc依赖 Redis是使用C语言编写的,Linux上并没有C语言的编译器,需要手动安装 yum install -y gcc tcl上传安装包并解压 将压缩包放在任意目录解压 tar -xzf redis-6.2.6.tar.gz安装 1.进入redis目录 cd redis-6.2.62.运行…

Linux系统程序设计--3. 文件操作

文件属性 存放文件属性的结构体 文件属性操操作函数 文件类型(7种) - 普通文件d目录p 管道文件l 符号链接(软链接) 判断文件类型的小程序 #include<sys/types.h> #include<sys/stat.h> #include<string.h> #include<stdio.h> #include<memory.h&…

单词反转和数组去重,附经典面试题一份

博彦科技笔试&#xff1a; 给定字符&#xff0c;拼接成单词进行反转单词&#xff1b; package org.example;public class Main {public static void main(String[] args) {char[] input {h, e, l, l, o, , w, o, r, l, d, , J, a, v, a};String inputToString new String(…

HTB:Precious[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 使用curl访问靶机80端口 使用ffuf爆破一下子域 使用浏览器访问该域名 使用curl访问该域名响应头 使用exiftool工具查看该pdf信息 横向移动 USER_FLAG&#xff1a;adf5793a876a190f0c08b3b6247cec32…

【2024.11.10实测有效:Win11右键默认显示更多设置教程】

winX 选择管理员 reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve# 再 taskkill /f /im explorer.exe & start explorer.exe! none taskkill /f /im explorer.exe; start explorer.exe

环形链表问题(图 + 证明 + 题)

文章目录 判断链表是否有环返回链表开始入环的第一个结点 判断链表是否有环 题目链接 思路&#xff1a; 可以明确的是&#xff1a;若一个链表带环&#xff0c;那么用指针一直顺着链表遍历&#xff0c;最终会回到某个地方。 我们可以定义两个指针&#xff08;快慢指针&#xf…

【优选算法 — 滑动窗口】最大连续1的个数 将 x 减到0的最小操作数

最大连续1的个数 最大连续1的个数 题目描述 题目解析 给我们一个元素全是0或者1的数组&#xff0c;和一个整数 k &#xff0c;然后让我们在数组选出最多的 k 个0&#xff1b;这里翻转最多 k 个0的意思&#xff0c;是翻转 0 的个数< k&#xff0c;而不是一定要翻转 k …

HTML基础

1.HTML基本结构标签 在Visual Studio Code中&#xff0c;使用&#xff01;回车就可以创建一个HTML的基本结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"wi…

CSM快速匹配与多分辨率匹配代码实现

0. 简介 CSM在Cartographer中是比较基础且非常适合拓展的功能。他主要的步骤如下图。 主要实现的步骤为&#xff1a; 1&#xff09;获取先验位姿&#xff0c;通过TF获取里程计的值&#xff0c;作为当前scan的预测位姿&#xff0c;将这个预测位姿当做扫描匹配的先验。 2&…

力扣力扣力:动态规划入门(1)

相信大家在第一次学动态规划的时候都是一脸懵逼的&#xff0c;在看了很多题解之后&#xff0c;陷入到了空的“最优子结构”等的大词上&#xff0c;依旧看不懂动态规划到底在干什么。今天我们也是老样子再一次的从零开始学习与讲解&#xff0c;俺也是从零开始学动态规划&#xf…

私域流量时代下的新型商业模式:以开源链动 2 + 1 模式、AI 智能名片、S2B2C 商城小程序源码为例

摘要&#xff1a;本文探讨了私域流量时代的特点及其对商业盈利模式的影响。通过分析从大众消费时代到私域流量时代的转型&#xff0c;阐述了商品到“人”的变化过程。同时&#xff0c;深入研究了开源链动 2 1 模式、AI 智能名片和 S2B2C 商城小程序源码在私域流量发展中的作用…

多模态交互智能体全面解析:定义、架构、学习机制、系统实现、分类、应用场景及评估方法

多模态AI系统很可能会成为我们日常生活中无处不在的存在。使这些系统更具交互性的一种有希望的方法是将它们作为物理和虚拟环境中的智能体。目前&#xff0c;系统利用现有的基础模型作为创建具身智能体的基本构建块。将智能体嵌入这些环境中&#xff0c;有助于模型处理和解释视…

助眠白噪音视频素材哪里找?这些平台帮你快速找到放松素材

在现代社会&#xff0c;信息的轰炸让人们的生活节奏变得越来越快&#xff0c;很多人晚上都在床上辗转反侧&#xff0c;难以入眠。如果你也遇到这样的困扰&#xff0c;想要寻找助眠的白噪音视频素材&#xff0c;那么今天介绍的这些网站将会是你的福音&#xff01;它们提供高质量…

一年四起供应链投毒事件的幕后黑手

前言 2017年&#xff0c;黑客入侵Avast服务器&#xff0c;在CCleaner更新中植入恶意代码&#xff0c;被数百万用户下载。 2017年&#xff0c;M.E.Doc遭黑客攻击&#xff0c;篡改更新植入NotPetya&#xff0c;影响全球公司。 2020年&#xff0c;黑客入侵SolarWinds服务器&…

Qt信号和槽-->day04

Qt信号和槽 标准的信号和槽函数Qt中的槽函数Qt中的信号 connect案例 自定义信号和槽案例分析 信号槽的拓展信号连接信号案例 信号槽的两种连接方式Qt5中的处理方式Qt4中的处理方式Qt5处理信号槽重载问题案例 lambda表达式简单案例Qt中的应用 补充知识点 标准的信号和槽函数 QW…

【超级详细】基于Zynq FPGA对雷龙SD NAND的测试

目录 一、SD NAND特征1.1 SD卡简介1.2 SD卡Block图 二、SD卡样片三、Zynq测试平台搭建3.1 测试流程3.2 SOC搭建 一、SD NAND特征 1.1 SD卡简介 雷龙的SD NAND有很多型号&#xff0c;在测试中使用的是CSNP4GCR01-AMW与CSNP32GCR01-AOW。芯片是基于NAND FLASH和 SD控制器实现的…

linux物理内存管理:node,zone,page

一、总览 对于物理内存内存&#xff0c;linux对内存的组织逻辑从上到下依次是&#xff1a;node&#xff0c;zone&#xff0c;page&#xff0c;这些page是根据buddy分配算法组织的&#xff0c;看下面两张图&#xff1a; 上面的概念做下简单的介绍&#xff1a; Node&#xff1a…

STM32-Flash闪存

目录 一、简介 1、闪存模块组织 2、FLASh基本结构 3、FLash写入和读取操作 4、编程流程 5、选项字节格式 6、选项字节编程步骤 二、读写芯片内部FLASH编程 三、器件电子签名 1、简介 2、编程实现 一、简介 STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节…

数据结构之带头双向循环链表

前言&#xff1a;前面我们实现了顺序表和单链表&#xff0c;这次来实现一个结构更复杂的链表-----带头双向循环链表。不要被它的名字吓到哦&#xff0c;只是结构复杂而已&#xff0c;它的结构更有利于代码的实现。 1 双向循环链表的介绍 有了单链表的基础&#xff0c;要实现这…