热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

下载安装好虚拟机和Linux系统后(这是老师第一节课的任务--)我设置了网络,先在windows的网络适配器里找到可用的无限网络或者本地网络,打开属性里面的共享,把网络供给了VM1

下载安装好虚拟机和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文件不增加,移动过去了。所以可以移动和重命名。
 



推荐阅读
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 对于希望在未越狱的iOS设备上修改Hosts文件的苹果用户来说,了解文件的具体位置和操作步骤至关重要。本文将详细介绍如何通过安装最新版本的iTunes来实现这一目标,并提供实用的操作指南,帮助用户轻松完成Hosts文件的编辑。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
author-avatar
Angel-約定_335_292_569_759
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有