大数据基础第一天内容

第一章 Linux操作系统

1. 计算机入门知识介绍

1.1. 计算机原理

现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是冯将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算。

计算机应包括运算器、储存器、控制器、输入和输出设备五大基本部件。

计算机内部应采用二进制来表示指令和数据,将编好的程序送入内储存器中,然后启动计算机工作,计算机勿需操作人员干预,能自动逐条取出指令和执行指令。

 

1.2. 软件和硬件概述

计算机是由软件和硬件组成

1.3. 硬件

计算机硬件主要由CPU、存储设置、输入输出设备组成。

 

 

1.4. 软件

计算机的软件包括操作系统,系统软件和应用软件。

 

 

1.5. 操作系统概述

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

OS作为计算机系统资源的管理者,主要由以下作用:

l  管理处理器,用于分配和控制处理器

l  管理存储器,主要负责内存的分配与回收

l  管理I/O设备,负责I/O设备的分配与操纵

l  管理文件,负责文件的存取、共享和保护

 

常见操作系统:

操作系统

应用情况

Windows操作系统 1983

应用比较广泛

Linux操作系统 1991

免费使用,类UNIX,一般安装在服务器上面

Unix操作系统 1970

无界面,使用命令操作,一般安装在服务器上面

Mac操作系统  1993

苹果公司开发的,一般PC不能使用

Android操作系统

主要用于智能终端设备

 

2. Linux系统概述和安装

2.1. Linux系统概述

  • Linux创始人: 林纳斯 托瓦兹

 

l  Linux 诞生于1991年,作者上大学期间

l  Linux诞生原因:

因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

l  Linux的特点

开源,免费拥有最为庞大的源码贡献者

l  Linux的吉祥物

 

  • Linux系统结构

 

2.2. Linux发行版介绍

对于Linux操作系统来说,其本身是一个整体,包括Linux内核、系统库和系统程序,Linux内核是其最基础的部分,它实现了对硬件资源的控制和管理,并且提供了使用这些硬件资源的通用接口。

自1991年发布Linux内核来,很多公司加入其中,在内核的基础上构建了自己的操作系统版本,这个被称为Linux的发行版。

 

l  Redhat:目前,全球最大的Linux发行厂商,功能全面、稳定。

l  Redhat 被 IBM 收购!

l  Ubuntu:目前,是Linux桌面操作系统做的最好的。

l  Centos:免费版的redhat,Centos 基于 redhat 发行版基础之上,再重新编译发布的版本。

l  目前 Centos 已经被 Redhat 公司收购,但是依然免费

l  deepin:目前,国内做的最好的一款Linux发行版

2.3. 虚拟机介绍

虚拟机 (Virtual Machine) 指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。

虚拟系统通过生成现有操作系统的全新虚拟镜像, 具有真实操作系统完全一样的功能.进入虚拟系统后, 所有操作都是在这个独立全新的独立的虚拟系统里面进行, 可以独立安装运行软件, 保存数据, 不会对真正的系统产生任何影响。

 

常用的虚拟机软件:

VMware

这款虚拟机软件兼容性很强,快照功能很快捷,方便,允许你在任意开机时刻创建系统快照和恢复,十分实用

VirtualBox

 

Sun公司的产品,属于轻量级的虚拟机平台,而且是开源的,完整安装包很小,功能相对也很精简,快照功能这里叫备份和快速修复,在不同的快照间跳转用起来感觉不是很方便,也不能实现文件拖拽的功能

 

2.4. VMware安装

查看01_安装VMware虚拟机.doc文档

2.5. Linux系统(CentOS)系统安装

查看02_安装Centos.doc文档

   请注意,在基础班,为了让大家尽快进入知识点的学习中,不建议大家去安装Linux系统,直接使用课程提供的Linux系统即可,该Linux系统中已经搭建好了基础班需要的所有开发环境。

2.6. 使用VMware打开Linux系统

1)下载课程提供的Linux系统压缩包

         

2)解压以上压缩包,得到以下文件夹,

 

