ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux的初步学习,如何在Linux上编程,上网和一些基本的Linux操作。

2021-09-25 22:34:47  阅读:161  来源: 互联网

标签:文件 Linux 虚拟机 编程 上网 模式 NAT LINUX HELLO


下载安装好虚拟机和Linux系统后(这是老师第一节课的任务- -)
我设置了网络,先在windows的网络适配器里找到可用的无限网络或者本地网络,打开属性里面的共享,把网络供给了VM1,在Linux界面找到设置里的网络,打开网络按钮,出现了ip地址。后来的学习中,对于网络问题学习了一些相关命令:

ifconfig  ****查看ip地址,在ens33中显示,用于Sheel6和虚拟机LINUX的连接,但必须要在NAT模式下。

其间碰到了电脑连上热点后,查看LIUNX的ip地址只出现Inet6而无Inet4,是因为LINUX上的网络并没有开,所以LINUX的IP地址无显示,实在是太粗心了。

再克隆后的第二个系统上重新开始学习,(第一个克隆的系统昨天被我弄的功能缺失了,主要是我把他本地的JDK给卸载了,自己还没装成功,于是去了自己的主系统弄好了JDK,用快照还原后,在克隆2号上重新实践一遍)这一次我连上网后又出现了新的状况:Linux能上网,宿主机却始终连不上网络。我查询了资料,大多表示是本机的IP地址和Linux的地址出了问题。于是我重启了电脑,在二号机上看到了网络设置用的是桥接模式而不是NAT模式,这和我查的资料符合了。

为此我还特地再去了解了VM网络的三种模式桥接模式、NAT模式、仅主机模式。
VMnet0:用于桥接模式下的虚拟交换机
VMnet1:用于仅主机模式下的虚拟交换机
VMnet8:用于NAT模式下的虚拟交换机桥(这三种是在LIUNX的网络配置器下,在WINDOWS下只有VM1和VM8)

接模式要求两者的IP地址在同一网段,如果需要联网,则网关与DNS需要与主机网卡一致。 大多数情况下是需要自己去配置的,查询好为windows下的IP来配置LINUX的。桥接模式的IP资源会紧却,在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8网卡是为了实现主机与虚拟机之间的通信。
可见NAT模式下主机更像是虚拟机们的"路由器",通过VMnet8虚拟网卡为虚拟机分发地址。所以虚拟机和主机不再同一网段下,可以理解为主机是虚拟机的"上级",这也就是为什么桥接模式没有VMnet0这个虚拟网卡,因为桥接模式下的虚拟机和主机是"平等"的,共用同一个路由器。至于仅主机模式不过就是阉割了虚拟NAT设备,通过两个系统下的VM1互相访问,但只能与主机通信。

所以重启后,我用NAT模式连接后就自动连上了网络。前面说到ifconfig下的ens33里有连上网的IP地址,那么有时候查看和修改ens33里的内容,在之前查阅的资料里了解到了命令:

cd /etc/sysconfig/network-scripts  ****cd跟DOS操作是一样的,change directory 

ls       ****list,列出目录下的文件

cat ifcfg-ens33      ****cat 查阅内容,只读不改

或者vim /etc/sysconfig/network-scripts/ifcfg-ens33   ****vim 这里是进入对ifcfg-ens33的编辑模式

sudo service network restart   ****sudo,获取root权限,这里的网络重启动命令host用户是没有权限的

在终端里看到了一些变化,再没有cd之前,左边是~符号,每次cd的末目录,下一行的左边就显示他的目录名,方便你阅读。
同理,当你sudo或者su得到了root权限,你的左边由用户名加@,右边是¥变成了左边是root加@,右边是#号。
中间也出了个小插曲,我用cat的时候后面没有跟内容就按了回车,结果一直显示在输入模式,而且我输入什么,他重复什么,我怎么也退出不了,查资料后按ctrl+D退出!

终于完成了对网络的了解。接下来要完成老师给的任务了。在LINUX下创立和运行C,C++,JAVA程序。

2.C程序的建立和运行

