大数据学习总结(2021版)---Linux

Linux


注:本文原稿为尚硅谷的LInux大数据课程的PDF版本,经过部分修改后成此文

第 1 章 Linux开门见山

本文章Linux 的内容介绍

在这里插入图片描述
在这里插入图片描述

Linux 的学习方向(Linux 运维工程师、Linux 嵌入式开发工程师、在 linux 下做各种程序开发)

在这里插入图片描述

Linux 的应用领域(个人桌面、服务器、嵌入式)

学习 Linux 的阶段(高手进阶过程)

  • 第 1 阶段:linux 环境下的基本操作命令,包括 文件操作命令(rm mkdir chmod, chown) 编辑工具 使用(vi vim)linux 用户管理(useradd userdel usermod)等
  • 第 2 阶段:linux 的各种配置(环境变量配置,网络配置,服务配置)
  • 第 3 阶段:linux 下如何搭建对应语言的开发环境(大数据,JavaEE, Python 等)
  • 第 4 阶段:能编写 shell 脚本,对 Linux 服务器进行维护。
  • 第 5 阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
  • 第 6 阶段:深入理解 Linux 系统(对内核有研究),熟练掌握大型网站应用架构组成、并熟悉各 个环节的部署和维护方法

第 2 章 基础篇 VM 和 Linux 系统(CentOS)安装

VM 和 CentOS 的关系
在这里插入图片描述
CentOS 安装技术难点-网络配置三种方式理解(安装时采用NAT模式)
在这里插入图片描述
Centos 终端的使用和联网
在这里插入图片描述
在 centos 的可以联网,可以和外部的 ip 联通

centos联网后,会简单的动态的分配ip(后面我们要学习固定分配 ip)
在这里插入图片描述

  • 未联网前,没有ip分配
    在这里插入图片描述
  • 联网后,动态分配一个ip
    在这里插入图片描述

第 3 章 linux 的目录结构

  • linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
  • 记住一句经典的话:。在 Linux 世界里,一切皆文件(即使是一个硬件设备,也是使用文本来标志)

在这里插入图片描述
具体目录结构

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对 linux 目录结构的小结

  • 在 linux 中,目录结构 有一个 根目录 / ,其他的目录都是在 / 目录分支。
  • 在 linux 中,有很多目录,是安装后,有自动有目录,每个目录都会存放相应的内容,不要去修改.
  • 在 linux 中,所有的设备都可以通过文件来体现(字符设备文件[比如键盘,鼠标],块设备文件[硬 盘])
  • 在学习 linux 时,要尽快的在脑海中,形成一个 目录树

第 4 章 远程登录到 Linux 服务器

为什么需要远程登录 linux

在这里插入图片描述
说明: 公司开发时候, 具体的情况是这样的

  • linux 服务器是开发小组共享的
  • 正式上线的项目是运行在公网的
  • 因此程序员需要远程登录到 centos 进行项目管理或者开发
  • 远程登录客户端有 Xshell5, Xftp5 , 我们学习使用 Xshell5 和 Xftp , 其它的远程工具大同 小异

远程登录 Linux-Xshell5(Xshell 是目前最好的远程登录到 Linux 操作的软件)

特别说明
如果希望安装好 XShell 5 就可以远程访问 Linux 系统的话,需要有一个前提,就是 Linux 启用了 SSHD 服务,该服务会监听 22 号端口

XShell5 的关键配置
在这里插入图片描述

在这里插入图片描述
XShel5 远程登录到 Linux 后,就可以使用指令来操作 Linux 系统
在这里插入图片描述

在这里插入图片描述

远程上传下载文件 Xftp

Xftp5 的配置和使用
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如何解决 XFTP5 中文乱码的问题

在这里插入图片描述

SecureCRT 的安装和使用(也是一款远程登录的软件)

安装: 绿色安装版,拷贝到指定目录(程序员决定)即可使用.

  • 步骤 1: 安装好后,就启动 securecrt:
    在这里插入图片描述
  • 步骤 2:配置好后,就点击链接,然后输入密码即可.

在这里插入图片描述

第 5 章 Vi 和 Vim 编辑器

Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,需要掌握它的基本使用即可

vi 和 vim 三种模式的相互转化图
在这里插入图片描述
快捷键的使用

  • 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)
  • 删除当前行 dd , 删除当前行向下的 5 行 5dd
  • 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ],查询 hello.
  • 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]

vim 和 vi 的快捷键键盘一览图
在这里插入图片描述

第 6 章 开机、重启和用户登录注销

关机&重启命令

常见的指令如下
shutdown -h now [立刻关机]
shutdown -h 1 "1 分钟,关机." [1 分钟后,关机]
shutdown -r now [立刻重启]
shutdown -r 2 "2 分钟后,重启"
halt 【立刻关机】
reboot 【立刻重启】

