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的,有图形化界面的操作系统。不成熟 ·服务器版:没有图形化界面,使用命令行进行操作的。企业里通常会使用服务 器版的
3.2.按照原生程度分
·内核版: Lius领导的开发小组,维护的内核版本。(官方版) ·发行版:一些企业、社区在内核的基础上,增加一些功能、软件,然后重新发行的版本(比如安卓)redhat、centos、ubuntu
4、虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
物理机是真实存在的电脑。 虚拟机的硬件从物理机分过来
5、虚拟机软件:(用来创建虚拟机) 1.VirtualBox:开源免费,但是安装和卸载很麻烦 2.VMWare Workstation:安装和使用很简单,但是收费
我们选择安装VMWare软件(12以上的),安装好以后创建虚拟机,前提是要电脑开启虚拟化支持
下面这三步骤简直了,多的一批,看着都烦,,,要不是跟着老师一步一步装,又有文档对照。甚至看老师回放,老师亲自指导才安装好,简直不敢想。。步骤太多了,这谁记得住,真劝退人啊!
- 创建虚拟机
- 开启虚拟机安装CentOS操作系统
- 设置静态IP
6、安装和使用远程访问工具
这个安装和配置倒是不很麻烦。直接用老师资料里发的,开箱即用,这大概也是培训的好处了。
远程连接的软件: 1.远程文件传输的软件:xftp
2.远程连接软件(执行命令行操作):xshell
Linux的文件和目录结构
接下来才是今天学习的重点,咱来敲各种各样的命令吧。向老师说的那样,不用去记,以后用的多了你不想记也记得住,以后要是不用,那更没有记得必要了,用的时候再回来看看
在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
linux没有盘符,只有目录结构 /root 超级管理员的用户主目录 /home 普通用户的主目录 /etc ?linux的系统配置文件 /user ?很多应用程序和文件都在这个目录 /opt 装软件(针对解压就装好了的软件) /user/local装软件 (需要点下一步的软件)
1、常用快捷键
按键 | 作用 |
---|
Ctrl+l | 清屏 | Ctrl+c | 强制终止程序 | Ctrl+Insert | 复制 | Shift+Insert | 粘贴 | Ctrl+s | 锁屏 | Ctrl+q | 解除锁屏 | tab | 自动补全 |
tab一下,tab俩下。补全目录
2.基本命令
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配置 ---------- history 查看命令历史 -----
命令 | 作用 |
---|
sync | 将内存中数据保存到磁盘 | poweroff | 关机 | reboot | 重启 |
关机: 挂起:电脑重启后会保留关机前的状态
------------- wget 下载文件
使用 -P 参数可以指定目标目录
wget -P /root https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz
3、文件目录命令
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 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 输出变量,$是全局
12.查找文件或目录 在指定范围内或者整个Linux中搜索你想搜索的内容 1.全盘扫描
语法:find 查找范围 参数 表达式 find /root/app3 -name "*.txt"???在某个范围查找文件或者目录
2.基于索引搜索
建立索引可以极大提升查询的速度
系统启动时把每一个目录、每一个文件的完整路径保存到索引库中。使用locate命令搜索关键词时,就使用关键词查询索引库,把匹配的路径字符串返回。
而新建的文件或目录不会被系统把路径存入索引库,那么使用locate命令就搜索不到。此时使用updatedb命令更新一下索引库就行了
语法:locate 关键字
locate pwd?查找和pwd相关的所有文件
全文搜索与关键字相关的文件或者目录
updatedb -v? 显示更新的详细过程
新建文件之后使用updatedb 更新索引库,然后再搜索
13.grep? 13.1 grep管道筛选
管道:Liux中的管道的作用是将管道左边的结果交给管道右边的命令进行下一步处理!
grep 配合进行管道筛选,例如ll /etc | grep .cfg 表示筛选/etc 目录中包含.cfg 的文件 ,对于管道筛选而言| 前面的表示数据源(需要从数据源中筛选),| grep 后面表示筛选条件
13.2 grep在文本文件中根据关键字匹配行
语法:grep 参数 关键字 被搜索的文件
1.n 参数,在搜索结果中显示行号
grep -n s a.txt ,表示在a.txt文件中搜索关键字s
2. v 参数 ,返回不匹配关键字的那些行(反转)
grep -v s a.txt
14.打包和压缩
在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:指定压缩包文件名称(必须)。后边跟参数值:压缩包名称
?15.解包和解压
解压语法: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 解压到当前目录
文件编辑-使用命令
vim 是之前vi编辑器的升级版本 vim a.txt 处于一般模式,一般模式不能编辑文件
?一般模式下的按键操作:
进入到一般模式,此时我们无法自由编辑文件,但是可以进行整行的复制、粘贴、删除
给我逗死了,按gg/G有反应,按yy怎么没反应呢?就疯狂按,后来意识到自己只复制了没有用p粘贴,笑死我自己了
yy 复制行 p 粘贴 dd 删除行 u 撤销 ctrl+r 反撤销 r 没用 gg 光标移动到第一行 G ?光标移动到最后一行 行数 G ?光标移动到指定行
进入编辑模式
因为一般模式下我们无法自由编辑内容,所以需要进入编辑模式来进行文件的编辑
关于怎么从一般模式进入到编辑模式? i:进入到编辑模式后,光标位置不动 (insert) I: a: A: o: 进入编辑模式后光标到下一行(other)
esc 退出到一般模式
编辑模式下我们无法进行查找、保存等等操作,需要进入指令模式才能完成。 而进入指令模式需要从一般模式进入,所以需要先`Esc`退回一般模式
命令模式(底行模式) 英文模式
英文的: 在一般模式下输入英文的: ,其实就是同时按Shift 和: 就可以看到文档最下方出现了一个: ,并且光标也出现在了: 后面,就表示进入了指令模式,此时我们就可以输入指令进行一些操作
:set nu 显示文本的行号 :w 保存 :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解锁,然后继续操作。
|