大数据学习之路-Linux基础

1. Linux概述

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:UbuntuRedHatCentOS、Debain、Fedora、SuSE、OpenSUSE。
Linux发行版本

  • redhat:目前,全球最大的linux发行厂商,功能全面、稳定。
    • RedhatIBM 收购!
  • ubuntu:目前,是linux桌面操作系统做的最好的。
  • centos:免费版的redhat,centos 基于 redhat 发行版基础之上,再重新编译发布的版本。
    • 目前 centos 已经被 Redhat 公司收购,但是依然免费

2. 系统安装

虚拟机 (Virtual Machine) 指通过 软件模拟 的具有完整硬件系统功能的. 运行在一个完全隔离环境中的完整计算机系统。
本次使用的是VMware Workstation , 下载地址(https://www.vmware.com/cn/products/workstation-pro.html).
使用的Linux发行版本是Centos7 64位, 安装的是CentOS-7-x86_64-DVD-1804.iso镜像文件。可以从以下资源下载镜像文件:
网易镜像:http://mirrors.163.com/centos/7/isos/
搜狐镜像:http://mirrors.sohu.com/centos/7/isos/

远程登录:通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。所以,远程登录工具就是必不可缺的,目前,比较主流的有Xshell, SSH Secure Shell, SecureCRT,FinalShell等,大家可以根据自己的习惯自行选择.

3. Linux目录与结构

Linux系统中一切皆文件,如下图所示
在这里插入图片描述
/bin :是Binary的缩写, 这个目录存放着最经常使用的命令

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序

/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

/root:该目录为系统管理员,也称作超级权限者的用户主目录

/lib: 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件

/etc: 所有的系统管理所需要的配置文件和子目录。

/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

/proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息

/srv: service缩写,该目录存放一些服务启动之后需要提取的数据。

/sys: 这是linux2.6内核的一个很大

/tmp: 这个目录是用来存放一些临时文件的的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs

/dev: 类似于windows的设备管理器,把所有的硬件用文件的形式存储。

/media(CentOS6): linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。CentOS7迁移到 /run/media

/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。

/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的

/var: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

  • 注意:一般不要 操作 非自己创建的目录和文件,否则可能导致服务器崩溃。

4. VI/VIM编辑器

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。vi是 visual interface的简称, 是linux中最经典的文本编辑器.vi 的核心设计思想: 让程序员的手指始终保持在键盘的 核心区域, 就能完成所有的编辑操作

  • vi的特点

    • 只能是编辑 文本内容, 不能对 字体 段落进行排版
    • 不支持鼠标操作
    • 没有菜单
    • 只有命令
  • vi编辑器在 系统管理 服务器管理 编辑文件时, 其功能永远不是图形界面的编辑器能比拟的

VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

4.1 打开和新建文件

在终端中输入vim在后面跟上 文件名 即可

vim 文件名
  • 如果文件已经存在, 会直接打开该文件
  • 如果文件不存在, 保存且退出时 就会新建一个文件

例如:

cd /export/ && rm -rf *
vim Hello.java
public class Hello {
   

        public static void main(String[] args) {
   
                System.out.println("Hello World!");
                // 1 将光标移动到上一行, 按 yy
                // 2 按 ESC 键 退出编辑模式
                // 3 按 19p
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                System.out.println("Hello World!");
                // 1 按 ESC 退出编辑模式
                // 2: 进入莫行模式
                // 3 输入 wq(write quit)保存且退出 按回车键执行 
        }
}
  • 在日常工作中, 有可能会遇到打开一个文件, 并定位到指定行的情况
  • 例如: 在开发是, 知道某一行代码有错误, 可以 快速定位 到出错误代码的位置
  • 这个时候, 可以使用以下命令打开文件
vim 文件名 +行数

例如:

vim Hello.java +10
  • 如果 vi 异常退出, 在磁盘上可能会保存有 交换文件
  • 下次再使用 vi 编辑文件时, 会看到以下屏幕信息, 按下字母 d 删除交换文件即可

4.2 VI三种工作模式

  • VI有三种工作模式
  1. 命令模式
    • 打开文件首先进入命令模式, 是使用vi的入口
    • 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除 … …
    • 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现
  2. 末行模式 – 执行 保存 退出等操作
    • 要退出 vi 返回到控制台, 需要在莫行模式下输入命令
    • 末行模式 是 vi 的出口
  3. 编辑模式 – 正常的编辑文字

工作模式切换
在这里插入图片描述

末行模式命令
命令 英文 功能
w write 保存
q quit 退出,如果没有保存,不允许退出
q! quit 强行退出,不保存退出
wq write & quit 保存且退出(末行模式)
x 保存并退出(末行模式)
ZZ 保存并退出(命令模式)
一般模式

以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。
在这里插入图片描述

编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

1)进入编辑模式
在这里插入图片描述

指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

2)退出编辑模式
按『Esc』键 退出编辑模式,之后所在的模式为一般模式。
在这里插入图片描述

5 网络配置和系统管理操作

5.1 配置网络ip地址

ifconfig 配置网络接口
ifconfig :network interfaces configuring网络接口配置
1)基本语法

ifconfig		(功能描述:显示所有网络接口的配置信息)

ping 测试主机之间网络连通性
1)基本语法

ping 目的主机	(功能描述:测试当前服务器是否可以连接目的主机)