3) 将Linux系统加载到VMware中(打开方式)

  方式1:双击解压文件夹中的node1.vmx文件

  

  方式2:打开VMware,点击菜单:文件->打开->找到Linux系统解压文件夹下的node1.vmx文件

 

 

 4)Linux系统被加载到VMware中之后,点击开启虚拟机即可

 

4) 使用root用户登录,密码是:123456

 

 

 

 

 

2.7. 虚拟化技术问题

 如果在使用VMware打开Linux系统时弹出以下窗口,则说明电脑没有开启虚拟化技术,需要进入电脑Windows系统的BIOS来开启虚拟化技术。

 

开启电脑虚拟化技术方式:

1) 重启Windows电脑,进入BIOS启动界面,设置虚拟化启用,不同品牌的电脑进入BIOS的方式可能会不同,一般都是在重启电脑后,按住f2或者f12或者Esc键可以进入BIOS。

2) 进入BIOS之后,找到Configuration选项(不同品牌电脑的BIOS界面可能会有不同),选择Intel Virtual Technology并回车,将光标移至Enabled,然后再回车,最后按F10或者Fn+F10键保存并退出。

 

 

 

3. 虚拟机和Linux系统配置

3.1. Linux系统网络配置

1)配置VMware虚拟网络

 

 

 

 

 

 

 

 

 

 

 

2)进行windows相关的网络配置

 

 

 

 

 

 

 

 

 

 

 

3.2. Linux连接工具FinalShell使用

FinalShell软件:

l  FinalShell是一款美观易用、功能强大的国产网络服务管理软件,十分实用和方便,简单大方的界面设计让用户一目了然。

l  主要是通过命令行操作服务器

3.2.1. 安装

直接双击finalshell_install.exe文件进行安装,安装过程中提醒需要安装WinPacp,直接点击确定即可

 

3.2.2. 配置

1、配置连接Linux系统:

 

 参数配置:

 

 

 

2、样式设置:

 

 

 

4. Linux操作命令

4.1. Linux目录结构介绍

Linux的目录结构是一个树型结构

Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘

Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

 

常用的目录介绍:

目录

作用

/bin

二进制命令所在的目录

/boot

系统引导程序所需要的文件目录

/dev

设备软件目录,磁盘,光驱,

/etc

 系统配置,启动程序

/home

普通用户的家,目录默认数据存放目录

/lib

共享库文件和内核模块存放目录

/mnt

临时挂载储存设备的挂载点

/opt

额外的应用软件包

/proc

操作系统运行时,进程信息和内核信息存放在这里

/root

Linux超级权限用户root的家目录

/sbin

和管理系统相关的命令,【超级管理员用】

/tmp

临时文件目录,这个目录被当作回收站使用

/usr

用户或系统软件应用程序目录

/var

存放系统日志的目录

4.2. 学习Linux终端命令的原因

l  Linux刚面世时并没有图形界面, 所有的操作全靠命令完成, 如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等

l  在职场中,大量的服务器维护工作都是在远程通过SSH客户端 来完成的, 并没有图形界面, 所有的维护工作都需要通过命令来完成

l  在职场中,作为后端程序员,必须要或多或少的掌握一些Linux常用的终端命令

l  Linux发行版本的命令大概有200多个, 但是常用的命令只有10多个而已

 

学习终端命令的技巧

l  不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了

l  不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以

 

4.3. 终端命令格式

command [-options] [parameter]

 

说明:

- command : 命令名, 相应功能的英文单词或单词的缩写

- [-options] : 选项, 可用来对命令进行控制, 也可以省略

- parameter  : 传给命令的参数, 可以是 零个、一个 或者 多个

4.4. 显示文件列表命令

ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一

ls常用选项

如果只使用ls命令就只能看到当前目录下非隐藏文件

如果想增强功能,就需要学习更多的选项

选项

含义

-a

显示指定目录下所有子目录与文件, 包含隐藏文件

-l

以列表方式显示文件的详细信息

-h

配合 -l 以人性化的方式显示文件大小

 

 

 

 

 

 

 

 





 

 

 

 

常见使用命令:

ls #查看当前目录内容 (缺点: 隐藏文件看不到)

