从头学习大数据之Linux入门

大数据学习之Linux入门@ 潘小磊

一、 Linux目录结构

1.1 概览

从头学习大数据之Linux入门

1.2 树状目录结构

从头学习大数据之Linux入门

目录名 功能
/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)网络模式介绍:

从头学习大数据之Linux入门
NAT模式:
网络地址转换;包含有两层路由。第一层是外面的路由器,也就是宿主机的网络。第二层才是虚拟机的路由。
该模式需要我们自己配置ip地址,相当与windows下的自己设计ip方式,
一般在集群坏境下使用,因为我们需要对集群的ip进行规划;
桥接模式、仅主机模式:
Hdcp,只有一层路由,就是宿主机的路由。选择了桥接模式,就相当于我们在windows系统的网络配置选择了自动获取ip,它会连接网络。这种方式在集群坏境下一般不用。
当只有一层路由时,ip地址最多只能有256个,在上课教学的坏境下,我们每个人都会搭建5-6台虚拟机,每台虚拟机都会占用一个ip,这时就有可能同一网段ip地址不够用的情况;

修改网络地址:
1、设置网卡为net模式;
2、确保windows下的服务是否启动(dhcp,net服务)
从头学习大数据之Linux入门

1)查看虚拟网络编辑器

从头学习大数据之Linux入门

2)修改ip地址

从头学习大数据之Linux入门

3)查看网关

从头学习大数据之Linux入门

注意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地址
从头学习大数据之Linux入门

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)修改前
从头学习大数据之Linux入门
(2)修改后,:wq 保存退出
从头学习大数据之Linux入门

2)执行restart重启网络

成功:
从头学习大数据之Linux入门
失败:
从头学习大数据之Linux入门
如果失败报错,reboot,重启虚拟机

4) 如果重启网络成功,则使用ifconfig命令,验证ip地址是否修改成功

从头学习大数据之Linux入门

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

从头学习大数据之Linux入门
将HOSTNAME选项配置我们想要的主机名node01
从头学习大数据之Linux入门
注意:主机名称不要有“_”下划线
(3)保存退出
(4)打开/etc/hosts,对ip地址和主机名做映射

[[email protected] /]# vim /etc/hosts

添加内容:192.168.***.*** node01
(5)并重启设备,重启后,查看主机名,已经修改成功
从头学习大数据之Linux入门
(6)测试能否连接外网

[[email protected] /]# ping www.baidu.com

成功:
从头学习大数据之Linux入门
失败(则检查配置的网络的配置文件中单词等是否拼写错误):
从头学习大数据之Linux入门
测试虚拟机与宿主机之间双向通信
在宿主机:

从头学习大数据之Linux入门
在虚拟机:
必须关闭windows的防火墙

从头学习大数据之Linux入门

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命令,把内存中的数据写到磁盘中。