测试当前服务器是否可以连接百度

 ping www.baidu.com

修改IP地址
查看IP配置文件,使用VIM编辑器进行修改配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

5.2 配置主机名

修改主机名称
1) 基本语法

hostname		(功能描述:查看当前服务器的主机名称)

2) 案例实操
(1)查看当前服务器主机名称

 hostname

(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname文件

vi /etc/hostname

修改完后重启生效

修改hosts映射文件(选做,为后续学习铺垫)
1)修改linux的主机映射文件(hosts文件)
后续在hadoop阶段,虚拟机会比较多,配置时通常会采用主机名的方式配置,
比较简单方便。 不用刻意记ip地址。
(1)打开/etc/hosts

vim /etc/hosts

添加如下内容

192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105

(2)重启设备,重启后,查看主机名,已经修改成功
2)修改windows的主机映射文件(hosts文件)
(1)进入C:\Windows\System32\drivers\etc路径
(2)打开hosts文件并添加如下内容

192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105

3)修改window10的主机映射文件(hosts文件)
(1)进入C:\Windows\System32\drivers\etc路径
(2)拷贝hosts文件到桌面
(3)打开桌面hosts文件并添加如下内容

192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105

(4)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件

5.3 服务管理

1) 基本语法

systemctl  start | stop | restart | status	  服务名

(1)查看防火墙服务的状态

systemctl status firewalld

(2)停止防火墙服务

systemctl stop firewalld

(3)启动防火墙服务

systemctl start firewalld

(4)重启防火墙服务

systemctl restart firewalld

systemctl 设置后台服务的自启配置
1)基本语法

systemctl list-unit-files         (功能描述:查看服务开机启动状态)
systemctl disable service_name  (功能描述:关掉指定服务的自动启动)
systemctl enable service_name   (功能描述:开启指定服务的自动启动)

2)案例实操
(1)开启/关闭iptables(防火墙)服务的自动启动

systemctl enable firewalld.service 
systemctl disable firewalld.service 

5.4 关机重启命令

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
正确的关机流程为:sync > shutdown > reboot > halt
1)基本语法

(1)sync  	(功能描述:将数据由内存同步到硬盘中)
(2)halt 	(功能描述:关闭系统,但不断电。等同于shutdown -h now 和 poweroff)
(3)reboot 	(功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] 时间	

2)经验技巧
Linux系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写”操作方式。当用户保存文件时,Linux核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用sync指令可以立即将缓冲区的数据写入磁盘。

3)案例实操
(1)将数据由内存同步到硬盘中

sync  

(2)重启

reboot 

(3)关机

halt 

(4)计算机将在1分钟后关机,并且会显示在登录用户的当前屏幕中

shutdown -h 1 ‘This server will shutdown after 1 mins’

(5)立马关机(等同于 halt)

shutdown -h now

(6)系统立马重启(等同于 reboot)

shutdown -r now

6 常用基本命令

6.1 帮助命令

man 获得帮助信息
1)基本语法

man [命令或配置文件]		(功能描述:获得帮助信息)

例如:查看ls命令的帮助信息

man ls
  • 查询command命令的使用手册

    manmanual 的缩写, 是Linux提供的一个手册, 包含了绝大部分的命令、函数的详细使用说明.

使用 man 时的操作键:

空格键 显示手册的下一屏
操作键 功能
Enter键 一次滚动首页也得一行
b(back) 回滚一屏
f(forward) 前滚一屏
q (quit) 退出
/word 搜索word字符串
n(next) 搜索下一个
N 搜索上一个

help 获得shell内置命令的帮助信息

基本语法

help 命令	(功能描述:获得shell内置命令的帮助信息)

例如:查看cd命令的帮助信息

help cd

常用快捷键
在这里插入图片描述

6. 2 文件目录类

pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
1)基本语法

pwd		(功能描述:显示当前工作目录的绝对路径)

例如:显示当前工作目录的绝对路径

pwd

ls 列出目录的内容
ls:list 列出目录内容
1)基本语法

ls [选项] [目录或是文件]

2)选项说明

选项 英文 含义
-a all 显示指定目录下所有子目录与文件, 包含隐藏文件
-l 以列表方式显示文件的详细信息
-h human-readable 配合 -l 以人性化的方式显示文件大小

3)显示说明
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字

例如:查看当前目录的所有内容信息

ls -al

cd 切换目录
cd:Change Directory切换路径
cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一

注意: linux的所有 目录文件名 都是大小写敏感的
1)基本语法

cd  [参数]

2)参数说明

命令 含义
cd 目录 切换到指定目录下
cd … 切换到上级目录
cd - 可以在最近的两次目录之间切换
cd ~ 切换到家目录(root用户家目录是 /root, 其他用户的家目录是 /home/用户名)

3)案例
(1)使用绝对路径切换到root目录

cd /root/

(2)使用相对路径切换到“公共的”目录

cd 公共的/

(3)表示回到自己的家目录,亦即是 /root 这个目录

cd ~

(4)cd- 回到上一次所在目录

cd -

(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;

cd ..

mkdir 创建一个新的目录
mkdir:Make directory 建立目录
1)基本语法

mkdir [选项] 要创建的目录

2)选项说明

选项 英文 含义
-p parent 可以递归创建目录

3)案例
(1)创建一个目录

mkdir test

(2)创建一个多级目录

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值