day01 Linux

day01 Linux

第一章 Linux的概述

第一节 Linux是什么

Linux 英文解释为 Linux is not Unix

Linux是Linus Torvolds于1991年开发的一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

(注:POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准)

Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE

第二节 Linux的使用场景

  1. 作为服务器操作系统是目前Linux应用最广泛的领域
  2. 类似Windows作为桌面应用系统,新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平,完全可以作为一种集办公应用、 多媒体应用、网络应用等多方面功能于一体的图形界面操作系统。
  3. 作为各种嵌入式设备的操作系统,例如机顶盒、移动电话、智能家居设备等等,在移动电话领域的第一大操作系统的Android就是基于Linux内核的
  4. 应用在超级计算机中作为操作系统, 在TOP500超级电脑列表采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。

第三节 怎么下载Linux系统镜像

centos下载地址:

网易镜像:

http://mirrors.163.com/centos/6/isos/

http://mirrors.163.com/centos/7/isos/x86_64/

搜狐镜像:

http://mirrors.sohu.com/centos/6/isos/

http://mirrors.sohu.com/centos/7/isos/x86_64/

当然,在我们发的资料中已经有老师给你们下载好的现成的Linux系统的镜像

第四节 Linux系统的分类

1. 按照市场需求分
  • 桌面版:类似于Windows的,有图形化界面的操作系统。不成熟
  • 服务器版:没有图形化界面,使用命令行(CLI, Command Line Interface)进行操作的。企业里通常会使用服务器版的
2. 按照原生程度分
  • 内核版:Linus领导的开发小组,维护的内核版本。
  • 发行版:一些企业、社区在内核的基础上,增加一些功能、软件,然后重新发行的版本

在这里插入图片描述

第二章 Liunx的文件和目录结构

第一节 目录结构预览

1. 查看目录结构

在这里插入图片描述

2. 目录结构列表

在这里插入图片描述

第二节 目录结构中各个目录的介绍

  1. “/bin”: bin是Binary的缩写,这个目录存放着最经常使用的命令
  2. “/sbin”: s表示Super User,这里存放的是系统管理员使用的系统管理程序
  3. “/home”: 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  4. “/root”: 该目录为系统管理员,也称作超级权限者的用户主目录。
  5. “/lib”: 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  6. “/lost+found”: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  7. “/etc”: 所有的系统管理所需要的配置文件和子目录。
  8. “/usr”: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
  9. “/proc”: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  10. “/srv”: service缩写,该目录存放一些服务启动之后需要提取的数据。
  11. “/sys”: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。(内核)
  12. “/tmp”: 这个目录是用来存放一些临时文件的。
  13. “/dev”: Device(设备)的缩写,类似windows的设备管理器,把所有的硬件用文件的形式存储。
  14. “/media”: linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。CentOS6 就在/media下,CentOS7换目录了/run/media/root/media
  15. “/mnt”: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  16. “/opt”: 这是给主机额外安装软件所摆放的目录。比如你安装JDK、Tomcat则就可以放到这个目录下。默认是空的。
  17. “/usr/local”: 这是另一个给主机额外安装软件所摆放的目录.一般是通过编译源码方式安装的程序。
  18. “/var”: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  19. “/boot”: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

第三章 Liunx常用命令

第一节 常用基本命令

1. 帮助文档
1.1 man (manual 查看帮助手册)

例如man ls是查看ls相关的文档手册

1.2 --help (提示使用方法)

例如ls --help可以提示ls命令的相关使用方法

2. 日期时间类
2.1 date: 以不同的格式获取日期时间
  1. date +%Y-%m-%d

  2. date +%Y-%m-%d' '%H:%M:%S

  3. date +%F' '%T

2.2 cal:查看日历

cal -y

3. 清除屏幕
3.1 命令: clear 或者 reset
3.2 快捷键: ctrl + L
4. 查看ip配置

ifconfig

5. 查看命令历史

history命令可以查看所写过的命令历史

6. 关机重启
命令作用
sync将内存数据保存到硬盘上
poweroff关机
reboot重启
7. 下载文件

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
8. 常用快捷键
按键作用
Ctrl+l清屏
Ctrl+c强制终止程序
Ctrl+Insert复制
Shift+Insert粘贴
Ctrl+s锁屏
Ctrl+q解除锁屏
tab自动补全

第二节 文件目录命令

