从头学习大数据之Linux入门
大数据学习之Linux入门@ 潘小磊
一、 Linux目录结构
1.1 概览
1.2 树状目录结构
目录名 | 功能 |
---|---|
/bin | 是Binary的缩写,这个目录存放着系统必备执行命令 |
/boot | 这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件,自己的安装别放这里 |
/dev | Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。Linux中一切皆文件,所以外部设备也是文件。包括你键盘,鼠标都是 |
/etc | *****所有的系统管理所需要的配置文件和子目录。大数据很多框架启动文件需要在这里找到后修改 |
/bin | 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。也就是,创建一个用户,在/home下就会产生一个对应的目录 |
/lib | 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。Dll 动态链接库 dynamic link library 简单讲 a程序运行要用到b,链接进来b,A才可以运行 |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 |
/media | 是Binary的缩写,这个目录存放着系统必备执行命令linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 |
/misc | 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下 |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。举例,光盘插入之后,windows识别,有个盘符,打开就可以。Linux是需要挂载到某个挂载点 /找一个路径,/mnt一般是这里。用完之后需要卸载unmount |
/net | 存放着和网络相关的一些文件. |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。有一些公司习惯安装软件到这个文件夹,有的不是这里 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录。和普通用户的主目录不同,普通用户的主目录在home下对应的文件夹/root和/boot别混淆 |
/sbin | s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。大数据很多的框架都有bin和sbin和2个存放命令的目录 |
/selinux | 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙Secure安全 |
/srv | service缩写,该目录存放一些服务启动之后需要提取的数据。 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。 |
/tmp | 这个目录是用来存放一些临时文件的。大数据中有的时候配置中有的路径,配置成了临时路径,就这个下边。临时的意思是不持久(persistence),将来要改成别的目录,不能配到tmp下 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。有的公司安装软件不在opt,就在/usr 公司的习惯不一 |
/var | 这个目录中存放着在不断扩充着(动态)的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 |
二、 VI/VIM编辑器
2.1 概述
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。
Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。连vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
2.2 一般模式
以 vi/vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
常用语法:
命令 | 功能 |
---|---|
yy | 复制光标当前一行 |
数字yy | 复制光标(含)当前几行 |
yy数字 | 复制光标(含)当前一行几份 |
p | 箭头移动到目的行粘贴 p paste |
u | 撤销上一步 u annul |
dd | 删除光标当前行(相当于剪切) d delete |
数字dd | 删除光标(含)后多少行 |
x | 删除一个字母,相当于del x |
X | 删除一个字母,相当于Backspace |
yw | 复制一个词(从光标所在字母开始到单词字母结束) w word |
dw | 删除一个词(从光标所在字母开始到单词字母结束) |
数字+dw | 删除几个词(从光标所在字母开始到第几个单词字母结束) |
shift+^ | 移动到行头 |
shift+$ | 移动到行尾 |
1+shift+g | 光标移动到首行 |
gg | 光标移动到首行 |
shift+g | 移动到末行 |
G | 移动到末行 |
数字+shift+g | 移动到目标行 |
数字+gg | 移动到目标行 |
数字+G | 移动到目标行 |
ctrl + v | 块操作,常用在块区域删除操作 |
2.3 编辑模式
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
常用语法:
命令 | 功能 |
---|---|
i | 当前光标前 |
I | 当前光标行的行首 |
a | 当前光标后 |
A | 当前光标行的行末 |
o | 当前光标行的下一行 |
O | 当前光标行的上一行 |
2.4 指令(命令)模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
常用语法:
命令 | 功能 |
---|---|
: | 选项 |
:w | 保存 |
:q | 退出 |
:! | 感叹号强制执行 |
:wq! | 强制保存退出因为有的时候由于权限需要用到!比如root修改了zs的一个文件 |
/ | 查找,/被查找词,n是查找下一个,shift+n是往上查找 |
? | 查找,?被查找词,n是查找上一个,shift+n是往下查找 |
三、 系统管理操作
3.1查看网络IP和网关
0)网络模式介绍:
NAT模式:
网络地址转换;包含有两层路由。第一层是外面的路由器,也就是宿主机的网络。第二层才是虚拟机的路由。
该模式需要我们自己配置ip地址,相当与windows下的自己设计ip方式,
一般在集群坏境下使用,因为我们需要对集群的ip进行规划;
桥接模式、仅主机模式:
Hdcp,只有一层路由,就是宿主机的路由。选择了桥接模式,就相当于我们在windows系统的网络配置选择了自动获取ip,它会连接网络。这种方式在集群坏境下一般不用。
当只有一层路由时,ip地址最多只能有256个,在上课教学的坏境下,我们每个人都会搭建5-6台虚拟机,每台虚拟机都会占用一个ip,这时就有可能同一网段ip地址不够用的情况;
修改网络地址:
1、设置网卡为net模式;
2、确保windows下的服务是否启动(dhcp,net服务)
1)查看虚拟网络编辑器
2)修改ip地址
3)查看网关
注意nat的网关 配置成*.***.*.2比1冲突的可能性小,如果1不行,可以试试2.
3.2 配置网络ip地址
0)查看当前ip基本语法:
[[email protected] /]# ifconfig
1)在终端命令窗口中输入(如果不是克隆的虚拟机可以跳过这一步)
[[email protected] /]#vim /etc/udev/rules.d/70-persistent-net.rules
进入如下页面,删除eth0该行;将eth1修改为eth0,同时复制物理ip地址
2)修改IP地址
[[email protected] /]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
需要修改的内容有5项:
项目 | 说明 |
---|---|
IPADDR=192.168.1.3 | 设置静态的ip地址 |
GATEWAY=192.168.1.2 | 设置网关 |
ONBOOT=yes | 表示使用etho这个网卡 |
BOOTPROTO=static | 表示使用静态路由,dhcp是动态路由协议 |
DNS1=8.8.8.8或者114.114.114.114 | 设置NDS域名解析服务器 |
DEVICE=eth0 | 网卡名称 |
NETMASK=255.255.255.0 | 子网掩码配置 |
(1)修改前
(2)修改后,:wq 保存退出
2)执行restart重启网络
成功:
失败:
如果失败报错,reboot,重启虚拟机
4) 如果重启网络成功,则使用ifconfig命令,验证ip地址是否修改成功
3.3 配置主机名
0)查看主机名基本语法:
[[email protected] /]#hostname
1)修改linux的主机映射文件(hosts文件)
(1)进入Linux系统查看本机的主机名。通过hostname命令查看
[[email protected] ~]# hostname
localhost.localdomain
(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/sysconfig/network文件
[[email protected] /]# vim /etc/sysconfig/network
将HOSTNAME选项配置我们想要的主机名node01
注意:主机名称不要有“_”下划线
(3)保存退出
(4)打开/etc/hosts,对ip地址和主机名做映射
[[email protected] /]# vim /etc/hosts
添加内容:192.168.***.*** node01
(5)并重启设备,重启后,查看主机名,已经修改成功
(6)测试能否连接外网
[[email protected] /]# ping www.baidu.com
成功:
失败(则检查配置的网络的配置文件中单词等是否拼写错误):
测试虚拟机与宿主机之间双向通信
在宿主机:
在虚拟机:
必须关闭windows的防火墙
2)修改window的主机映射文件(hosts文件)
(1)进入C:\Windows\System32\drivers\etc路径
(2)打开hosts文件并添加如下内容
192.168.***.*** node01
3.4 防火墙
1)基本语法:
命令 | 说明 |
---|---|
service iptables status | 查看防火墙状态 |
chkconfig iptables --list | 查看防火墙开机启动状态 |
service iptables stop | 临时关闭防火墙 |
chkconfig iptables off | 关闭防火墙开机启动 |
chkconfig iptables on | 开启防火墙开机启动 |
2)扩展
Linux系统有7个运行级别(runlevel)
级别 | 说明 |
---|---|
运行级别0 | 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 |
运行级别1 | 单用户工作状态,root权限,用于系统维护,禁止远程登陆 |
运行级别2 | 多用户状态(没有NFS) |
运行级别3 | 完全的多用户状态(有NFS),登陆后进入控制台命令行模式 |
运行级别4 | 系统未使用,保留 |
运行级别5 | X11控制台,登陆后进入图形GUI模式 |
运行级别6 | 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动 |
3.5 关机重启
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机 。
正确的关机流程为:sync > shutdown > reboot > halt
1)基本语法:
(1)sync (功能描述:将数据由内存同步到硬盘中,场景:机器或计算重要)
(2)shutdown [选项] 时间
选项:
-h:关机
-r:重启
(3)halt (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(4)reboot (功能描述:就是重启,等同于 shutdown -r now)
2)案例
(1)将数据由内存同步到硬盘中
[[email protected] /]#sync
(2)计算机将在10分钟后关机,并且会显示在登录用户的当前屏幕中
[[email protected] /]#shutdown -h 10 ‘This server will shutdown after 10 mins’
(3)立马关机
[[email protected] /]# shutdown -h now
(4)系统立马重启
[[email protected] /]# shutdown -r now
(5)重启(等同于 shutdown -r now)
[[email protected] /]# reboot
(6)关机(等同于shutdown -h now 和 poweroff)
[[email protected] /]#halt
注意:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。