你好呀~我是陌陌
百度网盘,笔记自提~👇
链接:https://pan.baidu.com/s/1k6lHDz2z3ffcm7dQro2QPw
提取码:6o86
以下是基础篇 \textcolor{green}{以下是基础篇} 以下是基础篇
1. Linux的安装
1.1 Linux和Windows区别
- 刚开始我们先安装了
- 我们装了
- 后我不知道我的虚拟机功能是默认打开的,还倒腾了好久的BIOS
1.2 安装vm和CentOS
学习Linux想要环境,我们需要创建一个虚拟机,然后再虚拟机上安装Centos来学习
- 去BIOS里面设置开启虚拟化设备支持
使用VMWare来模拟虚拟机
https://www.vmware.com/
1. 终端
Ctrl+Alt+F3表示启动终端
Ctrl + Alt 互换鼠标
ctrl + shift + + 放大终端字体
ctrl + - 缩小终端字体
root表示当前用户
@hadoop100表示当前主机名
- 表示当前我们所在的位置
# 表示输入命令的提示符号
ls表示将当前目录下的文件都列出来
exit退出终端
cd / 表示切换目录至根目录下
windows徽标+空格 == 切换输入法
1.1 Linux的文件系统以及整个目录结构的设置
1.1.1 Linux文件
Linux系统中一切皆文件
1.1.2 Linux目录结构
层级式的目录结构
Linux中硬件设备也是使用文件来管理的
所有的文件向上追溯,都会追溯到根目录下 “/”
相对于Widowds的目录而言而言更加的扁平化而且更加的高效
① 挂载
Linux将所有的目录都放在了根目录下,但不一定所有的内容都得放在根分区那块硬盘空间中,想在不同的分区放不同的内容,可以单独使用挂载点:即设置好一块小分区,直接挂在到某一个目录下边去,那这个目录下的所有文件都会写道该分区中,剩下的最大的那块直接挂载到根,目录下边去
当前目录结构式逻辑上的关系,而具体的各个目录之间的关系式通过分区和挂载点来配置映射关系的
Lnux====虚拟目录
② Linux下各个目录详解
Linux的每个目录命名都是由规范的,都是基于一个文件系统层级标准定义出来的,即每个目录对应相应的功能
- bin : 是二进制目录(存放直接可以执行的机器码,比如说我们之前使用的 ls 命令就存放在此)
我们当前在根目录存放的这个bin其实只是个链接而已
- sbin : 是系统级别的二进制命令,是系统管理员才可以使用的命令
普通用户只能使用bin下的命令
它和bin的链接一样
- lib : 库目录,存放系统和应用程序所需要的共享库文件,类似与windows中的动态链接库
- lib64 : 64位相关的比较特殊的库文件,和上面的关系相当于System和System32
- usr : 包含用户的所有的应用程序和所需要的文件和数据
- boot : 链接文件,存放引导文件
- dev : 设备目录,管理整个设备
- etc : 主要放置系统管理所需要的配置文件和对应的子目录,比如说你安装一些数据库,安装完之后对应的配置文件就会放到这
- home : 存放每一个普通用户对应一个主目录,下面的目录就是lh这个普通用户的主目录,自己用户下的可以随便改
- root : 系统超级管理员的用户主目录
- opt : 可选目录,linux给第三方软件包专门留的位置,我们可以自己处理它
- media : 媒体目录,可以识别一些可移动的媒体设置,比如说:优盘、光驱,即是一个可移动媒体的挂载点
- mnt : 相当于另外一个media目录,我们可以将任何的外部存储单独的指定挂在到mnt上去
- proc :存放现有的硬件和当前进程的信息,与系统相关
- run : 运行目录,存放当前系统运行以来的所有实时信息,是个临时的文件系统,重启之后会被 “干” 掉
- srv(service) : 存放和系统服务相关的东西
- tmp临时目录,只是临时存放东西,我们可以自己处理它
- var : 可变目录,存放各种日志log等等,我们可以随便操作它
以下 V I / V I M 编辑器内容(重点) \textcolor{green}{以下VI/VIM编辑器内容(重点)} 以下VI/VIM编辑器内容(重点)
1. VI/VIM编辑器
1.1 VI/VIM是什么?
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器
VIM编辑器是从VI发展而来的一个性能更大的文本编辑器,可以主动的以字体颜色片设语法的正确性,方便程序设计,VIM与VI编辑器完全兼容
1.2 VIM编辑模式
- 普通模式(核心):不可以直接编辑文本,可以做删除复制粘贴
- 编辑模式:可以编辑文本,插入内容,按a进入编辑模式
- 命令模式:在一般模式下输入一些命令来操作
1.2.1 模式间转换
1.2.2 普通模式
① 常用指令
1.2.3 插入模式
① 进入方式
1.2.4 指令模式
在一般模式下按 : 或者 / 就可以保持…
注意:
:wq 是强制保存的意思
以下是网络配置(重点) \textcolor{green}{以下是网络配置(重点)} 以下是网络配置(重点)
1. 网络配置和系统管理
1.1 查看网络ip和网关
1.1.1 查看虚拟网络编辑器
老师的网络不在同一个网段里边?为什么还可以连接的上?(P20)
创建了两个虚拟网卡,连上了两个虚拟网络
VMnet8就是创建的一个虚拟的网卡,实现主机对虚拟机的访问
VMware 提供了三种网络连接方式
- 桥接模式
虚拟机直接连接外部物理网络的模式,主机起到了外部网桥的作用,这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的
- NAT模式
虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机ip可以访问外部网络,单外部网络无法访问虚拟机
- 仅主机模式
虚拟机只与主机共享一个专用网络,与外网无法通信
1.1.2 修改静态ip
- 修改虚拟机的hosts文件和电脑上的hosts文件
- hosts将修改为static,再添加几个项
- 将我们配置的网络名存入到咱们电脑的hosts文件中
1.1.3 使用工具做远程的登录
使用XShell;使用远程登录的方式进行登录
1.2.4 使用工具进行文件的传输与下载
Xftp
乱码问题:文件–>默认会话属性–>选项–>编码–>重新连接
以下是有关系统管理的知识 \textcolor{green}{以下是有关系统管理的知识} 以下是有关系统管理的知识
1. Linux中的进程和服务
1.1 Linux中的进程和服务
- 计算机中,一个正在执行的程序或命令,被叫做“进程”(process)
- 启动之后一直存在,常驻在进程中的进程,一般被称为“服务”(service)
1.2 service服务管理
1.2.1 基本语法
一下是CentOS 6版本的命令,了解一下即可
service 服务名 start|stop|restart|status
我们重点学习CentOS7版本的命令
systemctl start | stop | restart | status 服务名
1.2.2 经验技巧
CentOS 6 :查看服务的方法: /etc/init.d/服务名,发现只有两个服务保留在service
CentOS 7 : 查看服务的方法:/usr/lib/systemd/system
1.3 chkconfig 设置后台服务的自启配置(CentOS6)
1.3.1 基本语法
chkconfig (功能描述:查看所有服务器自启配置)
chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
chkconfig 服务名 --list (功能描述:查看服务开机启动状态)
1.4 systemctl(CentOS7) (重点)
1.4.1 基本语法
systemctl start | stop | restart | status 服务名
1.4.2 查看服务的方法
查看服务的方法:/usr/lib/systemd/system
1.5 systemctl 设置后台服务的自启配置
1.5.1 基本语法
systemctl list-unit-files (功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
1.6 系统运行级别
…需要时请自查文档
1.7 关机重启
在 linux 领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机
1.7.2 基本语法
1.7.2 经验技巧
Linux 系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写”操作方式。当用户保存文件时,Linux 核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据失。使用 sync 指令可以立即将缓冲区的数据写入磁盘
以下是常用基本指令的知识 \textcolor{green}{以下是常用基本指令的知识} 以下是常用基本指令的知识
1. 帮助命令
1.1 man 获取帮助信息
1.1.1 基本语法
man [命令或配置文件] (功能描述:获得帮助信息)
1.1.2 显示说明
1.2 help获得shell内置命令的帮助信息
一部分基础功能的系统命令是直接内嵌在 shell 中的,系统加载启动之后会随着 shell 一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”;相应的其它命令被称为“外部命令”
1.2.1 基本语法
help 命令(功能描述:获得 shell 内置命令的帮助信息)
1.3 常用快捷键
2. 文件目录类
2.1 pwd显示当前工作目录的绝对路径
2.1.1 基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
例如:pwd:print working directory 打印工作目录
2.2 ls列出目录的内容
2.2.1 基本语法
ls [选项] [目录或是文件]
例如:ls:list 列出目录内容
2.2.2 选项说明
2.2.3 显示说明
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
2.3 cd 切换目录
2.3.1 基本语法
cd [参数]
例如:cd:Change Directory 切换路径
2.3.2 参数说明
2.4 mkdir 创建一个新的目录
2.4.1 基本语法
mkdir [选项] 要创建的目录
例如:mkdir:Make directory 建立目录
2.4.2 选项说明
2.5 rmdir 删除一个空的目录
2.5.1 基本语法
rmdir 要删除的空目录
例如:rmdir:Remove directory 移除目录
2.6 touch 创建空文件
2.6.1 基本语法
touch 文件名称
2.7 cp复制文件或目录
2.7.1 基本语法
cp [选项] source dest (功能描述:复制source文件到dest)
2.7.2 选项说明
2.7.3 参数说明
2.7.4 经验技巧
强制覆盖不提示的方法:\cp
2.8 rm删除文件或目录
2.8.1 基本语法
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
2.8.2 选项说明
2.9 mv 移动文件与目录或重命名
2.9.1 基本语法
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
2.10 cat 查看文件内容
查看文件内容,从第一行开始显示
一般查看比较小的文件,一屏幕能显示全的。
2.10.1 基本语法
cat [选项] 要查看的文件
2.10.2 选项说明
2.11 more 文件内容分屏查看器
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more 指令中内置了若干快捷键,详见操作说明。
2.11.1 基本语法
more 要查看的文件
2.11.2 操作说明
2.12 less 分屏显示文件内容
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的题。
2.12.1 基本语法
less 要查看的文件
2.12.2 操作说明
2.13 echo
echo 输出内容到控制台
2.13.1 基本语法
2.14 head显示文件头部信息
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。
2.14.1 基本语法
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
2.14.2 选项说明
2.15 tail输出文件尾部内容
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后10 行内容
2. 15.1 基本语法
(1)tail 文件 (功能描述:查看文件尾部10行内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
2.15.2 选项说明
2.16 > 输出重定向和 >> 追加
2.16.1 基本语法
(1)ls -l > 文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
(2)ls -al >> 文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)
(3)cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
(4)echo “内容” >> 文件
2.17 ln 软连接
软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径
2.17.1 基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2.17.2 经验技巧
删除软链接: rm -rf 软链接名,而不是 rm -rf 软链接名/
如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉
查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。
2.18 history 查看已经执行过的历史命令
2.18.1 基本语法
history (功能描述:查看已经执行过历史命令)
3. 时间类型
3.1 相关类型
3.1.1 date 命令
3.1.2 -s命令
3.1.3 cal 命令
4. 用户管理命令
4.1 创建一个用户
4.2 给用户设置密码
4.3 验证当前系统是否有某个用户
4.4 查看当前系统下创建了那些用户
less /ect/psswd 命令下出来的许多用户,是系统用户,用来运行系统的
4.5 切换用户
4.6. 查询当前用户
5. 用户权限
5.1 sudo 设置普通用户临时具有root权限
5.1.1 设置
5.1.2 删除某个用户
5.2 groupadd 用户组管理
查看组:cat /etc/group
5.2.1 新添加一个组
5.2.2 将用户添加到某个组中
5.2.3 重命名组名
5.2.4 删除某个组
使用命令查看的时候,就没有david和xwb这两个用户组了
5.2.5 注意!
解释为什么一个组中只要有一个用户设置了临时开启root权限的设置,组中的其它用户都可以使用sudo了~
因为设置文件中有句话: %wheel ALL=(ALL) ALL
表示所有在wheel组中的用户都有权限执行sudo命令
所以当配置了临时用户有root权限,相当于配置了管理员用户
6. 文件权限管理
6.1 文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组
6.1.1 从左到右的 10 个字符表示
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0 首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
(4)第7-9位确定其他用户拥有该文件的权限 —Other
6.1.2 rwx 作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前
提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
6.1.3 实操
如果目录的话:
6.2 chmod 改变文件权限
可以以root的方式来修改,但是权限太大了
6.2.1 基本语法
第一种方式变更权限
chmod [{ugoa}{±=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
6.2.2 经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
r=4 w=2 x=1 rwx=4+2+1=7
6.2.3 案例实操
6.2.4 实现嵌套赋权
也就是给某个目录赋权的时候,其子目录也默认赋予相应的权限
6.3 chown 改变所有者
6.3.1 基本语法
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
6.3.2 选项说明
6.3.3 实操
6.4 chgrp 改变所属组
7. 搜索查找类
7.1 find 查找文件或目录
find指令从指定的目录向下递归地遍历各个子目录,将满足条件的文件显示在终端。
7.1.1 基本语法
find [搜索范围] [选项]
7.1.2 选项说明
7.1.3 实操
7.2 locate 快速定位文件路径
7.2.1 基本语法
locatie 搜索文件
7.2.2 经验技巧
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令来创建locate数据库
7.2.3 实操
可以查找文件和目录,也可以定位linux下的命令
7.3 grep 过滤查找及“|”管道符
管道符 “|”,表示将前一个命令处理的结果输出传递给后面命令处理
7.3.1 基本语法
grep 选项查找内容源文件
find和locate是按照文件的名称或者大小去定位的,而grep找的就是文件的内容,从内容中进行筛选
7.3.2 选项说明
7.3.3 实操
8. 压缩和解压类
8.1 gzip/gunzip 压缩
8.1.1 基本语法
8.1.2 经验技巧
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
8.1.3 实操
8.2 zip/unzip 压缩
gzip只能单纯的对文件进行压缩和解压,一般我们不会单独使用它
zip压缩可以直接压缩目录
8.2.1 基本语法
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
8.2.2 选项说明
8.2.3 经验技巧
zip压缩命令在window/linux都通用,可以压缩目录且保留源文件
8.2.4 实操
8.3 tar打包
8.3.1 基本语法
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
8.3.2 选项说明
8.3.3 案例实操
9. 磁盘查看和分区类
下载tree工具👇
yum install tree
9.1 du查看文件和目录占用的磁盘空间
du:disk usage 磁盘占用情况
9.1.1 基本语法
du 目录/文件 (功能描述:显示目录下每个子目录的磁盘使用情况)
9 .1.2 选项说明
9.1.3 实操
9.2 df 查看磁盘空间使用情况
df:disk free 空余磁盘
9.2.1 基本语法
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
9.2.2 选项说明
9.2.3 实操
9.3 lsblk 查看设备挂载情况
9.3.1 基本语法
lsblk (功能描述:查看设备挂载情况)
9.3.2 选项说明
9.3.3 实操
9.4 mount/umount 挂载/卸载
9.4.1 挂载前准备
挂载前准备(必须要有光盘或者已经连接镜像文件)
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
9.4.2 基本语法
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
9.4.3 选项说明
9.4.4 设置开机自动挂载
9.5 fdisk 分区
9.5.1 基本语法
fdisk -l (功能描述:查看磁盘分区详情)
fdisk 硬盘设备名 (功能描述:对新增硬盘进行分区操作)
9.5.2 选项说明
9.5.3 经验技巧
该命令必须在root用户下才可以使用
9.5.4 实操
9.5.5 卸载分区
10 进程管理类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
10.1 ps查看当前系统进程状态
ps:process status 进程状态
10.1.1 基本语法
ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
10.1.2 选项说明
(1)ps aux 显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的 ID 号
%CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位 KB;
RSS:该进程占用实际物理内存的大小,单位 KB;
TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,
tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有:
R:运行状态、S:睡眠状态、T:暂停状态、
Z:僵尸状态(该进程快要死了,但是它的某些信息还没有彻底删除)、s:包含子进程、l:多线程、+:前台显示
START:该进程的启动时间
TIME:该进程占用 CPU 的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
(2)ps -ef 显示信息说明
UID:用户 ID
PID:进程 ID
PPID:父进程 ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,
执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数
10.1.3 经验技巧
如果想查看进程的 CPU 占用率和内存占用率,可以使用 aux;
如果想查看进程的父进程 ID 可以使用 ef;
10.2 kill 终止进程
10.2.1 基本语法
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
10.2.2 选项说明
10.2.3 实操
- 杀死某个用户进程,通过PID
10.3 pstree
可以查看进程之间的关系:谁是谁的子进程,父进程
yum install pstree
10.3.1 基本语法
pstree [选项]
10.3.2 选项说明
10.4 top实时监控系统进程状态
10.3.1 基本语法
top [选项]
10.3.2 选项说明
10.3.3 操作说明
10.3.4 查询结果字段解释
第一行信息为任务队列信息
第二行为进程信息
第三行为 CPU 信息
第四行为物理内存信息
第五行为交换分区(swap)信息
10.5 netstar 显示网络状态和端口占用信息
10.5.1 基本语法
netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
10.5.2 选项说明
套接字:ip地址+端口号
提升库课程之后使用到的时候再追,先走一步~