注意细节:
不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中

用户登录和注销

  • 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利 用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份
  • 在提示符下输入 logout 即可注销用户
    在这里插入图片描述
    注意:logout 注销指令在图形运行级别无效,在 运行级别 3 下有效,运行级别这个概念,后面给大家介绍

第 7 章 用户管理、用户组

用户管理(添加/删除用户:useradd/userdel 用户名、查询用户信息指令:id 用户名、切换用户:su – 切换用户名)

在这里插入图片描述
添加用户:useradd 用户名

案例 1:添加一个用户 xiaoming
在这里插入图片描述
使用细节

  • 当创建用户成功后,会自动的创建和用户同名的家目录 【/home/xiaoming】
  • 也可以通过 useradd -d 指定目录 新的用户名 jack,给新创建的用户指定家目录
    在这里插入图片描述

删除用户:userdel 用户名

查询用户信息指令:id 用户名
案例 1:请查询 root 信息
在这里插入图片描述

切换用户:su – 切换用户名

细节说明

  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
  • 当需要返回到原来用户时,使用 exit 指令
  • 如果 su – 没有带用户名,则默认切换到 root 用户

用户组(groupadd、groupdel、useradd -g、usermod -g )

增加组:groupadd 组名

删除组:groupdel 组名

增加用户时直接加上组:useradd -g 用户组 用户名
在这里插入图片描述
修改用户的组:usermod -g 用户组 用户名
在这里插入图片描述

用户和组的相关文件(/etc/passwd、/etc/shadow、/etc/group)

/etc/shadow 文件

  • 口令的配置文件

  • 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活
    动时间:失效时间:保留 [图]
    在这里插入图片描述

/etc/group 文件

  • 组(group)的配置文件,记录 Linux 包含的组的信息
  • 每行含义:组名:口令:组标识号:组内用户列表
    在这里插入图片描述
    /etc/passwd 文件
  • 用户(user)的配置文件,
  • 记录用户的各种信息 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
    在这里插入图片描述

第 8 章 实用指令

指定运行级别
运行级别说明:
0 :关机
1 :单用户【找回丢失密码
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启

常用运行级别是 3 和 5 ,要修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault:这一行中的数字

在这里插入图片描述
man [命令或配置文件](功能描述:获得帮助信息)

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

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

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

  • -a :显示当前目录所有的文件和目录,包括隐藏的。
  • -l :以列表的方式显示信息

应用实例

  • 案例:查看当前目录的所有内容信息
    在这里插入图片描述
    在这里插入图片描述

cd [参数] (功能描述:切换到指定目录)

  • cd ~ 或者 cd :回到自己的家目录
  • cd … 回到当前目录的上一级目录

mkdir [选项] 要创建的目录

  • 常用选项 -p :创建多级目录
    在这里插入图片描述
    在这里插入图片描述

rmdir [选项] 要删除的空目录

rm -rf 要删除的非空目录
在这里插入图片描述
touch 指令创建空文件:touch 文件名称
在这里插入图片描述
在这里插入图片描述
cp 指令拷贝文件到指定目录:cp [选项] source dest

  • 常用选项 -r :递归复制整个文件夹

案例 1: 将 /home/aaa.txt 拷贝到 /home/bbb 目录下[拷贝单个文件]
在这里插入图片描述
案例 2: 递归复制整个文件夹,举例 将/home/test 整个目录拷贝到 /home/zwj 目录
在这里插入图片描述

  • 强制覆盖不提示的方法:\cp
    在这里插入图片描述

第 9 章 实操篇 组管理和权限管理

在 linux 中的每个用户必须属于一个组,不能独立于组外。
在 linux 中每个文件 有所有者、所在组、其它组的概念

在这里插入图片描述

01:查看、修改文件的所有者(ls –ahl、chown 用户名 文件名)

  • 应用实例 :创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组 ,然后使用 tom 来创建一个文件 ok.txt,看看情况如何
    在这里插入图片描述
    在这里插入图片描述

  • 要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
    在这里插入图片描述

02:改变用户、修改文件所在的组(usermod –g 组名 用户名、chgrp 组名 文件名)

  • 使用 root 用户创建文件 orange.txt ,看看当前这个文件属于哪个组【root】,然后将这个文件所在组,
    修改到 police 组。
    chgrp police orange.txt

03:权限的基本介绍

在这里插入图片描述
在这里插入图片描述

04:rwx 权限详解(rwx :可读可写可执行)