1 切换目录命令(change directory)
  1. cd ..: 返回上级目录
  2. cd /: 返回到 / 目录
  3. cd ~:返回家目录,如果是root用户则返回/root,如果是普通用户则返回/home/普通用户目录
  4. cd 目录绝对路径: 通过绝对路径切换到指定目录,可以借助tab键提示目录名
  5. cd 目录相对路径: 通过相对路径切换到指定目录
  6. cd -:切换到上一次操作所在的目录
2 打印当前目录的绝对路径

pwd命令: 此命令打印当前目录的绝对路径,pwd的全称是:print wroking directory打印工作目录,工作目录就是用户当前所在的目录

3 列出目录中的文件
  1. ls: 列出录中的文件名列表
    在这里插入图片描述

  2. ls -l可以简写成ll: 列出当前目录中的文件列表,包含文件的详细信息(其中文件大写用字节表示)
    在这里插入图片描述

  3. h参数:ll -h 将文件大小使用kb显示
    在这里插入图片描述

  4. a参数: ll -ah显示目录中的所有文件,包含隐藏文件。注意: a和h都是参数,他俩的顺序可以换

  5. ll 某个目录的绝对路径或者某个目录的相对路径: 列出指定目录下的文件详情列表

  6. R参数: ll -R递归查看某个目录以及其子孙后代目录中的所有文件

  7. ll -ltr: 逆序列出最近修改过的文件

4 创建和删除目录
  1. mkdir 目录路径:创建新目录,例如mkdir /usr/local/tomcat,表示在/usr/local中创建tomcat目录,但是前提是/root/usr/local目录已存在
  2. mkdir -p 目录路径: 创建新目录,可以创建多级目录,例如mkdir -p /root/aa/bb/cc,表示在/root目录中先创建aa目录,然后在aa目录中创建bb目录,在bb目录中创建cc目录
  3. rmdir 目录路径: 删除一个目录,当然:该命令只能删除一个空目录
5 创建和删除文件
  1. touch 文件路径: 新创建一个文件
  2. rm 文件路径: 删除指定文件,会询问是否删除
  3. f参数: rm -f 文件路径: 删除文件,不会询问是否删除
  4. r参数:递归删除,rm -rf 非空目录路径:递归删除非空目录
6 移动文件或目录
  1. mv 要移动的文件或目录路径 目标路径: 将要移动的文件移动到目标路径
  2. mv 旧文件或目录名 新文件或目录名: 对文件进行重命名
7 复制文件或目录
  1. cp 要复制的文件 目标路径: 将要复制的文件复制到目标路径
  2. r参数: cp -r 要复制的目录 目标路径: 将目录以及目录中的所有内容都复制到目标路径
  3. 强制覆盖的复制: 如果目标目录中已经有了该文件,那么就采用强制覆盖的复制,例如\cp -rf a /test表示将a复制到/test目录中,并且进行覆盖
8 查看文件
8.1 cat命令
  1. cat 文件路径:查看轻量级的文本文件
  2. cat 文件1路径 文件2路径: 连接查看多个文件
  3. cat 文件1 > 文件2:将文件1的内容覆盖文件2的内容
  4. cat 文件1 >> 文件2:将在文件2的内容后面追加文件1的内容
8.2 more命令

more 文件路径:查看较长的文件,可以使用空格键向下翻页,使用回车键向下翻行,使用q退出查看,使用Ctrl + F向下滚动一屏,使用Ctrl + B返回上一屏

8.3 less命令

less 文件路径:查看较长的文件,功能比more强大,可以使用PgUpPgDn向上和向下翻页,可以使用/字符串向下搜索字符串,使用?字符串向上搜索字符串,使用n正向重复前一个搜索(与/和?搜索有关),使用N反向重复前一个搜索

8.4 tail命令
  1. tail -数字 文件路径: 查看指定文件的末尾多少行
  2. tail -数字 f 文件路径: 查看文件末尾多少行,可进行堵塞,文件有新内容增加到文件中,立刻可以显示,适合查看Tomcat的运行日志
9 打印信息

相当于Java中的日志打印,例如echo $path打印path环境变量信息

10 查找文件或目录

find命令是用于在某个范围内查找文件或者目录,它的用法是find 查找范围 参数 表达式,例如:
在这里插入图片描述

这次查询表示的意思是:
在这里插入图片描述