vim HELLO.c   ****表示在当前目录下建立HELLO.c,上面的/xx/xx的写法是进入绝对路径的目录下创建文件
yum -y install gcc automake autoconf libtool make ****安装cc编译软件
gcc -o HELLO HELLO.c  ****编译HELLO.c
ls  ****查看是否出现HELLO绿色文件
./HELLO  ****打开运行HELLO.c程序

3.C++程序的建立和运行

vim HELLO.cpp
g++ apt-get install g++
g++ -o HELLO HELLO.cpp
./HELLO (和c程序的创立没有很大区别)

4.JAVA程序的建立和运行

java -version    ****查看LINUX下的JDK版本,如果有,就直接用,没有就要下载通过Shell脚本传输文件
vim HELLO.java   ****注意这里编写的类名要和文件名一样
vim /etc/profile
(在末尾添加
AVA_HOME=/usr/java/jdk1.8.0_131-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
配置好环境变量后)
source /etc/profile
javac HELLO.java  ****如果这里出现未找到命令的报错,执行yum install java-devel装原生的
(执行后javac编译通过)
java HELLO     *****如果这里出现了找不到或者无法加载主类的报错,问题是main函数和编译文件不在同一个目录下,解决办法是在环境变量的CLASSPATH=后面加上  .:  (一个点和一个冒号),表示在当前目录下建立。
./HELLO

5.从WINDOWS上传输文件到LINUX上

然而在java文件的建立和编译上出现了小插曲。我在网上找到的方法是让我重新下载一个新版本的JDK,把LINUX上自带的JDK卸载。而在WINDOWS上传输文件,要用脚本文件Shell6和Xftp文件传输,而用脚本软件Shell6连接虚拟机LINUX系统最重要的步骤就是知道LINUX上的IP地址,然后新建会话连接LINUX。

或者用rz/sz命令,但是虚拟机上用该命令会出现乱码情况。

第三个方法我并没有成功过,就是直接在WINDOWS上把文件脱进LINUX的桌面下,一般别直接拉进文件里,这可能出现叉的符号。拉进桌面后,再把安装包放进你要放置的文件中。进入终端进行安装:

cat /proc/version 或者uname -a  ****查看LINUX的版本信息,找到对应的JDK安装包

rpm -ivh jdk-8u221-linux-x64.rpm  ****JDK-8u221就是你下载的jdk8-221版本

6.课堂上的命令笔记

rpm-qa ****查询安装包

rpm the number of rpm和cat -n xxx
同理tar the number of tar 都是查看以.rpm或者.tar文件结尾的安装包数量和数目

who am i   ****查询当前文件

pwd  ****查看当前工作目录的绝对路径

tree  ****显示路径结构 一般要 yum -y install tree 来安装该工具

./ 当前目录  ../当前的前一目录

mkdir ****创建一个空白目录

rmdir  ****只能删除空目录

rm -rf xxx  ****删除某路径下的文件或或者目录 强制删除,不管是否有内容

-p: mkdir -p xx/xx/xx   ****创建多目录文件,不然只能通过cd不断进入创建的文件再mkdir
同理 rmdir -p     ****连同上层的空目录一起删除

cd  ****不加路径返回root目录,cd -表示返回上次目录

ls    ****list,ls -a 表示查看隐藏文件和目录,ls -l简为ll 查看当前目录下的目录和文件属性

man xxx  ****查看命令的用法

find -name xxxx   **** 查看某某文件或再目录的路径

touch xx  ****创建一个新的文件

echo  “xxx” >> xxx   ****写入内容到xxx文件里

cat和more和less和head和tail    ****都是查看内容信息,cat查询内容少的文件,more查询更多空格下一页和b键上一页,less 分页显示和more差不多,可以用键盘方向键查看,q键退出。head -n 查询前几行,tail -n查询后几行

cp xxx(源文件)  xxx(目标文件)   ****可以复制文件到目录,也可以复制文件覆盖另一个文件。

mv xxxx  xxxx   ****同上,移动或者重命名文件或目录,但cp文件增加,mv文件不增加,移动过去了。所以可以移动和重命名。
 

标签:文件,Linux,虚拟机,编程,上网,模式,NAT,LINUX,HELLO
来源: https://blog.csdn.net/weixin_56115549/article/details/120478816

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有