linux 命令行 java(linux软件安装命令)

ubuntu命令行安装java方法linux安装java18详细教程

导引今天在家想搞搞Linux,就安装配置Ubuntu了,并安装配置了Java和开发套件软件,用到了写常用命令,尤其是几个常用压缩和解压的命令,记录一下备忘:

.tar文件

#仅打包,并非压缩

tar-xvf FileName.tar#解包

tar-cvf FileName.tar DirName#将DirName和其下所有文件(夹)打包

.gz文件

#.gz

gunzip FileName.gz#解压1

gzip-d FileName.gz#解压2

gzip FileName#压缩,只能压缩文件

.tar.gz文件、.tgz文件

#.tar.gz和.tgz

tar-zxvf FileName.tar.gz#解压

tar-zcvf FileName.tar.gz DirName#将DirName和其下所有文件(夹)压缩

tar-C DesDirName-zxvf FileName.tar.gz#解压到目标路径

.zip文件

#感觉.zip占用空间比.tar.gz大

unzip FileName.zip#解压

zip FileName.zip DirName#将DirName本身压缩

zip-r FileName.zip DirName#压缩,递归处理,将指定目录下的所有文件和子目录一并压缩

.rar文件

# mac和linux并没有自带rar,需要去下载

rar x FileName.rar#解压

rar a FileName.rar DirName#压缩

.tar是打包,.tar.gz才是压缩过的文件,.tar.gz常见于unix系统,在ubuntu或macos可以直接解压,而.zip常见于windows系统,进一步说

zip和.tar.gz的文件有什么区别?

“tar.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统,但在windows系统中用WinRar工具同样可以解压缩tar.gz格式的。

zip流行于windows系统上的压缩文件(其他系统也可以打开)。zip格式开放而且免费。zip支持分卷压缩,128/256-bit AES加密算法等功能。zip的含义是速度,其目标就是为顶替ARC而诞生的“职业”压缩软件。tar是“tape archive”(磁带存档)的简称,它出现在还没有软盘驱动器、硬盘和光盘驱动器的计算机早期阶段,随着时间的推移, tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系统的程序就是打包为tar档案文件的形式。在Linux里面,tar一般和其他没有文件管理的压缩算法文件结合使用,用tar打包整个文件目录结构成一个文件,再用gz,bzip等压缩算法压缩成一次。也是Linux常见的压缩归档的处理方法。

Java配置安装

系统版本:Ubuntu18.04

JDK版本:jdk-8u241-linux-i586.tar.gz

一、卸载OpenJDK

如果系统实现安装了OpenJDK,可先卸载OpenJDK。

//查看是否安装OpenJDK

java-version

//卸载OpenJDK

sudo apt-get purge openjdk/openjdk*

sudo apt-get clean/autoclean

二、下载JAVA JDK

在oracle官网上下载jdk-8u241-linux-i586.tar.gz

(注:ubuntu是基于debian开发的,centos是基于redhat开发的,所以ubuntu可以使用deb结尾的包,而centos使用rpm结尾的包,故在此我们不下载rpm结尾的包。)

三、解压并更换目录

在存放jdk-8u241-linux-i586.tar.gz的目录下进行解压

tar-zxvf jdk-8u241-linux-i586.tar.gz

便于管理,创建目录java,

sudo mkdir/opt/java

sudo mv./jdk1.8.0_241/opt/Java

说明:

保险起见,为当前用户赋予目录相关权限,即更改文件所有者,命令如下:

sudo chown system_username/location_of_files_or_folders

或许还有修改所属群组,用改变文件或目录的所属组命令:chgrp

四、配置环境变量

sudo vim/etc/environment//vim、vi、gedit作用相同这个系统级的

在打开的文件中添加:

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export JAVA_HOME=/opt/Java

保存,退出。在命令行中输入以下命令使环境变量立即生效

source/etc/environment

接着配置所有用户的环境变量

sudo vim/etc/profile

在打开的界面添加

#set Java environment

export JAVA_HOME=/opt/Java/jdk1.8.0_241

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:JAVA_HOME/lib:JRE_HOME/lib:${CLASSPATH}

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使Java环境立即生效:

source/etc/profile

四、查看是否安装成功

命令行输入:

java-version

看到java版本信息了,包含“java version"1.8.0_241"”等,自己试试吧

鉴于有些文档设置的是~/.bashrc文件,所以查阅了一下有关文档:

执行顺序/etc/environment->/etc/profile->/etc/bashrc->~/profile->~/.bashrc 后面设置的会覆盖前面的设置。

java调用linux命令行

java怎么调用linux命令行呢?下面是java调用linux命令行的具体方法介绍:

java调用linux命令行有两种调用方式。一种是直接调用linux命令,二是将linux命令写到.sh脚本中,调用脚本执行。

1、直接调用:

使用java中lang包下面的Runtime类和Process类,其中Runtime类中的Runtime.getRuntime().exec(linux command)方法可以直接执行linux命令,而Process类可以接收Runtime.getRuntime().exec()类的返回值,并提供了waitFor()方法和destroy()方法,waitFor()方法的作用在于等待此process执行完成后再执行后面的内容,destroy()方法作用在于销毁process。

2、调用shell脚本:

直接调用方法存在一些弊端,比如复杂命令不好实现、有些命令莫名其妙实现不了等。因此我推荐使用调用shell脚本的方式实现linux命令。具体实现方法为:首先将命令写在shell脚本(.sh)中,然后在Runtime.getRuntime().exec()中调用“sh path/.sh”,其中path为shell脚本的路径。

实现案例如下图所示:

其中imp.sh中的命令是:

1 name=$12 su- oracle-c imp user/pwd@实例名 file=filepath full=y ignore=y

该语句实现的功能为在root用户下,切换到oracle目录,并将某个.dmp文件使用imp命令导入oracle数据库,然后返回到root用户下,将该语句放到for循环中实现了多个.dmp文件导入oracle数据库的功能。其中.dmp文件的文件名是变量,在shell命令中以name=$1代替,在linux命令中以${name}代指文件名,在调用时传入该参数的值,linux命令中$1,$2…$n是占位变量,在使用变量时按顺序使用,赋值时按照相应的顺序进行赋值。

linux查看java进程命令

在Linux系统中,可以使用以下命令来查看Java进程:

ps命令:

plaintextCopy codeps-ef| grep java

这个命令会列出所有正在运行的进程,并使用grep命令过滤出包含关键字"java"的进程。这样可以查看到所有与Java相关的进程,包括Java应用程序以及Java相关的工具和服务。

jps命令(仅适用于JDK安装):

plaintextCopy codejps-l

这个命令会列出所有正在运行的Java进程,并显示它们的进程ID(PID)以及完整的主类名。这个命令需要安装JDK,并且只能查看正在运行的Java进程。

top命令:

plaintextCopy codetop

这个命令会实时显示系统的进程和资源使用情况。在top命令的输出中,可以按下Shift+ H(大写H)来显示所有Java进程,或者按下Shift+ L(大写L)来显示所有线程。可以使用方向键上下移动以查看完整的进程列表。

htop命令(如果已安装):

plaintextCopy codehtop

htop是一个更加交互式和可视化的进程查看工具,类似于top命令,但提供了更多的功能和选项。在htop的界面中,可以按下F4键并输入"java"来筛选出与Java相关的进程。

请注意,以上命令需要在具有足够权限的终端中运行,以便查看所有进程

阅读剩余
THE END