Linux概述
linux是什么
linux是一个操作系统(OS),和windows、MacOS一样 。
概述(当故事看看就好)
Linux内核最初只是芬兰人Linux Torvalds(李纳斯·托瓦兹)在赫尔辛基大学上学时处于个人爱好而编写的。高中时精通汇编语言,大学对Unix操作系统感兴趣,但Unix不开源,看不到,基于Minix(Unix的变种)开发,就仿写Unix诞生了Linux,并作出伟大的决定开源(开放源代码),后面有看不惯SVN收费,就自己写出了Git。
而关于Unix我们就要提到另两位大神Ken Thompson(肯·汤普森)和Dennis M. Ritchie(丹尼斯·利奇),前一位开创Unix操作系统,期间汇编语言写操作系统很烦就写出B语言,也就是C语言的前身;后一位完善了Unix操作系统,且在B语言的基础上写出了C语言。(大学必学语言,咯,这就是大神。)
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承 了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较指明的发行版有:Ubunta、RedHat、CentOS,Debain、Fedora、SuSE、OpenSUSE。
Linux和Windows区别
Linux下载安装和虚拟机的下载安装
http://isoredirect.centos.org/centos/7/isos/x86_64/
(VMware下载官网,可试用)
https://www.vmware.com/cn/products/workstation-pro.html
VMware激活密钥(通用批量永久激活许可) 16:ZF3R0-FHED2-M80TY-8QYGC-NPKYF 15:FC7D0-D1YDL-M8DXZ-CYPZE-P2AY6 12:ZC3TK-63GE6-481JY-WWW5T-Z7ATA 10:1Z0G9-67285-FZG78-ZL3Q2-234JG
CentOS下载
在里面选择一个镜像网站CentOS-7-x86_64-DVD-2009.iso(我这个是阿里云的网站)
大家尽量下载centOS-7版本的,虽说有CentOS-8版本的但这个版本英年早逝不更新了。
(有时间可以看看,可当谈资)
(下载好了ISO文件之后就是下载虚拟机了)
虚拟机VMware下载和Linux安装
(大家自行网上搜索,我只提供参考链接,学习视频中有教可视化操作)
VMware虚拟机安装Linux教程(超详细)_七维大脑的博客-CSDN博客_vmware安装linux虚拟机
(安装好了之后,可能会有网络问题,可以看看网络配置)
Linux文件目录
Linux系统中一切皆文件
目录 |
含义 |
/bin |
Binary的缩写,用来存二进制可执行文件,并且比较特殊的是/bin存放的是所有一般用户都能使用的可执行文件,如:cat、chmod、mv、mkdir、cd等常用指令 |
/sbin |
Super User的意思,存放一些只有root用户才有权限执行的可执行文件,如init,ip,mount等命令 |
/boot |
主要存放开机时用到的引导文件,如linux内核文件和开机菜单与开机所有需要的配置文件 |
/lib |
library,存放着系统开机时所需的函数库以及/bin和/sbin目录下的命令会调用的函数库 |
/lib64 |
存放相对于/lib中支持64位格式的函数库 |
/etc |
配置文件、启动脚本等(etc)包含所有程序所需的配置文件以及系统的配置文件,如用户的账号密码文件,各个服务的起始文件等。也包含了用于启动/停止单个程序的启动和关闭shell脚本。一般来说,该目录下的文件属性是可以让用户查阅,但只有root管理员有权利修改 |
/root |
系统管理员root的主目录 |
/dev |
device,任何设备都以文件的形式存放再这个目录中。例如硬盘、键盘、鼠标、光驱等各种设备文件。只要通过访问该目录的某个文件就相当于访问了对应的设备 |
/home |
系统默认的用户的家目录,每当新建一个用户系统都会在这个目录下创建以该用户名为名称的目录作为该用户的家目录。 |
/media |
存放可移除的媒体设备、如光盘,DVD等 |
/mnt |
mount,临时挂载的设备文件,临时安装目录,系统管理员可以挂载文件系统。时系统管理员临时安装文件的系统安装点。 |
/opt |
optional,可选的软件包,即第三方文件软件。我们可以将除了系统自带软件之外的其他软件安装到这个目录。 |
/run |
最近一次开机后所产生的各项信息,如当前的用户和正在运行中的守护进程等。 |
/srv |
service,存放一些服务启动后所需的数据 |
/proc |
特殊的动态目录,用以 维护系统的信息和状态,包括当前运行中进程(processes)信息。包含系统进程的相关信息,是一个虚拟的文件系统,包含有关正在运行的进程的信息,系统资源以文本信息形式存在。 |
/sys |
system,与/proc类似也是虚拟文件系统,存放系统核心与硬件相关信息管理设备文件。不占用硬件容量。 |
/tmp |
temporary, 存放系统运行过程中使用的一些临时文件,可以被所有就用户访问,系统重启时会清空该目录。 |
/usr |
包含绝大部分所有用户(users)都能访问的应用程序和文件包含二进制文件,库文件。文档和二级程序的源代码。 |
/var |
经常变化的(variable)文件,诸如日志或数据库等代表变量文件。在这个目录下可以找到内容可能增长的文件 |
VI和VIM 编辑器
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从V1从发展出来的一个性能更强大的文本编辑器。可以主动的以文字颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。(比如vim会有颜色区分)
虚拟机中打开终端
准备个测试数据
1.拷贝/etc/profile 数据到/root 目录下
[root@rabbitMQ100]# cp /etc/profile /root (复制/etc/profile文件到/root下,注意空格)
[root@rabbitMQ100]# cd /root/ (跳转到root文件夹)
可以进入练习操作
一般模式Vi
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可
以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档
案内容, 也可以使用『复制、粘贴』来处理你的文件数据。(用的不多)
语法 |
功能描述 |
yy |
复制光标当前一行 |
y数字y |
复制一段(从第几行到第几行) |
y (shift + 4) |
复制当前光标到结尾的字符串 |
p |
箭头移动到目的行粘贴 |
u |
撤销上一步 |
dd |
删除光标当前行 |
d数字d |
删除光标(含)后多少行 |
x |
剪切一个字母,相当于del |
X |
剪切一个字母,相当于Backspace |
w |
切换到下一个词 |
e |
快速到下一个词尾 |
d |
跳转到上一个词 |
yw |
复制一个词 |
dw |
删除一个词 |
shift+6 |
移动到行头 |
shift+4 |
移动到行尾 |
gg |
移动到页头 |
G /L |
移动到页尾 |
数字+shift+g |
移动到目标行 |
编辑模式Vim
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要
等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下 『Esc』这个按键即可退出编辑模式。
退出编辑模式 按『Esc』键 退出编辑模式,之后所在的模式为一般模式。
按钮 |
功能 |
i |
当前光标前 |
a |
当前光标后 |
o |
当前光标行的下一行 |
I |
光标所在行最前 |
A |
光标所在行租后 |
O |
当前光标行的上一行 |
指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那 一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、
离开 vi 、显示行号等动作是在此模式中达成的!
命令 |
功能 |
:w |
保存 |
:q |
退出 |
:wq |
保存并退出 |
:q! |
不保存强制退出 |
/要查找的词 |
n查找下一个,N往上查找 |
:noh |
取消高亮显示 |
:set nu |
显示行号 |
:set nonu |
关闭显示行号 |
:s /old/new |
替换当前行匹配到第一个old为new |
:s /lod/new/g |
替换当前行匹配到所有old为new |
:%s/old/new |
替换文档中每一行匹配到的第一个old为new |
:%s/old/new/g |
替换文档中的所有的old为new 比较常用 |
模式间转换
网络配置(重点)
VMware提供的三种链接方式
桥接模式
虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可
以直接访问外部网络,并且对外部网络是可见的。
NAT模式
虚拟机和主机构建一个专用网络,并通过虚拟网格地址转换(NAT)设备对IP进行转
换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。
仅主机模式
虚拟机只与主机共享一个专用网络,与外部网络无法通信。
查看网络 IP 和 网关
查看虚拟网络编辑器
(下面应该都是配好了的,如果没有或没网的看下面的静态ip配置)
修改虚拟网卡 Ip
VMnet1是桥接模式
VMnet8是NAT模式,路由模式
VMnet0是主机模式(这里没哟)
查看网关
查看 windows 环境的中 VMnet8 网络配置
以上应该是当时我们选择NAT网络连接模式时就给我们自动配好的。
这是我们可以去测试一下是否联网。
ping www.baidu.com
ping通了说明有网,Ctrl+C 结束。
静态IP配置
虚拟机使用HDCP设置,也就是上面虚拟网络编辑器里面的,这个会将IP自动分配给虚拟机,导致IP不固定(随机),而我们之后会去远程连接这个虚拟机,通过IP地址,so我们要固定这个IP,所谓静态IP配置。
设置静态ip(NAT模式)
需要修改文件/etc/sysconfig/network-scripts/ifcfg-ens33里的参数
a进入修改模式,标红的是需要修改的地方
注意:IPADDR的值,192.168.1都是取自虚拟机中虚拟网络编辑器中子网地址的值(我这里借的图,没对应注意一下),最后的100是我自己取的,这个值可以取3~254之间的任意一个数值,建议大家也按照我这个取值为100,这样方便统一,后期和我在课堂中使用的都是一样的。
GATEWAY的值是取自虚拟网络编辑器中NAT设置里面的网关的值。
DNS1的值可填可不填,值与网管一直即可
编辑完后,按键盘 esc ,然后输入 :wq 回车即可。
执行 service network restart 重启网络
ifconfig可看到编辑好了的静态ip(如果出现ifconfig不能用,建议重新安装Linux)
如果出现这种问题,执行这两条命令
systemctl stop NetworkManager
systemctl disable NetworkManager
修改 IP 地址后可能会遇到的问题
(1)物理机能 ping 通虚拟机,但是虚拟机 ping 不通物理机,一般都是因为物理机的 防火墙问题,把防火墙关闭就行
(2)虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有 问题
(3)虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设 置是否正确
(4)如果以上全部设置完还是不行,需要关闭 NetworkManager 服务
systemctl stop NetworkManager 关闭
systemctl disable NetworkManager 禁用
(5)如果检查发现 systemctl status network 有问题 需要检查 ifcfg-ens33
修改主机名
案例实操
(1)查看当前服务器主机名称
hostname (功能描述:查看当前服务器的主机名称) 也就是我们之前创建时设置的主机名
[root@hadoop100 桌面]# hostname
(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname 文件
[root@hadoop100 桌面]# vi /etc/hostname
修改完成后重启生效。
5.3.2 修改 hosts 映射文件 (和以前设置localhost一样)
1)修改 linux 的主机映射文件(hosts 文件)
后续在 hadoop 阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置, 比较简单方便。 不用刻意记 ip 地址。
(1)打开/etc/hosts
[root@hadoop100 桌面]# vim /etc/hosts 添加如下内容 (这里是自己的ip) 192.168.48.100 hadoop100 192.168.48.101 hadoop101 192.168.48.102 hadoop102 192.168.48.103 hadoop103
(2)重启设备,重启后,查看主机名,已经修改成功
2)修改 windows 的主机映射文件(hosts 文件) 自己的电脑,不是虚拟机
(1)进入 C:\Windows\System32\drivers\etc 路径
(2)打开 hosts 文件并添加如下内容
192.168.48.100 hadoop100 192.168.48.101 hadoop101 192.168.48.102 hadoop102 192.168.48.103 hadoop103