ls -a #查看当前目录内容 ,包括隐藏文件 

ls -al #查看目录内容的详细信息(查看文件类型、权限、大小等) 

ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小 

ls /root #查看/root目录下内容

ll

4.5. 目录查看、目录创建和目录删除命令(pwd、mkdir、rm/rmdir)

l  pwd命令

查看当前所在目录

[root@node1 ~]# pwd

/root

l  mkdir命令

该命令用于创建目录

注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名

1)创建没有层级关系的目录

mkdir 目录名

mkdir test

2)创建有层级的目录

mkdir -p 目录1/目录2/目录3

mkdir -p /root/aaa/bbb

 

 

 rm命令

该命令用于删除文件或者目录

参数解释:

参数

英文

含义

-f

force (强制)

强制删除,忽略不存在的文件或目录, 无需提示

-r

recursive (递归)

递归地删除目录下的内容, 删除目录时必须加此参数

使用方法:

rm -r  目录  #删除目录有提醒

[root@node1 ~]# rm -r test

rm:是否删除目录 "test"?

rm -fr  目录  #直接删除目录(不管有没有内容)

[root@node1 ~]# rm -fr test

[root@node1 ~]#

4.6. 目录切换命令

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

注意: linux的所有 目录 和 文件名 都是大小写敏感的

命令

含义

cd

切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名)

cd 目录

切换到指定目录下

cd ..

切换到上级目录

cd -

可以在最近的两次目录之间切换

实例:

cd #回到用户主目录

cd test #切换到当前目录下的test目录(相对路径) 

cd /root/test #切换到指定目录(绝对路径)

cd .. #回到上一级目录 

cd ../.. #回到上上一级目录

cd ../dir #回到上一级的dir目录 

 

4.7. 文件操作命令

4.7.1. touch命令

touch命令创建文件

touch 文件路径

touch a.txt #在当前目录创建a.txt文件 

touch /root/a.txt #在/root目录创建a.txt文件

4.7.2. mv命令

通过 mv 命令可以用来移动文件或目录, 也可以给文件或目录重命名

将文件移动另一个目录中

 mv 文件 目录/

touch a.txt  创建文件

mkdir dir

mv a.txt dir

ls dir

 

重命名

mv 旧文件名 新文件名

mv a.txt b.txt #重命名文件 

mv dir1 dir2  #重命名目录

 

将目录移动 到 另一个目录中

mv 被移动目录 目标目录

mv dir1 /

 

l  rm-文件删除命令rm

rm -f  文件名

rm -f a.txt #强制删除一个文件

4.7.3. cat命令

cat 文件路径

cat /root/initial-setup-ks.cfg

 

4.7.4. cp命令

cp a.txt dir1  #将a.txt复制到dir1目录

cp a.txt b.txt #将a.txt复制到b.txt

 非常重要:查看历史命令

history

命令补全

ll “部分字符串”

cat  “部分字符串”   都是通过tab键命令补全

4.8. 压缩和解压命令tar

参数解释:

参数

解释

-c

创建一个新tar文件

-v

显示运行过程的信息

-f

指定文件名

-z

调用gzip压缩命令进行压缩

-t

查看压缩文件的内容

-x

解开tar文件

 

4.8.1. 解压

tar -zxvf 压缩文件 [-C] [指定解压目录]

示例:

tar -zxvf redis-3.2.8.tar.gz  #将文件解压到当前目录

tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录

4.8.2. 压缩

tar -c[z]vf 压缩文件 目录

tar -cvf  test.tar /root/test     #打包

tar -czvf test.tar.gz /root/test  #打包并压缩

4.9. 文件查找命令

4.9.1. find指令

用于查找符合条件的文件

示例:

find / -name 'ins*' #查找/目录下以文件名ins开头的文件 

find / -type f -size +100M #查找/目录下文件大小大于100M的文件

4.9.2. grep命令

grep命令可以对文件进行文本查询

grep lang anaconda-ks.cfg #在文件中查找lang

grep a anaconda-ks.cfg --color #在文件中查找a,高亮显示

 

