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相关的进程。
请注意,以上命令需要在具有足够权限的终端中运行,以便查看所有进程