注意:[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该 文件所在的目录有写权限,才能删除该文件.

05:修改权限-chmod

第一种方式:+ 、-、= 变更权限

chmod u=__ ,g= ,o= 文件目录名,chmod o+ 文件目录名,chmod a-__ 文件目录名

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

  • chmod u=rwx,g=rx,o=x 文件目录名
  • chmod o+w 文件目录名
  • chmod a-x 文件目录名

第二种方式:通过数字变更权限(规则:r=4 w=2 x=1 ,rwx=4+2+1=7)

06:修改文件所有者-chown(chown newowner file)

  • -R 如果是目录 则使其下所有子文件或目录递归生效
    举例:请将 /home/kkk 目录下所有的文件和目录的所有者都修改成 tom 首选我们应该使用 root
    在这里插入图片描述

07:修改文件所在组-chgrp(chgrp newgroup file/目录)

第 10 章 实操篇 crond 任务调度(指系统在某个时间执行的特定的命令或程序)

原理示意图
在这里插入图片描述
在这里插入图片描述

基本语法(语法:crontab [-e,-l,-r],设置任务调度文件:/etc/crontab)

在这里插入图片描述

未完待续。。。。。。。

第 11 章 Linux 磁盘分区、挂载

分区的方式(mbr 、gtp分区知道即可)

windows 下的磁盘分区

在这里插入图片描述

LINUX硬盘、分区理解

在这里插入图片描述

  • Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
    对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE 硬盘的表示方法一样。sdb1 [表示第 2 块 scsi 硬盘的第 1 个分区]

查看所有设备(光驱 /media,u 盘, 硬盘)挂载情况(lsblk 或者 lsblk -f)

在这里插入图片描述

如何增加一块硬盘(虚拟机添加硬盘,分区,格式化磁盘,挂载,设置可以自动挂载)

**1:虚拟机添加硬盘 **
在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只 有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!
在这里插入图片描述
2:分区
添加虚拟硬盘后,直接lsblk -f 发现并没有发现所加的磁盘空间,需要重启后才会显示
在这里插入图片描述
重启后:
在这里插入图片描述
分区命令 fdisk /dev/sdb
在这里插入图片描述
输入m
在这里插入图片描述

  • m 显示命令列表
  • p 显示磁盘分区 同 fdisk
  • n 新增分区 •d 删除分区
  • w 写入并退出

说明: 开始分区后输入 n,新增分区,然后选择 p ,分区类型为主分区,然后自己选择主分区第几个。后两次回车默认剩余全部空间。最后输入 w 写入分区并退出,若不保存退出输入 q

在这里插入图片描述
分好区后查看
在这里插入图片描述
3:格式化磁盘
分区命令:mkfs -t ext4 /dev/sdb1
其中 ext4 是分区类型
在这里插入图片描述
格式化成功
在这里插入图片描述
4:挂载: 将一个分区与一个目录联系起来

  • 挂载:mount 设备名称 挂载目录

在这里插入图片描述

  • 注意:解挂umount 设备名称 或者 挂载目录
    例如: umount /dev/sdb1 或者 umount /newdisk

上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置 linux 的分区表,实现启动时,自动挂载

5:设置可以自动挂载
vim /etc/fstab
在这里插入图片描述
在这里插入图片描述
添加完成后 执行 mount –a 即刻生效
后续重启,就会自动挂载

磁盘情况查询

查询系统整体磁盘使用情况(df -h)

在这里插入图片描述

查询指定目录的磁盘占用情况(du -h /目录)

基本语法du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录

  • s 指定目录占用大小汇总
  • h 带计量单位
  • a 含文件
  • --max-depth=1 子目录深度
    
  • c 列出明细的同时,增加汇总值
    在这里插入图片描述
    查询 /usr 目录的磁盘占用情况,深度为 1
    在这里插入图片描述

磁盘情况-工作实用指令

  • 统计/home 文件夹下文件的个数
    ls –l /home/ | grep “^-” | wc -l
    在这里插入图片描述

  • 统计/home 文件夹下目录的个数
    ls –l /home/ | grep “^d” | wc -l

  • 统计/home 文件夹下文件的个数,包括子文件夹里的
    ls –lR /home/ | grep “^-” | wc -l

  • 统计/home 文件夹下目录的个数,包括子文件夹里的
    ls –lR /home/ | grep “^d” | wc -l

以树状显示 home 目录结构 [没有 tree 指令咋办, 使用 yum 来安装]
先安装yum install tree
在这里插入图片描述

第 11 章 linux 的网络配置

Linux 网络配置原理图(含虚拟机)

目前我们的网络配置采用的是 NAT
在这里插入图片描述

查看网络 IP 和网关、修改 ip 地址(修改虚拟网络的 ip)

在这里插入图片描述
修改 ip 地址(修改虚拟网络的 ip)
在这里插入图片描述
查看网关
在这里插入图片描述

linux 网络环境配置(自动获取、指定固定的 ip)

自动获取
在这里插入图片描述
linux 启动后会自动获取 IP,缺点是每次自动获取的 ip 地址可能不一样。这个不适用于做服 务器,因为我们的服务器的 ip 需要时固定的。

指定固定的 ip
直 接 修 改 配 置 文 件 来 指 定 IP, 并 可 以 连 接 到 外 网 ( 程 序 员 推 荐 ) , 编 辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述
修改后,一定要 重启服务

  • service network restart
  • reboot 重启系统

在这里插入图片描述

修改主机名

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
修改后,可直接通过ping 主机名。就可以连接

第 12 章 进程管理(重点)

显示系统执行的进程(ps -aux)

查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux
在这里插入图片描述
在这里插入图片描述

终止进程 kill 和 killall

  • kill [选项] 进程号(功能描述:通过进程号杀死进程)
  • killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变 得很慢时很有用)

