大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议收藏)
Posted ChinaManor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议收藏)相关的知识,希望对你有一定的参考价值。
文章目录
- 操作系统概述
- 3 常用命令
- Linux终端命令格式
- VI编辑器_终端编辑器(重点重点重点)
- 目标
- 1 简介
- 2 打开和新建文件
- 3 常用命令
- 搜索命令
- 2.find 搜索
- 解压缩命令
- 目标
- 路径
- 3.实现
- 4 用户权限相关命令
- 系统信息相关命令
- 目标
- 1.时间和日期
- 02.磁盘信息
- 03.进程信息
- 管道相关命令
- 1 cut
- 2 sort
- 3 wc命令
- 4 uniq
- 5 tee
- 6 tr
- 7 split
- 8 awk
- 9 sed
- 1 挂载新的硬盘
- 2 rpm 软件包管理器
- 3 yum
- 3.1 目标
- 3.2 路径
- 3.3 实现
- 3.3.1 yum的原理
- 3.3.2 常用命令(重点)
- 3.3.3 制作本地yum源
- 3.3.4 制作局域网yum源
- 原理
- 3.3.5.1 安装httpd软件
- 安装httpd:
- 启动 httpd 服务
- 测试
- 问题: 发现无法访问?
- 原因: 因为 linux 的防火墙 禁止他人 访问自己的80端口
- 解决: 通知 防火墙放行
- 关闭防火墙
- 原因: 为了方便 内网中集群间机器的相互操作, 通常会关闭防火墙
- 关闭防火墙
- 3.3.4.3 制作局域网 yum源
- 使用浏览器访问`http://192.168.100:201:80`
- 第一步: 将常用软件包 复制到指定目录下
- 第二步: 浏览器访问`http://192.168.100.201/CentOS-6.9/`
- 第三步: 更新其他节点的 本地yum源(在其他节点上测试)
- 1) 备份默认yum源
- 2) 制作本地yum源
- 第四步: 测试是否成功(在其他节点上测试)
- 3.4 小结
- 4 安装jdk
- 5 安装tomcat
- 6 安装mysql
- 7 集群(三台)
前言
大家好,我是ChinaManor,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
近6万字,没有更全的Linux笔记了!!
Linux是大数据中的基础,无论是运维或开发,都免不了要学,而且学的越扎实越好,下面为大家带来Linux学习笔记
操作系统概述
目标:了解 操作系统 的作用
1.1 操作系统(Operation System, OS)
操作系统作为接口的示意图:
没有安装操作系统的计算机, 通常被称为 裸机
- 如果想在 裸机 上运行自己所编写的程序, 就必须用机器语言书写程序
- 如果计算机上安装了操作系统, 就可以在操作系统上安装支持的高级语言环境,用于高级语言开发
1.2 操作系统的种类
- 桌面操作系统
- 服务器操作系统
- 嵌入式操作系统
- 移动设备操作系统
1.2.1 桌面操作系统
- Window 系列
- 用户群体大
- macOS
- 细节处理的更好, 没有windows软件丰富, 价格高
- Linux
- 应用软件少
1.2.2 服务器操作系统
- Linux
- 安全、稳定、免费
- 占有率高
- Windows Server
- 付费
- 占有率低
1.2.3 嵌入式操作系统
- Linux
1.2.4 移动设备操作系统
1.2 发展史
- linux 创始人: 林纳斯 托瓦兹
- linux 诞生于: 1991年 作者上大学期间
- 诞生原因:
-
因为创始人 经常需要浏览新闻和处理邮件, 为了方便 读写 和 下载, 所以开发了 文件系统, 当时 21岁.
-
linux是开源免费
-
后来经过全世界网友的支持, 现在能够兼容多种硬件
唐纳德·特朗普
弗拉基米尔·弗拉基米罗维奇·普京
巴勃罗·迭戈·荷瑟·山迪亚哥·弗朗西斯科·德·保拉·居安·尼波莫切诺·克瑞斯皮尼亚诺·德·罗斯·瑞米迪欧斯·西波瑞亚诺·德·拉·山迪西玛·特立尼达·玛利亚·帕里西奥·克里托·瑞兹·布拉斯科·毕加索
-
1.3 内核
- 内核(kernel) 是系统的心脏, 是运行程序和管理磁盘和打印机等硬件设备的核心程序.
- Linux内核版本
- 稳定版
- 具有工业级强度, 可以广泛的应用和部署.
- 开发版
- 由于要试验各种解决方案, 所以变化很快
- 稳定版
- 内核源码网址: http:www.kernet.ort
- 所有来自全世界的对linux源码的修改最终都会汇总到这个网站, 由 Linus 领导的开源社区对其进行甄别和修改, 最终决定是否进入到 LInux主线内核源码中
1.4 发行版
- redhat:目前,全球最大的linux发行厂商,功能全面、稳定。
- Redhat 被 IBM 收购!
- ubuntu:目前,是linux桌面操作系统做的最好的。
- centos:免费版的redhat,centos 基于 redhat 发行版基础之上,再重新编译发布的版本。
- 目前 centos 已经被 Redhat 公司收购,但是依然免费
2 系统安装
目标
- 1: 使用 VM 虚拟机 模拟 电脑硬件
- 2: 在虚拟的 电脑上 安装
centOS
操作系统(linux
发行版) - 3: 为了让别人能够访问操作, 配置 网络环境
- 4: 使用远程客户端 CRT 和 WinSCP 操作 linux操作系统
- 5: 防止操作系统 意外损坏, 及时备份(快照)
2.1 VM虚拟机
2.1.1 概述
- 虚拟机 (Virtual Machine) 指通过 软件模拟 的具有完整硬件系统功能的. 运行在一个完全隔离环境中的完整计算机系统
- 虚拟系统通过生成现有操作系统的全新虚拟镜像, 具有真实操作系统完全一样的功能.
- 进入虚拟系统后, 所有操作都是在这个独立全新的独立的虚拟系统里面进行, 可以独立安装运行软件, 保存数据, 不会对真正的系统产生任何影响
- 而且现有在系统与虚拟镜像之间灵活切换的一类操作系统
2.1.2 安装虚拟机
详情请参考 资料(环境) 中《01_开启电脑虚拟化》,《02_安装虚拟机软件》word文档!
2.1.3 配置网卡
目标
- 了解桥接 和 NAT 的 联网原理
- 配置虚拟机的网卡信息
a. 网络原理
桥接原理
因为 虚拟机的linux系统的ip地址是固定的, 更换路由器后导致无法使用, 所以 不推荐使用
NAT原理
如果宿主电脑可以上网, 内部的虚拟机也可以上网就好了
NAT原理本质上就是 虚拟机实现了交换机的功能, linux系统的IP地址就不会随宿主电脑的ip地址更改而更改
推荐使用这种方式
b. 确保 VMnet8
已经启动
c. 设置VMnet8的ip地址
网关: 192.168.100.1
d. 确保所有关于VMWare的服务都开启
e 配置虚拟机的网卡
- 核查 配置子网ip和子网掩码
- 再次确认
2.2 centos是linux的发行版
2.2.1 目标
- 在虚拟机上 安装
centos
系统 模拟 机房的一台服务器
2.2.2 路径
- 第一步: 理解安装步骤
- 第二步: 使用VM虚拟机 准备 硬件环境
- 第三步: 在硬件环境 安装CentOs镜像
- 第四步: 理解centos的文件和目录
2.2.4 实现
2.2.4.1 理解安装步骤
2.2.4.2 使用VM虚拟机 准备 硬件环境
- 请参考资料中《03_创建虚拟主机》 word 文档
2.2.4.3 在硬件环境 安装CentOs镜像
- 请参考资料中 《04_CentOS系统安装步骤》word 文档
2.2.4.4 配置网卡信息
目标
- 能够让 宿主机 和 新装的centOS 相互通信
第一步: 了解 网卡 和ip地址的概念
-
网卡是一个专门负责网络通讯的硬件设备
-
ip地址是设置在网卡上的地址信息
-
我们可以把 电脑 比作 手机, 网卡 相当于 手机卡槽, ip地址 相当于 手机号
-
IP地址
-
每台联网的电脑上都有IP地址, 是保证电脑之间正常通讯的重要设置
注意: 每台电脑的IP地址不能相同, 否则 会出现IP地址冲突, 并且没有办法正常通讯
-
第二步: 查看网卡信息
- ifconfig 和 ping
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ifconfig | configuration a newwork interface | 查看/配置计算机当前的网卡信息 |
02 | ping ip地址 | ping | 检测到目标ip地址 的连接是否正常 |
03 | service network restart | 重启网卡服务 |
第三步: 通过 setup
命令设置网卡新
# 开始设置网卡信息
setup
重启网卡服务
测试能否上网, 注意: 前提是 宿主机必须能够上网
2.2.4.5 理解centos的文件和目录
- windows 系统 可以拥有多个盘符, 如
C盘
、D盘
、E盘
- Linux 没有盘符 这个概念, 有类似得分区(一个硬盘分多个分区)
- Linux 所有文件都在‘根’(‘/’)目录下
- Linux主要目录 速查表
-
/bin: 二进制命令所在的目录
-
/boot : 系统引导程序所需要的文件目录,引导系统开机
-
/dev :设备软件目录,磁盘,光驱,
-
/etc: 系统配置,启动程序
-
/home:普通用户的家,目录默认数据存放目录
-
/lib: 启动系统和运行命令所需的共享库文件和内核模块存放
-
/mnt:临时挂载储存设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用
-
/opt:额外的应用软件包
-
/proc:操作系统运行时,进程信息和内核信息存放在这里
-
/root:Linux超级权限用户root的家目录
-
/sbin:和管理系统相关的命令,【超级管理员用】
-
/tmp:临时文件目录,这个目录被当作回收站使用
-
/usr:用户或系统软件应用程序目录
-
/var:存放系统日志的目录
-
注意:一般不要 操作 非自己创建的目录和文件,否则可能导致服务器崩溃。
2.4 远程连接工具
2.4.1 secureCRT软件
- secureCRT是
Windows上
登录 服务器主机的软件 - 主要是 通过命令行操作服务器
a.安装
- 双击 下一步 就可以了
b.配置连接 linux系统
c. 修改主题和字体大小
d. 常用快捷键
tab键:命令或者路径提示及补全;
ctrl+c:放弃当前输入,终止当前任务或程序;
ctrl+l:清屏;
ctrl+shift+c:复制;
ctrl+shift+v:粘贴;
alt+b :打开connect窗口;
alt+1/2/3/4/5… :切换会话窗口
2.4.2 winSCP
- 它的主要功能就是在本地与远程计算机间 进行 文件 上传和下载
- 使用 鼠标拖拽 即可完成
2.5 快照(备份)
2.5.1 目标
- 快照就是 备份系统, 防止意外损坏, 降低损失
2.5.2 备份系统
a. 右键目标centos系统 -> 快照 -> 快照管理器
b. 拍摄快照
2.5.3 恢复到快照状态
a. 右键目标centos系统 -> 快照 -> 恢复到指定快照即可
3 常用命令
目标
- 理解学习linux终端命令的原因
- 学习技巧
01.学习Linux终端命令的原因
-
Linux刚面世时并没有图形界面, 所有的操作全靠命令完成, 如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等
-
在职场中,大量的 服务器维护工作 都是在 远程 通过SSH客户端 来完成的, 并没有图形界面, 所有的维护工作都需要通过命令来完成!
-
在职场中, 作为后端程序员, 必须要或多或少的掌握一些Linux常用的终端命令
-
Linux发行版本的命令大概有200多个, 但是常用的命令只有10多个而已
学习终端命令的技巧:
- 不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了。
- 不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以
windows系统命令体验
参见《资料(环境)》 内的05_windows命令。
Linux终端命令格式
目标
-
了解终端命令格式
-
掌握常用命令
-
了解知道如何查阅终端命令帮助信息
01.终端命令格式
command [-options] [parameter]
说明:
command
: 命令名, 相应功能的英文单词或单词的缩写[-options]
: 选项, 可用来对命令进行控制, 也可以省略parameter
: 传给命令的参数, 可以是 零个、一个 或者 多个
1.1 常用Linux命令的基本使用
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前目录下的内容 |
02 | pwd | print working derectory | 查看当前所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 如果文件不存在, 新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
02.目录(文件夹)常用命令
目标:文件夹的增、删、改、查的命令操作
2.1创建文件夹的命令
格式:mkdir 目录名
mkdir -p 目录名1/目录名2/目录名3(嵌套)
注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
示例: mkdir /opt/dir1
mkdir -p /opt/dir1/dir2/dir3/dir4
2.2删除文件夹的命令(谨慎使用,谨慎使用,谨慎使用)
格式:rm 文件夹 (有提示)
rm -f 文件夹 (取消提示)
rm -rf 文件夹 (递归删除)
rm -rf 结合通配符 * ? [abc][a-z]
rm -rf dir3*
示例:rm -rf /opt/dir1/dir2/dir3/dir4
参数 | 英文 | 含义 |
---|---|---|
-r | recursive (递归) | 递归地删除目录下的内容, 删除文件夹 时必须加此参数 |
-f | force (强制) | 强制删除,忽略不存在的文件, 无需提示 |
2.3修改文件夹的命令
格式:mv 旧文件夹名 新文件夹名
改变位置:mv 就路径 新路径(已经存在)
示例: mv /opt/dir1 /opt/dir111
mv /opt/dir111 /opt/dir1/dir2/dir3
2.4查询文件夹的命令
格式:ls 文件夹名 (包含权限、日期等信息)
ll 文件夹名 (不包含权限、日期等信息)
列出某一目录内的内容(内容包括子文件夹和文件)
ls 或 ll 列举出当前文件夹内的文件夹和文件
示例: ls /opt
ll /opt
2.5 其他命令
目录切换命令
格式:cd 目标路径
cd …/ (进入上级目录)
示例 : cd /opt
cd …/…/
软连接(快捷键)
格式:ln -s 目标文件绝对路径 快捷方式路径
示例:ln -s /opt/dir1/dir2/dir3 /dir3
当前位置
格式:pwd
复制文件夹
格式:cp -a 原文件夹 目标文件夹
练习:
1、在/tmp目录下创建一个自己姓名的文件夹
2、进入该文件夹,一次性创建文件夹/tmpdir1/tmpdir2/tmpdir3/tmpdir4/tmpdir5
3、将文件夹tmpdir4及其子文件夹移动到与tmpdir1相同的目录
4、创建tmpdir3的软连接到与tmpdir1相同的目录
5、将tmpdir5 名称改为tmpdir555
6、在目录tmpdir1下创建文件夹tmp1、tmp2、tmp3、tmp4
7、查看tmpdir1目录下有哪些文件夹(包含详细信息)
8、删除文件夹tmp1、tmp2、tmp3、tmp4
9、一次性删除文件夹/tmp/姓名
03.文件常用命令
目标:文件的增、删、改、查的命令操作
3.1创建文件的命令
创建空文件 - 格式:touch 文件名(文件存在、不存均可)
创建有数据的文件 - 格式:echo ‘abc’ > 文件名(文件名不能存在)
示例: touch test1.txt test2.txt test3.txt
echo ‘abc’ > test4.txt
3.2删除文件的命令(谨慎使用,谨慎使用,谨慎使用)
格式:rm 文件夹 (有提示)
rm -f 文件 (取消提示)
rm -rf 文件 (递归删除)
rm -rf 结合通配符 * ? [abc][a-z]
rm -rf *.txt
示例:rm -rf test1.txt test2.txt
参数 | 英文 | 含义 |
---|---|---|
-r | recursive (递归) | 递归地删除目录下的内容, 删除文件夹 时必须加此参数 |
-f | force (强制) | 强制删除,忽略不存在的文件, 无需提示 |
3.3修改文件的命令
格式:mv 旧文件名 新文件名
示例: mv test3.txt test333.txt
3.4查询文件的命令
查看文件信息
格式:ls 文件夹名 文件名 (包含权限、日期等信息)
ll 文件夹名 文件名 (不包含权限、日期等信息)
列出某一目录内的内容(内容包括子文件夹和文件)
ls 或 ll 列举出当前文件夹内的文件夹和文件
示例: ls /opt
ll /opt
查看文件前10行数据
格式 : head 文件名 或 head -10 文件名
示例 : head test1.txt 或 head -10 test1.txt
查看文件后10行数据
格式: tail 文件名 或 tail -10 文件名 或 tail -f 文件名
示例 : tail test1.txt 或tail -10 test1.txt
查看文件内容
格式:more 文件名
示例 :more test1.txt
查看所有
格式:cat 文件名
过滤查看
格式:grep 关键字 文件名
示例: grep is profile
3.5 其他命令
文件追加
格式:echo ‘abcde’ >> 文件名
示例:echo ‘abcde’ >> test4.txt
复制文件
复制文件夹
格式:cp 原文件 目标文件
练习:
1、创建文件夹/opt/tmp/
2、在/opt/tmp/文件夹内,一次性创建空文件 test1.txt、 test2.txt、 test3.txt、 test4.txt
3、在/opt/tmp/文件夹内,一次性创建文件 test5.txt ,文件内含有数字123456789
4、将文件 test5.txt 改为 test555.txt
5、向test555.txt 文件追加20行数据,第一行1、第二行2、第三行3、… …(或每行内容自己定)
6、查看test555.txt 文件前8行数据
7、查看test555.txt 文件后15行数据
8、删除文件test555.txt
9、删除文件 test1.txt、 test2.txt、 test3.txt、 test4.txt
常用命令补充
ls 命令选项
选项 | 英文 | 含义 |
---|---|---|
-a | all | 显示指定目录下所有子目录与文件, 包含隐藏文件 (以 . 开头的文件为隐藏文件, 需要用 -a 参数才能显示) |
-l | 以列表方式显示文件的详细信息 | |
-h | human-readable | 配合 -l 以人性化的方式显示文件大小 |
通配符 | 含义 |
---|---|
* | 代表 任意个数 的字符 |
? | 代表任意一个字符, 且只能是一个 |
[abc] | 匹配a、b、c中任意一个 |
[a-f] | 匹配从a到f范围内的任意一个字符 |
cd 命令选项
命令 | 含义 |
---|---|
cd - | 可以在最近的两次目录之间切换 |
cat 命令选项
命令 | 含义 |
---|---|
-n | 显示行号 |
-b | 非空行 显示行号 |
grep命令选项
grep 选项 关键字 文件名
命令 | 含义 |
---|---|
-n | 显示匹配行和行号 |
-i | 忽略大小写 |
-v | 显示 不包含关键字 的所有行 |
^a | 行首,搜索以a开头的行 |
ke$ | 行尾,搜索以ke结束的行 |
查阅命令帮助信息(知道)
因为一个命令有很多可选项, 死记硬背肯定不行, 所以需要借助手册查阅.
–help 帮助信息
command --help
说明:
- 显示
command
命令的帮助信息
缺点: 虽然可以查询命令的帮助信息, 但是没有提供 翻页、搜索功能.
终端使用技巧
自动补全
以上是关于大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章