linux的初步学习,如何在linux上编程,上网,传输文件和一些基本的linux命令操作。

倒不如不爱 倒不如不爱     2023-01-06     292

关键词:

下载安装好虚拟机和Linux系统后(这是老师第一节课的任务- -)

1.了解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多线程服务端编程

...学www.linuxprobe.com参考技术A这个你先需要把linux系统的基础学习好,再来研究linux上的编程。我看过的书籍《Linux就该这么学》是非常好的,可以帮助你系统的学习linux。还有官方网站www.linuxprobe.com上还有很多好的学习资料 查看详情

如何系统深入地学习linux?

...统管理、软件安装配置、网络管理、系统维护、shell编程初步Linux高级分为两部分:(1)Linux服务器领域:数据库、防火墙、DNS服务器、V 查看详情

linux基本指令(上)

...。闲言少序,在了解了Linux的历史背景后,我们需要开始初步开始学习如何使用Linux系统.操作系统我们需要花上一点时间,看看操作系统是什么东西.由于我们操作硬件效率太过低下,难度也特别高,所以我们发明的操作系统.我们都... 查看详情

怎样学习linux?

学习Linux步骤:1、先了解了解基础吧,找一本薄一点的,浅一点的书,了解一下什么是linux。有个基本了解即可。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看,对你可以说是不受益匪浅都不... 查看详情

浅谈如何学习linux

学习Linux并不难,做好规划,有合适的学习路线,坚持学习,就可以达到意想不到的结果。以下是Linux经典学习路线,希望对你们有帮助。第一阶段:linux基础入门1.开班课程介绍-规章制度介绍-破冰活动;2.Linux硬件基础/Linux发展历... 查看详情

如何以编程方式在 linux 上创建 iscsi 目标?

】如何以编程方式在linux上创建iscsi目标?【英文标题】:HowcanIprogrammaticallycreateaniscsitargetonlinux?【发布时间】:2014-03-2914:44:32【问题描述】:我正在使用linux的默认iSCSI服务器。它被配置为目标。现在,我想以编程方式添加一个... 查看详情

linux学习之centos--虚拟机下的centos如何上网

...5377/archive/2013/04/05/3001148.html 这篇随笔应该说跟CentOS的学习关系不是很大,但是却关系到了我接下来的CentOS学习。。。。。。自从在虚拟机中安装了CentOS以来,就想着能不能在虚拟机里面和宿主windows一样上网,当时可是花费... 查看详情

C , linux 中的音视频编程

...inginC,linux【发布时间】:2011-03-1705:25:58【问题描述】:想学习ffmpeg,在fedoralinux下用C语言实现文件格式转换和播放。我在哪里可以获得有关如何在PC中播放音频视频文件的基本详细信息?我在哪里可以获得最好的音视频节目素材... 查看详情

linux虚拟机如何上网

linux虚拟机如何上网最简单的方式,关机后选择网络连接方式为桥接(Brige);或者在开机的情况下选择网络连接方式为桥接,然后在linux打开一个终端或控制台,运行:dhclient命令。这样打开linu虚拟机的浏览器或者用文本的elinks就可... 查看详情

如何在 Linux x86 上使用 C 对蓝牙 LE 设备进行编程?

】如何在Linuxx86上使用C对蓝牙LE设备进行编程?【英文标题】:HowtoprogramaBluetoothLEdeviceusingConLinuxx86?【发布时间】:2015-06-0107:17:06【问题描述】:我有一个蓝牙设备,我可以在Linux上使用gatttool来控制它。我想开发自己的可以向其... 查看详情

如何在 FLTK 中编写面板任务栏以在 Linux 系统上使用

...桌面)顶部显示信息。我需要避免GUI编程的臃肿和陡峭的学习曲线。我的研究指向GTK+/GTKmm或 查看详情

linux进程理解

...解和记忆.今天的博客是关于计算机的基本结构和进程的初步认识.冯诺依曼体系结构学习计算机就绕不开这个知识点,我们需要有一个基本的了解。冯诺依曼体系结构包含以下几个部分,其他的组件都是在这个基础上发展的CPU(运... 查看详情

如何通过macos系统学习linux系统的操作及编程?

...主逛论坛或者买书。参考技术AMacOS底子其实是unix如果说学习的是命令行操作,基本上和linux差别也不是很大,如果是图形界面那差别就较大了至于编程其实无所谓操作系统了,关键是你要学的是什么语言。MacOS下的主要是用Xcodeli... 查看详情

linux运维方向需要学些啥,之后可以从事哪些工作

推荐几本学习Linux的书籍供参考:一、《快乐的Linux命令行》这本书介绍如何生存在Linux命令行的世界。不像一些书籍仅仅涉及一个程序,比如像shell程序,bash。这本书将试着向你传授如何与命令行界面友好相处。它是怎样工作的... 查看详情

111(代码片段)

学习实验楼《Linux入门基础》心得与总结初步了解Linux系统??和学习Windows一样(虽然Windows也学的不好),Linux的学习过程也是一个循序渐进的过程,不可能一上来连shell是什么都不知道就开始学习shell编程(当然经过之后的学习我... 查看详情

如何在 Linux 上使用 c++ 中的系统函数

...】:2014-12-3016:35:21【问题描述】:我是linux新手,我正在学习c++我如何在linux上使用system("")像系统(“颜色4a”);我如何在linux上使用它【问题讨论】:你认为system函数在做什么?你想达到什么目的?color4a应该做什么?您能否... 查看详情

如何给vmware虚拟机分配一个固定ip上网?

...NAT方式上网,设置虚拟机IP为静态IP。追问不能桥接方式如何在本机设置ip和虚拟机设置静态ip且又能上网呢? 查看详情

对软件技术基础的课程期望及git的初步了解

...nbsp; 大一的c程序设计课程的学习让我对编程语言有了初步的了解,但只是在简单程序的编写上,对编程的应用毫无了解。我希望在软件技术基础这门课上,学习到如何实现从编程到一个软件的制作。另外,在平日的学习中,... 查看详情