查看进程树 pstree(pstree [选项])

-p :显示进程的 PID
-u :显示进程的所属用户
案例 1:请你树状的形式显示进程的 pid
在这里插入图片描述

服务(Service)管理

  • service 服务名 [start | stop | restart | reload | status]
  • 在 CentOS7.0 后 不再使用 service ,而是 systemctl

查看当前防火墙的状况,关闭防火墙和重启防火墙。
在这里插入图片描述
在这里插入图片描述

chkconfig 指令(给每个服务的各个运行级别设置自启动/关闭)

  • 查看服务 chkconfig --list|grep xxx
    在这里插入图片描述
    chkconfig 服务名 --list
    在这里插入图片描述
    chkconfig --level 5 服务名 on/of

请将 sshd 服务在运行级别为 5 的情况下,不要自启动。
在这里插入图片描述

动态监控进程(top [选项])

选项说明
在这里插入图片描述
在这里插入图片描述
案例 1.监视特定用户 top:输入此命令,按回车键,查看执行的进程。 u:然后输入“u”回车,再输入用户名,即可

应用实例:

  • 案例 1.监视特定用户
    top:输入此命令,按回车键,查看执行的进程。
    u:然后输入“u”回车,再输入用户名,即可

  • 案例 2:终止指定的进程
    top:输入此命令,按回车键,查看执行的进程。
    k:然后输入“k”回车,再输入要结束的进程 ID 号

在这里插入图片描述

查看系统网络情况 netstat(netstat [选项])

netstat -anp
-an 按一定顺序排列输出, -p 显示哪个进程在调用

查看系统所有的网络服务
在这里插入图片描述
请查看服务名为 sshd 的服务的信息
在这里插入图片描述

第 13 章 rpm 和 yum 软件安装

rpm 包的简单查询指令(查询已安装的 rpm 列表 rpm –qa|grep xx)

查询已安装的 rpm 列表 rpm –qa|grep xx

举例:请查询看一下,当前的 Linux 有没有安装 firefox这个软件
在这里插入图片描述

rpm 包名基本格式

一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
适用操作系统: el6.centos.x86_64
表示 centos6.x 的 64 位系统
如果是 i686、i386 表示 32 位系统,noarch 表示通用。

rpm 包的其它查询指令

  • rpm -qa :查询所安装的所有
  • rpm 软件包 rpm -qa | more [分页显示]
  • rpm -qa | grep X [rpm -qa | grep firefox ]
    在这里插入图片描述
  • pm -q 软件包名 :查询软件包是否安装
  • rpm -qi 软件包名 :查询软件包信息
  • 在这里插入图片描述
  • rpm -ql 软件包名 :查询软件包中的文件
  • rpm -qf 文件全路径名 查询文件所属的软件包
    在这里插入图片描述

卸载 rpm 包(rpm -e RPM 包的名称)

  • 删除 firefox 软件包
    在这里插入图片描述
  • 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
    如: $ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1
  • 如果我们就是要删除 foo 这个 rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般 不推荐这样做,因为依赖于该软件包的程序可能无法运行 如:$ rpm -e --nodeps foo 带上 --nodeps 就是强制删除。

安装 rpm 包(rpm -ivh RPM 包全路径名称)

参数说明: i=install 安装, v=verbose 提示, h=hash 进度条
演示安装 firefox 浏览器
步骤先找到 firefox 的安装 rpm 包,
你需要挂载上我们安装 centos 的 iso 文件,
然后到/media/下去 找 rpm 找。
cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt/
在这里插入图片描述

Yum 是一个 Shell 前端软件包管理器

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联 网

在这里插入图片描述

yum 的基本指令(yum list|grep xx 软件列表、yum install xxx)

  • 查询 yum 服务器是否有需要安装的软件
    yum list|grep xx 软件列表
  • 安装指定的 yum 包
  • yum install xxx 下载安装

案例:请使用 yum 的方式来安装 firefox

  • 先查看一下 firefox rpm 在 yum 服务器有没有
    在这里插入图片描述
  • 安装
    yum install firefox
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51755061/article/details/114703503