4.9.3. which命令

which 查看可执行文件的位置。

which pwd  #查找pwd命令的路径

4.10. 系统管理命令

4.10.1. ps命令

ps命令用来列出系统中当前运行的那些进程

ps -ef #查看所有进程

4.10.2. kill命令

kill命令用于终止执行中的程序

kill -9 12345 #杀死pid为12345的进程

4.10.3. 管道命令

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

 

 

 

ps -ef | grep java #查询名称中包含java的进程

4.11. 用户的创建和删除命令

4.11.1. 用户创建和密码设置

useradd 用户名

passwd  用户名

useradd itheima #创建新用户itheima

passwd  itheima #设置用户itheima密码

4.11.2. 用户删除

Userdel -r 用户名

userdel -r itheima #删除用户itheima

4.12. 权限管理命令

4.12.1. 文件权限概述

Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在Linux系统中,用户组也有一个ID,GID。

在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。

4.12.2. 文件权限解读

 

文件目录列查看权限

 

权限说明

 

 

 

属主(user)u

属组(group)g

其他用户(other)o

r

w

x

r

w

x

r

w

x

4

2

1

4

2

1

4

2

1

 

r: 对文件是指可读取内容 对目录是可以ls  如果是文件夹ll可以看见

w: 对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件) 如果是文件夹mkdir rm 

x: 对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录  如果是文件夹cd

4.12.3. chmod命令

chmod命令用来变更文件或目录的权限。

chmod 666 a.txt

chmod u+x a.txt

chmod u=rwx,g=rw,o=x a.txt

4.13. 网络和服务管理命令

4.13.1. hostname命令

hostname 查看主机名

[root@node1 ~]# hostname

node1

4.13.2. ifconfig命令

查看主机ip地址

 

4.13.3. service

service命令是用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

service network status #查看网络服务状态 

service network stop #停止网络服务

service network start #启动网络服务

service network restart #重启网络服务

4.14. 其他命令

4.14.1. Ln 命令

Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

ln命令可以用来创建软连接,类似于创建快捷方式

命令格式:

 ln [参数][源文件或目录][目标文件或目录]

 

实例:

ln -s 2.txt 1.txt

 

 

 

 

4.14.2. clear命令

清屏命令,还可以使用快捷方式:ctrl + l

5. vi编辑器

5.1. vi编辑器介绍

vi是visual interface的简称, 是Linux中最经典的文本编辑器

vi的核心设计思想:让程序员的手指始终保持在键盘的 核心区域, 就能完成所有编辑操作

vi的特点:

1.只能是编辑文本内容, 不能对字体段落进行排版

2.不支持鼠标操作

3.没有菜单

4.只有命令

5.2. vi编辑器使用

vi a.txt #直接打开文件

vi a.txt +10 #直接打开文件,并定位到第10行

 

Vi编辑器三种模式:

1. 命令模式

   - 打开文件首先进入命令模式, 是使用vi的入口

   - 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除

   - 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现

2. 末行模式 -- 执行 保存 退出等操作

   - 要退出 vi 返回到控制台, 需要在莫行模式下输入命令

   - 末行模式 是 vi 的出口

3. 编辑模式 -- 正常的编辑文字

 

 

5.3. 命令行模式常用命令

命令

功能

o

在当前行后面插入一空行

O

在当前行前面插入一空行

dd

删除光标所在行

ndd

从光标位置向下连续删除 n 行

yy

复制光标所在行

nyy

从光标位置向下连续复制n行

p

粘贴

u

撤销上一次命令

gg

回到文件顶部

G

回到文件末尾

/str(字符串)

查找str字符串

 

5.4. 底行模式常用命令

命令

功能

:w 文件名

另存为

:w

保存(ctrl + s)

:q

退出, 如果没有保存,不允许退出

:q!

强行退出, 不保存退出

:wq

保存并退出

ZZ

保存并退出

:x

保存并退出

:set nu

设置行号

:%s/旧文本/新文本/g

 文本替换

posted @ 2020-09-17 10:07  十一vs十一  阅读(193)  评论(0编辑  收藏  举报