11 基于索引查找文件或者目录
11.1 什么是索引

建立索引可以极大提升查询的速度。为什么会有这么显著的效果呢?我们拿查字典来举个例子。

  • 没有索引:从正文第一页开始翻,在每一页中检查有没有自己要找的字。在最差的情况下需要逐页翻到字典的最后一页,这样做速度非常慢。
  • 基于索引:字典正文前的检字表就是正文内容的索引。先从检字表里快速找到那个字,这里没有这个字的详细信息,只有这个字所在的页码。我们根据这个页码就可以直接到正文中直接翻到那一页,这样速度就非常快了。
11.2 locate命令的原理

在这里插入图片描述

系统启动时把每一个目录、每一个文件的完整路径保存到索引库中。使用locate命令搜索关键词时,就使用关键词查询索引库,把匹配的路径字符串返回。

而新建的文件或目录不会被系统把路径存入索引库,那么使用locate命令就搜索不到。此时使用updatedb命令更新一下索引库就行了。

11.3 locate命令的使用
  1. locate 关键字:全文搜索与关键字相关的文件或者目录
  2. 新建文件之后使用updatedb更新索引库,然后再搜索
12 grep
12.1 管道筛选

grep配合进行管道筛选,例如ll /etc | grep .cfg表示筛选/etc目录中包含.cfg的文件,对于管道筛选而言|前面的表示数据源(需要从数据源中筛选),| grep后面表示筛选条件

12.2 在文本文件中根据关键字匹配行
12.2.1 基本用法

grep 参数 关键字 被搜索的文件:
在这里插入图片描述

上述语句表示在当前目录的content.txt文件中搜索包含Spring的所有行

12.2.2 参数
  1. n表示在搜索结果中显示行号:
    在这里插入图片描述

  2. v表示返回不匹配关键字的那些行
    在这里插入图片描述

13 压缩和解压
13.1 gz格式的压缩文件

在Linux系统环境中,很多程序安装包都是以tar包的形式提供下载的:
在这里插入图片描述

13.1.1 压缩
  • 语法:tar -zcvf 压缩包 文件1 文件2 ...

  • 参数:

    • z:指定压缩算法为gzip(可选)
    • c:压缩后要创建压缩文件(必须)
    • v:在压缩过程中列出文件列表(可选)
    • f:指定压缩包文件名称(必须)。后边跟参数值:压缩包名称

例如tar -zcvf demo.tar.gz *.txt表示将当前目录中的所有txt文件压缩成demo.tar.gz

13.1.2 解压
  • 语法:tar -zxvf 压缩包 -C 解压位置
  • 参数:
    • z: 表示使用gzip算法解压(可选)
    • x:extract, 调用解压命令,执行解压操作(必须)
    • v:在解压缩过程中列出文件列表(可选)
    • f:指定要解压的文件名称(必须)。后边跟参数值:压缩包名称
    • C:指定解压的位置(可以不写)
      • 如果写参数C:就需要指定解压的位置,必须是已经存在的文件夹
      • 如果不写参数C:要解压到当前文件夹里

例如tar -zxvf demo.tar.gz表示将demo.tar.gz文件解压到当前目录;tar -zxvf demo.tar.gz -C /root/app表示将demo.tar.gz解压到/root/app目录中

13.2 zip格式的压缩文件

Linux中一般不会使用zip格式的压缩文件,但是如果需要,我们也有命令对zip格式的压缩文件进行解压、以及将文件压缩成zip格式

13.2.1 压缩

zip demo.zip *.txt表示将当前目录中的所有txt文件压缩到demo.zip

13.2.2 解压

unzip demo.zip表示将demo.zip解压到当前目录

第三节 文件编辑

1. Linux的文件编辑器

vim是Linux中重要的文本编辑器,我们使用vim可以在Linux中编辑文件,vim可以看做是之前vi编辑器的升级版本

2. 文件编辑过程中的三种模式

在这里插入图片描述

一般模式(无法编辑):通过按键控制VIM工作

编辑模式(可以编辑无法保存):可以自由输入

指令模式(可以执行保存、查找等操作):通过执行指令完成一些特殊操作

3. 一般模式下的按键操作

