开启学习linux之旅~装了一个linux的虚拟机,版本为:Center OS
磕磕绊绊的装上linux虚拟机后,面对着黑白的命令界面,感觉像是回到了dos时代,有些无从下手的感觉,命令大致看了一些,但记住的还是那些和dos相似的,深深的觉得,所有的熟悉都是建立在实际应用的使用中。
JDK下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
所以决定以任务的方式熟悉这个操作系统,首要任务,就是安装JDK环境,毕竟这是开发必备的。
问题1:如何下载LINUX版本的JDK,并将它移入虚拟机系统中
解决方案:在usr目录下创建java文件夹,并打开java文件夹,命令如下:
[root@localhost ~]# mkdir/usr/java
[root@localhost ~]# cd /usr/java
然后有两种方式:一是从网上看来的,直接在虚拟机linux系统中下载,命令如下:
[root@localhost java]# curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-8u161-linux-x64.tar.gz
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以助一臂之力。
常见参数如下:
-A/--user-agent 设置用户代理发送给服务器
-b/--cookie cookie字符串或文件读取位置
-c/--cookie-jar 操作结束后把cookie写入到这个文件中
-C/--continue-at 断点续转
-D/--dump-header 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file 上传文件
-u/--user 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
我用的是第二种自己想的笨办法,我首先想到的是通过工具将我下载到电脑里的linux版本的jdk移到虚拟机里就好了,然后发现自己的vm并没有安装vm tools,接着就想到了ssh工具,这个工具之前有用过,一般用于与远程的linux服务器进行文件传送之类的。但是连接需要ip地址,所以,先用了以下命令查看linux虚拟机的ip地址
[root@localhost ~]# ip addr
[root@localhost ~]# ifconfig
我一开始用ifconfig,提示commond not found错误,查原因是这个版本没有这个命令,所以用ip addr就可以了,但是,也可以选择安装命令,前提是你的虚拟机要可以联网,所以需要如下设置:
桥接模式:和主机共享一个网络,但是如果不选复制物理网络连接状态,则虚拟机上不了网,所以一定要勾上,勾上以后,可以认为虚拟机也是一台单独的网络设备,路由会给分配单独的IP地址。
NAT模式:和主机的IP地址是一样的,即在虚拟机内连127.0.0.1和在主机连127.0.0.1是一个效果,所以网络也是共享的。
仅主机模式:即和主机在同一局域网内,虚拟机不能上网,会有一个局域网IP,由主机ping这个局域网IP可以ping通。
以上是我在使用vm网络连接时的一些自己的理解。
在保证虚拟机可以上网的前提下,使用一下命令安装缺少的命令:
[root@localhost ~]# cd /sbin
[root@localhost sbin]# sudo yum install net-tools
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
yum: 即Yellowdog Update Modifier,是一种基于rpm的包管理工具,可以用于运作rpm包,在系统上对某个软件的管理。
安装:yum install卸载:yum remove 更新:yum update
安装成功后,即可使用ifconfig命令啦。
输入查看ip的命令后,发现eno16777736里没有inet的相关信息(有的版本可能不叫eno16777736),反正就是除了lo以外的另一个就对了,如果没有ip,是因为linux虚拟机默认不开启网卡的,所以要修改相关参数,如下命令:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736(eno16777736就是你查看ip时的那个名字,查到是哪个就写哪个)
vi命令是打开文件并编辑。
如上图所示,将光标移到最后一行,改ONBOOT=yes,然后按esc退出编辑,再输入:wq保存并退出
然后重启网络服务命令:
[root@localhost ~]#sudo service network restart
最后再执行查看ip命令,就可以显示ip相关信息啦,如下图所示,如果还是不可以,那就重启一下虚拟机。
接下来就好办了,在主机上安装ssh工具,输入ip地址和用户名创建连接,再输入密码,就可以连接上虚拟机进行文件传输啦~
将下载好的linux版本的jdk放在刚才创建的java文件夹下,这就是我自己想出来的第二种方法,哈哈哈。
不管通过哪一种方法将linux版本的jdk放到java文件夹下,完成以后,执行以下命令解压文件:
[root@localhost java]# tar -zxvf jdk-8u161-linux-x64.tar.gz
tar命令是压缩解压缩文件,常用参数如下:
-z:有gzip属性,即需要用 gzip 压缩
-j:有bz2属性,即需要用 bzip2 压缩
-Z:有compress属性的
-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
-O:将文件解开到标准输出
-f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg // 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif // 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif // 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar // 这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar // 这条命令是解出all.tar包中所有文件,-x是解开的意思
解压完了之后设置环境变量:
[root@localhost java]# vi /etc/profile
在profile中添加如下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
同样修改完成后按esc退出,在输入:wq保存退出
然后输入命令让修改生效:
[root@localhost java]# source /etc/profile
至此JDK算是安装完成了,以下为验证JDK是否安装成功的命令,和在windows上的cmd命令一样:
学习是一件永无止境的事情,在现今这个知识爆炸,技术更迭的时代,不学习就意味着被社会淘汰。所以,加油吧,少年,趁还年轻,趁还有时间,趁一切都还来得及。
以下为参考文献来源:
https://www.linuxidc.com/Linux/2016-09/134941.htm CentOS下安装JDK的三种方法,我用的是第一种。
https://blog.csdn.net/dancheren/article/details/73611878 查看虚拟机里的CentOS7的IP
https://blog.csdn.net/dandelion_drq/article/details/53503487 ifconfig命令comond not found解决办法
https://blog.csdn.net/freeking101/article/details/51480295 tar命令详解
https://blog.csdn.net/lkeven/article/details/77100358 sudo apt-get和yum命令的区别
https://www.cnblogs.com/lhm166/articles/6604852.html linux下的tar压缩解压缩命令详解