Linux系统引入
1、为什么学linux?
服务器本质是一台电脑,组成:硬件+操作系统(linux)+软件
2、linux使用场景
2.1.服务器的操作系统
服务器要求可用性高,即能够给客户端提供服务,大公司,要求6个9,即一年的可用时间占比99.9999%,而linux稳定性特别高
2.2.区块链的矿机
区块链的矿机的操作系统:Linux
2.3.桌面操作系统
玩不转的
2.4.作为各种嵌入式设备的操作系统
例如机顶盒、移动电话、智能家居设备等等,在移动电话领域的第一大操作系统的Android就是基于Linux内核的
2.5.用在超级计算机作为操作系统
大型学数机构、科研机构使用的超级计算机,linux的运算能力特别强。
3、linux系统的分类:
3.1.按照市场需求分
·桌面版:类似于Windows的,有图形化界面的操作系统。不成熟
·服务器版:没有图形化界面,使用命令行进行操作的。企业里通常会使用服务器版的linux3.2.按照原生程度分
·内核版: Lius领导的开发小组,维护的内核版本。(官方版)
·发行版:一些企业、社区在内核的基础上,增加一些功能、软件,然后重新发行的版本(比如安卓)redhat、centos、ubuntu
4、虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
物理机是真实存在的电脑,虚拟机的硬件从物理机分过来
5、虚拟机软件:(用来创建虚拟机)
1.VirtualBox:开源免费,但是安装和卸载很麻烦
2.VMWare Workstation:安装和使用很简单,但是收费我们选择安装VMWare软件(12以上的),安装好以后创建虚拟机,前提是要电脑开启虚拟化支持
· VM16:硬件要求高,Windows 10 或更高版64位 · VM15:硬件要求中,Windows 7 或更高版64位 · VM12:硬件要求低,Windows 7 或更高版64位 · VM10:Windows XP 或更高版32位和64位旧版 · 注意:VM14版本开始不支持某些旧的电脑硬件,会提示不支持或安装失败, 如遇到请退回12版本。
下面这三步骤挺繁琐的,需要专业人士指导
- 创建虚拟机
- 开启虚拟机安装CentOS操作系统
- 设置静态IP
6、安装和使用远程访问工具
安装和配置倒是不很麻烦。直接用老师资料里发的,开箱即用,这大概也是培训的好处了。
远程连接的软件:
1.远程文件传输的软件:xftp2.远程连接软件(执行命令行操作):xshell
Linux的基础
1、linux目录结构
在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
linux没有盘符,只有目录结构
/root 超级管理员的用户主目录 /home 普通用户的主目录 /etc linux的系统配置文件 /user 很多应用程序和文件都在这个目录 /opt 装软件(针对解压就装好了的软件) /user/local装软件 (需要点下一步的软件)
2、常用快捷键
按键 | 作用 |
---|---|
Ctrl+l | 清屏 |
Ctrl+c | 强制终止程序 |
Ctrl+Insert | 复制 |
Shift+Insert | 粘贴 |
Ctrl+s | 锁屏 |
Ctrl+q | 解除锁屏 |
tab | 自动补全 |
tab一下,tab俩下。补全目录
3、基本命令
man ls 查看帮助手册
q 退出
----------
ls --help (看后面可以加什么参数)
----------
date(当前日期时间)
date +%Y-%m-%d (指定格式显示日期)
date +%Y-%m-%d' '%H:%M:%S
date +%F' '%T
---------
cal -y 日历
----------
clear ctrl+L 清除屏幕
reset 清除屏幕(真正都清调)
----------
ifconfig 查看ip配置
注意在windows中,是使用ipconfig查看当前所有网路的连接信息
-------------
ping + ip 可以检测俩台主机是否能正常通信,是windows和linux通用的命令
----------
history 查看命令历史
-----
命令 | 作用 |
---|---|
sync | 将内存中数据保存到磁盘 |
poweroff | 关机 |
reboot | 重启 |
关机:
挂起:电脑重启后会保留关机前的状态
-------------
wget 下载文件
使用 -P 参数可以指定目标目录
wget -P /root https://mirrors.tuna.tsinghua.edu/apache/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz
文件目录命令
pwd 打印当前目录的绝对路径 ,print wroking directory
绝对路径:以/开头的路径,开头的/表示Liux的根目录
相对路径:开头不是/就是相对路径
相对路径是以“你当前所在路径的相对位置”来表示的。
./标示当前目录 ..表示上一级路径
1.切换目录命令
cd 目录路径(分为绝对路径和相对路径)
cd ~ 回家,
cd - 从哪来的再回到哪去
cd .. 返回上级目录
cd / 返回根目录
2.列出目录中的文件
ls 列出当前目录内容,即文件名列表
ls /user 列出指定目录
ls -a 列出当前目录内容包括所有隐藏内容
ls-A 列出除. 及.. 以外的任何项目
------
ls -l 额外列出文件的详细信息 ,简为ll
ls -al 额外列出文件的详细信息(包括隐藏内容) ,简为ll -a
---------
ll -h 文件大小以kb方式显示(得到了1kb),mb显示文件大小
--------
ls -R /user R是递归,把目录和子目录列出
ll -ltr 逆序列出最近修改的文件
3.创建和删除目录
mkdir ./app ./可以省略
mkdir -p ./app2/test1/test2 创建多级目录
rmdir app,只能删除一个空目录
4.创建和删除文件
touch ./app2/test1/test2/a.txt
touch b.txt 当前目录下创建b.txt
rm b.txt 删除当前目录下的b.txt,会询问
rm -f b.txt 删除b.txt且不询问
rm -rfv app2 递归删除app2, 不询问(f),递归(r),且列出删除的东西(v)
5.移动文件或目录
mv 要移动的文件或目录路径 目标路径 ./a.txt ./app/
mv 文件重命名或者文件夹重命名 mv b.txt a.txt
6.复制文件或目录
复制文件:cp 要复制的文件 目标路径
复制目录:cp -r 要复制的目录 目标路径
\cp -rf 强制覆盖复制 ,不再询问是否覆盖
7.cat查看文件
语法:cat 文件路径
cat a.txt
查看小文件,一次性查出来。文件太大内容会丢失
cat 文件1 > 文件2
将文件1的内容覆盖文件2的内容
cat 文件1 >> 文件2
将在文件2的内容后面追加文件1的内容
8.more 查看大文件(一页一页看)
空格:下一页
回车:一行
可以使用空格键向下翻页,使用回车键向下翻行,使用q退出查看,使用
Ctrl + F
向下滚动一屏,使用Ctrl + B
返回上一屏
9.less 查看大文件,查看时可以搜索
/application,当前位置向下搜索 n/N移动
?web,当前位置向上搜索
可以使用
/字符串
向下搜索字符串
,使用?字符串
向上搜索字符串,使用n
正向重复前一个搜索(与/和?搜索有关),使用N
反向重复前一个搜索
10.tail 查看变化的文件
语法:tail - 数字 文件路径
查看指定文件的末尾多少行
tail -4 a.txt 查看文件末尾4行,用于变化的文件,比如日志文件
11.echo 输出
echo $PATH 输出变量,$是全局
解压压缩类
1、打包和压缩
在Linux系统环境中,很多程序安装包都是以tar包的形式提供下载的
打包:将多个文件打包成一个文件,在此过程中不会对文件的体积进行压缩
压缩:将多个文件打包压缩成一个文件,在此过程中会对文件的体积进行压缩demo.tar(打包)
demo.tar.gz (压缩)
注意:把多个文件放在文件夹不叫打包
压缩语法:
tar -zcvf 压缩包 文件1 文件2 ...
tar -zcvf demo.tar.gz a3.txt b3.java c3.iml
- z:指定压缩算法为gzip(可选)
- c:压缩后要创建压缩文件(必须)
- v:在压缩过程中列出文件列表(可选)
- f:指定压缩包文件名称(必须)。后边跟参数值:压缩包名称
2、解包和解压
解压语法:tar -zxvf 压缩包 -C 解压位置
tar -zxvf demo.tar.gz -C /root/app4
不写参数C:则要解压到当前文件夹里
- z: 表示使用`gzip`算法解压(可选)
- x:extract, 调用解压命令,执行解压操作(必须)
- v:在解压缩过程中列出文件列表(可选)
- f:指定要解压的文件名称(必须)。后边跟参数值:压缩包名称
- C:指定解压的位置(可以不写)
- 如果写参数C:就需要指定解压的位置,必须是已经存在的文件夹
- 如果不写参数C:要解压到当前文件夹里
注意:linux里基本不会出现zip文件
zip demo.zip *.txt
表示将当前目录中的所有txt
文件压缩到demo.zip
中
unzip demo.zip
表示将demo.zip
解压到当前目录
搜索查询找类
1、find查找文件或者目录
find指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件显示在终端。
语法:find [搜索范围] [选项]
选项 功能 -name 按照指定的文件名查找文件 -user 查找属于指定用户名所有文件 -size 按照指定的文件大小查找文件
*常用来匹配固定后缀的文件 ,搜索范围可以是绝对路径也可以是相对路径
2、locate快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,基于索引搜索。建立索引可以极大提升查询的速度
语法 locate 搜索的文件
系统启动时把每一个目录、每一个文件的完整路径保存到索引库中。使用locate命令搜索关键词时,就使用关键词查询索引库,把匹配的路径字符串返回。
而新建的文件或目录不会被系统把路径存入索引库,那么使用locate命令就搜索不到。此时使用updatedb命令更新一下索引库就行了
locate pwd 查找和pwd相关的所有文件,
全文搜索与关键字相关的文件或者目录
注意:新建文件之后使用updatedb
更新索引库,然后再搜索
3、grep过滤查找以及管道符“|”
grep根据关键字匹配行
grep:find和locate找的是文件名筛选文件,grep是根据文件内容筛选文件
语法: grep -n boot a.conf ,表示在a.conf文件中搜索关键字boot,n 参数,表示搜索结果中显示行号
v 参数 ,返回不匹配关键字的那些行(反转)
管道:Liux中的管道的作用是将 管道左边的结果交给管道右边的命令进行下一步处理!
grep管道筛选
对于管道筛选而言|
前面的表示数据源(需要从数据源中筛选),| grep
后面表示筛选条件
en,使用 grep管道筛选使用起来真香。。。
软件包管理
1、RPM包
rpm包的命名格式
RPM查询命令
rpm -qa 查询所安装的所有的rpm软件包
演示:rpm -qa | grep firefox
RPM卸载命令
rpm -e 软件包
rpm -e --nodeps 软件包
-e 卸载软件包
--nodeps 卸载软件时,不检查依赖
演示卸载firefox软件:
rpm -e firefox //卸载时不需要包全名
rpm -qi firefox
RPM安装命令
rpm -ivh 包全名 //安装时必须包全名
。。。。怎么找到那个安装包呢、?哭戚戚
2、YUM仓库
YUM 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包
基本语法
yum [选项] [参数]
选项说明
-y 对所有的提问都回答"yes"
参数说明
install 安装rpm软件包 update 更新rpm软件包 check-update 检查是否有可用的更新rpm软件包 remove 删除指定的rpm软件包 list 显示软件包信息 clean 清理yum过期的缓存 deplist 显示yum软件包的所有依赖关系
使用yum 安装firefox
安装命令:yum -y install firefox
安装完成后查看:
文件编辑-使用命令
vim 是之前vi编辑器的升级版本
1、一般模式下的按键操作
进入到一般模式,此时我们无法自由编辑文件,但是可以进行整行的复制、粘贴、删除
yy 复制光标所在行
p 粘贴
dd 删除光标所在行
nyy/yny 复制n行(是向下复制n行,不是把一行复制n次) np 粘贴n次
实操
从光标所在行开始:复制2行,粘贴2次,结果如下
-----------------------------------------
ndd/dnd 从光标所在行开始向下删除n行
结果是
u 撤销
ctrl+r 反撤销
r 替换当前光标所在的字符
怎么进行光标的快速移动
gg 光标移动到整片文档第一行
G 光标移动到整片文档最后一行
数字+G 光标移动到指定行b/e 跳到上一个词头/跳到下一个词的词尾。也可以左右一个字符一个字符跳
shift+6(^)光标移动到行头
shift+4($)光标移动到行尾
2、进入编辑模式
因为一般模式下我们无法自由编辑内容,所以需要进入编辑模式来进行文件的编辑
关于怎么从一般模式进入到编辑模式?
i:进入到编辑模式后,光标位置不动 (insert)
I:移动到行的开头,开始输入
a: 光标向后移动一格,然后开始输入
A: 光标移动到行的末尾,然后开始输入
o: 进入编辑模式后光标到下一行(o是other的意思)
进入编辑模式后按Esc就可退出到一般模式
编辑模式下我们无法进行查找、保存等等操作,需要进入指令模式才能完成。
而进入指令模式需要从一般模式进入,所以需要先`Esc`退回一般模式
3、命令模式(底行模式) 英文模式
英文的
:
在一般模式下输入英文的:
,其实就是同时按Shift
和:
就可以看到文档最下方出现了一个:
,并且光标也出现在了:
后面,就表示进入了指令模式,此时我们就可以输入指令进行一些操作
:set nu | 显示行号 |
:w | 保存 |
:q | 退出 |
:wq | 保存并退出vim编辑器 |
q! | 强制退出,不保存修改 |
/w | 搜索“w” 按n/N 正向重复/反向重复 |
?w | 反向搜索“w” |
:%s/hello/你好/g | 全文替换 不加/g,则只替换每行第一个 |
对正则表达式来说,它是以行为单位查找匹配的内容。每一行只要找到第一个匹配那么就可以判断这一行就是匹配的,没有必要继续向后查找了。如果我们需要将一行中的每一个匹配都替换,可以在指令后加/g
常见问题
1、提示存在交换文件
目的是防止多个用户同时编辑一个文件
什么是交换文件:当一个文件正在被编辑的时侯,
会生成一个临时文件,命名方式是 .原文件名.swp,是隐藏文件如果没有正常退出编辑,如非正常关机 ,必须删除交换文件,才能编辑。
2、屏幕被锁
在Windows环境下大家已经习惯了使用Ctrl+s保存文档,但是在Linux环境下Ctrl+s是锁屏。如果是因为Ctrl+s锁屏那么可以使用Ctrl+q解锁,然后继续操作。
更多推荐
22-06-24 西安 linux(01) linux环境搭建、常用命令、vim编辑
发布评论