vim 要编辑的文件路径可以进入到一般模式,此时我们无法自由编辑文件,但是可以进行整行的复制、粘贴、删除

  • yy复制光标所在行
  • p在下方粘贴一行
  • dd删除光标所在行
  • u撤销前一步操作
  • Ctrl + r重做刚刚撤销的操作
  • r 替换光标所在位置的一个字符,第一步:按一下r键,第二步:输入新的字符 (了解)
  • gg将光标移动到第一行的开头
  • G将光标移动到最后一行的开头
  • 行数G将光标移动到指定行的开头
4. 进入编辑模式

因为一般模式下我们无法自由编辑内容,所以需要进入编辑模式来进行文件的编辑,进入编辑模式的方式有如下一些:

按键大小写 说明光标动作
i小写不动,就在当前位置,开始输入
I大写移动到行的开头,开始输入
a小写光标向后移动一格,然后开始输入
A大写光标移动到行的末尾,然后开始输入
o小写先在光标所在行的下面插入空行 然后把光标移动到空行的开头,再开始输入

在编辑模式下我们可以进行自由编辑,如果想回退到普通模式进行操作,则需要按Esc按键,编辑模式下我们无法进行查找、保存等等操作,需要进入指令模式才能完成。而进入指令模式需要从一般模式进入,所以需要先Esc退回一般模式

5. 指令模式下的操作
5.1 进入指令模式
5.1.1 进入特殊指令操作的指令模式

在一般模式下输入英文的:,其实就是同时按Shift:就可以看到文档最下方出现了一个:,并且光标也出现在了:后面,就表示进入了指令模式,此时我们就可以输入指令进行一些操作

5.1.2 进入用于全文搜索的指令模式

在一般模式下输入/,可以进入用于全文搜索的指令模式

5.2 在全文搜索的指令模式下进行搜索
5.2.1 搜索的具体步骤
  1. /的光标处输入搜索关键字,然后按回车按钮进行搜索,搜索出来匹配关键字部分的内容,会高亮显示
  2. 遍历匹配内容: 输入n向下遍历查找,输入N向上遍历查找
  3. 取消高亮显示: :noh
5.3 指令模式下常用的指令操作
5.3.1 显示行号

set nu指令可以显示文本的行号

在这里插入图片描述

5.3.2 保存已编辑的内容

w指令可以保存已编辑的内容
在这里插入图片描述

5.3.3 退出vim编辑器

q指令可以退出vim编辑,但是当部分修改还没有保存,那么会看到下面的提示:
在这里插入图片描述

当我们想要放弃对文件的修改,不保存直接退出就使用:q! 来代替q进行退出

5.3.4 保存当前编辑并退出

wq指令可以先保存当前编辑的内容,然后再退出vim编辑器

5.3.5 全文替换
  1. 准备文本内容
TIP

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

Oh,hello tom!Do you think this is a good time for me to say hello to Lily?

执行替换:将hello替换成hi:

先冒号进入指令模式

%s/hello/hi,替换后的效果是:
在这里插入图片描述

这时我们看到每一行只有第一个匹配的内容被替换了,后面的没有被替换。这是因为对正则表达式来说,它是以行为单位查找匹配的内容。每一行只要找到第一个匹配那么就可以判断这一行就是匹配的,没有必要继续向后查找了。如果我们需要将一行中的每一个匹配都替换,可以在指令后加/g

6. 常见的问题
6.1 提示存在交换文件
6.1.1 错误示例

在这里插入图片描述

6.1.2 错误原因

vim在打开一个文件的时候会同时创建一个临时文件,命名方式是“.原文件名.swp”,这就是所谓的交换文件。而当vim正常退出时,这个交换文件会被删除。所以如果正常操作我们是看不到这个提示界面的。****

而之所以会出现上面的提示,是因为当前的vim命令在创建新的交换文件之前就已经检测到了已存在的交换文件

再往前推理一步,为什么会有交换文件残留?

  • 可能原因1:其他窗口正在使用vim打开同一个文件
  • 可能原因2:非正常关机等原因导致vim没有正常退出
6.1.3 解决方法

先根据最下面的提示输入Q退出,然后检查是否在其他窗口已经用vim打开了这个文件:

  • 是:继续在这个vim中编辑文件。
  • 否:删除交换文件,重新编辑。
6.2 屏幕被锁

在Windows环境下大家已经习惯了使用Ctrl+s保存文档,但是在Linux环境下Ctrl+s是锁屏。如果是因为Ctrl+s锁屏那么可以使用Ctrl+q解锁

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值