A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

还我两万五

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

操作系统概述

目标

- 了解 操作系统 的作用

1.1 操作系统(Operation System, OS)

操作系统作为接口的示意图:





没有安装操作系统的计算机, 通常被称为 裸机

- 如果想在 裸机 上运行自己所编写的程序, 就必须用机器语言书写程序
- 如果计算机上安装了操作系统, 就可以在操作系统上安装支持的高级语言环境,用于高级语言开发

1.2 不同应用利于的主流操作系统

- 桌面操作系统
- 服务器操作系统
- 嵌入式操作系统
- 移动设备操作系统

1.2.1 桌面操作系统

- Window 系列
  - 用户群体大
- macOS
  - 细节处理的更好, 没有windows软件丰富, 价格高
- Linux
  - 应用软件少

1.2.2 服务器操作系统

- Linux
  - 安全、稳定、免费
  - 占有率高
- Windows Server
  - 付费
  - 占有率低
-

1.2.3 嵌入式操作系统

- Linux

1.2.4 移动设备操作系统

- IOS
- Android (基于Linux)

1.2 发展史



- linux 创始人: 林纳斯 托瓦兹
- linux 诞生于: 1991年 作者上大学期间
- 诞生原因:
  - 因为创始人 经常需要浏览新闻和处理邮件, 为了方便 读写 和 下载, 所以开发了 文件系统, 当时 21岁.
  - linux是开源免费
  - 后来经过全世界网友的支持, 现在能够兼容多种硬件

1.3 内核

- 内核(kernel) 是系统的心脏, 是运行程序和管理磁盘和打印机等硬件设备的核心程序.
- Linux内核版本
  - 稳定版
    - 具有工业级强度, 可以广泛的应用和部署.
  - 开发版
    - 由于要试验各种解决方案, 所以变化很快
- 内核源码网址: http:www.kernet.ort
  - 所有来自全世界的对linux源码的修改最终都会汇总到这个网站, 由 Linus 领导的开源社区对其进行甄别和修改, 最终决定是否进入到 LInux主线内核源码中

1.4 发行版



- redhat:目前,全球最大的linux发行厂商,功能全面、稳定。
  - Redhat 被 IBM 收购!
- ubuntu:目前,是linux桌面操作系统做的最好的。
- centos:免费版的redhat,centos 基于 redhat 发行版基础之上,再重新编译发布的版本。
  - 目前 centos 已经被 Redhat 公司收购,但是依然免费



2 系统安装

目标

- 1: 使用 VM 虚拟机 模拟 电脑硬件
- 2: 在虚拟的 电脑上 安装 centOS 操作系统( linux 发行版)
- 3: 为了让别人能够访问操作, 配置 网络环境
- 4:  使用远程客户端 CRT 和 WinSCP 操作 linux操作系统
- 5:   防止操作系统 意外损坏, 及时备份(快照)



2.1 VM虚拟机

2.1.1 概述

- 虚拟机 (Virtual Machine)  指通过 软件模拟 的具有完整硬件系统功能的. 运行在一个完全隔离环境中的完整计算机系统
  - 虚拟系统通过生成现有操作系统的全新虚拟镜像, 具有真实操作系统完全一样的功能.
  - 进入虚拟系统后, 所有操作都是在这个独立全新的独立的虚拟系统里面进行, 可以独立安装运行软件, 保存数据, 不会对真正的系统产生任何影响
  - 而且现有在系统与虚拟镜像之间灵活切换的一类操作系统

2.1.2 安装虚拟机

详情请参考 资料 的word文档!

2.1.3 配置网卡

目标

- 了解桥接 和 NAT 的 联网原理
- 配置虚拟机的网卡信息

a. 网络原理



桥接原理





因为 虚拟机的linux系统的ip地址是固定的, 更换路由器后导致无法使用, 所以 不推荐使用



---



NAT原理

如果宿主电脑可以上网, 内部的虚拟机也可以上网就好了

NAT原理本质上就是 虚拟机实现了交换机的功能, linux系统的IP地址就不会随宿主电脑的ip地址更改而更改





推荐使用这种方式



b. 确保 VMnet8 已经启动



c. 设置VMnet8的ip地址

网关: 192.168.100.1



d. 确保所有关于VMWare的服务都开启





e 配置虚拟机的网卡





- 核查 配置子网ip和子网掩码



- 再次确认





2.2 centos是linux的发行版

2.2.1 目标

- 在虚拟机上 安装centos系统 模拟 机房的一台服务器

2.2.2 路径

- 第一步: 理解安装步骤
- 第二步: 使用VM虚拟机 准备 硬件环境
- 第三步: 在硬件环境 安装CentOs镜像
- 第四步: 理解centos的文件和目录

2.2.4 实现

2.2.4.1 理解安装步骤



2.2.4.2 使用VM虚拟机 准备 硬件环境

- 请参考资料中 word 文档

2.2.4.3 在硬件环境 安装CentOs镜像

- 请参考资料中 word 文档



2.2.4.4 配置网卡信息

目标

- 能够让 宿主机 和 新装的centOS 相互通信

第一步: 了解 网卡 和ip地址的概念

- 网卡是一个专门负责网络通讯的硬件设备
- ip地址是设置在网卡上的地址信息



- 我们可以把 电脑 比作 手机, 网卡 相当于 手机卡槽, ip地址 相当于 手机号
-
- IP地址
  - 每台联网的电脑上都有IP地址, 是保证电脑之间正常通讯的重要设置
    注意: 每台电脑的IP地址不能相同, 否则 会出现IP地址冲突, 并且没有办法正常通讯

第二步: 查看网卡信息

- ifconfig 和 ping

  序号          命令                             对应英文                                           作用               
  01          ifconfig                       configuration <br />a newwork interface        查看/配置计算机当前的网卡信息  
  02          ping ip地址                      ping                                           检测到目标ip地址 的连接是否正常
  03          service network restart        重启网卡服务                                                          

第三步: 通过 setup 命令设置网卡新

    # 开始设置网卡信息
    setup

















重启网卡服务



测试能否上网, 注意: 前提是 宿主机必须能够上网





2.2.4.5 理解centos的文件和目录



- windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘
- Linux 没有盘符 这个概念, 只有一个根目录 /, 所有文件都在它下面
- Linux主要目录 速查表



/lsdt:  found系统修复用的

/bin:   二进制命令所在的目录

/boot :  系统引导程序所需要的文件目录,引导系统开机

/dev :设备软件目录,磁盘,光驱,

/etc: 系统配置,启动程序

/home:普通用户的家,目录默认数据存放目录

/lib: 启动系统和运行命令所需的共享库文件和内核模块存放

/mnt:临时挂载储存设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用

/opt:额外的应用软件包

/proc:操作系统运行时,进程信息和内核信息存放在这里                       

/root:Linux超级权限用户root的家目录

/sbin:和管理系统相关的命令,【超级管理员用】

/tmp:临时文件目录,这个目录被当作回收站使用

/usr:用户或系统软件应用程序目录

/var:存放系统日志的目录

- 注意:一般不要 操作 非自己创建的目录和文件,否则可能导致服务器崩溃。



2.4 远程连接工具





2.4.1 secureCRT软件

- secureCRT是Windows上 登录 服务器主机的软件
- 主要是 通过命令行操作服务器

a.安装

- 双击 下一步 就可以了

b.配置连接 linux系统









c. 修改主题和字体大小







d. 常用快捷键

    tab键:命令或者路径提示及补全;
   
    ctrl+c:放弃当前输入,终止当前任务或程序;
   
    ctrl+l:清屏;
   
    ctrl+shift+c:复制;
   
    ctrl+shift+v:粘贴;
   
    alt+b :打开connec窗口;
   
    alt+1/2/3/4/5… :切换会话窗口



2.4.2 winSCP

- 它的主要功能就是在本地与远程计算机间 进行 文件 上传和下载
- 使用 鼠标拖拽 即可完成



2.5 快照(备份)

2.5.1 目标

- 快照就是 备份系统, 防止意外损坏, 降低损失

2.5.2 备份系统

a. 右键目标centos系统 -> 快照 -> 快照管理器

b. 拍摄快照



2.5.3 恢复到快照状态

a. 右键目标centos系统 -> 快照 -> 恢复到指定快照即可



3 常用命令

目标

- 理解学习linux终端命令的原因
- 学习技巧

01.学习Linux终端命令的原因

- Linux刚面世时并没有图形界面, 所有的操作全靠命令完成, 如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等
- 在职场中,大量的 服务器维护工作 都是在 远程 通过SSH客户端 来完成的, 并没有图形界面, 所有的维护工作都需要通过命令来完成
- 在职场中, 作为后端程序员, 必须要或多或少的掌握一些Linux常用的终端命令
- Linux发行版本的命令大概有200多个, 但是常用的命令只有10多个而已

学习终端命令的技巧:

- 不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了。
- 不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以



Linux终端命令格式

目标

- 了解终端命令格式
- 常用Linux命令体验
- 知道如何查阅终端命令帮助信息

01.终端命令格式

    command [-options] [parameter]

说明:

- command : 命令名, 相应功能的英文单词或单词的缩写
- [-options] : 选项, 可用来对命令进行控制, 也可以省略
- parameter  : 传给命令的参数, 可以是 零个、一个 或者 多个



1.1 常用Linux命令的基本使用

  序号          命令                 对应英文                          作用           
  01          ls                 list                          查看当前目录下的内容   
  02          pwd                print working drectory        查看当前所在文件夹   
  03          cd [目录名]           change directory              切换文件夹        
  04          touch [文件名]        touch                         如果文件不存在, 新建文件
  05          mkdir [目录名]        make directory                创建目录         
  06          rm [文件名]           remove                        删除指定的文件名     
  07          clear              clear                         清屏           



02.查阅命令帮助信息(知道)

因为一个命令有很多可选项, 死记硬背肯定不行, 所以需要借助手册查阅.

2.1 --help 帮助信息

    command --help

说明:

- 显示 command 命令的帮助信息



缺点: 虽然可以查询命令的帮助信息, 但是没有提供 翻页、搜索功能.



2.2 man 手册

    man command

说明:

- 查询command命令的使用手册
  man 时 manual 的缩写, 是Linux提供的一个手册, 包含了绝大部分的命令、函数的详细使用说明.

使用 man 时的操作键:

  操作键           功能        
  空格键           显示手册的下一屏  
  Enter键        一次滚动首页也得一行
  b             回滚一屏      
  f             前滚一屏      
  q             退出        
  /word         搜索word字符串

提醒:

- 现阶段只需要 知道 通过以下两种方式可以查询命令的帮助信息
- 先学习 常用命令 及 常用参数 的使用即可, 工作中如果遇到问题可以借助 网络搜索



文件和目录常用命令

目标

- 查看目录内容
  - ls
- 切换目录
  - cd
- 创建和删除操作
  - touch
  - rm
  - mkdir
- 拷贝和移动文件
  - cp
  - mv
- 查看文件内容
  - cat
  - less
  - grep
- 其他
  - echo
  - 重定向 > 和 >>
  - 管道 |



01.查看目录内容

1.1 终端使用技巧

1> 自动补全

- 在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab键
- 如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令



2> 曾经使用过的命令

- 使用 上 / 下 光标键可以在曾经使用过的命令之间来回切换
- 如果想要退出选择, 并且不想执行当前选中的命令, 可以按 ctrl + c



1.2 ls命令说明

- ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一
- 因为需要编辑服务器上的文件, 所以需要先确认指定目录下 是否存在

linux 下文件和目录的特点

- linux文件 或者 目录 名称最长可以 256 个字符
- 以 . 开头的文件为隐藏文件, 需要用 -a 参数才能显示
- . 代表当前目录
- .. 代表上一级目录



演练目标:

    1 创建文件 01.txt
    2 创建隐藏文件 02.txt
    3 罗列隐藏文件和非隐藏文件



1.3 ls常用选项

如果 只使用ls命令 就只能看到当前目录下 非隐藏 文件。

如果想增强功能,就需要学习更多的选项

  选项          含义                     
  -a          显示指定目录下所有子目录与文件, 包含隐藏文件
  -l          以列表方式显示文件的详细信息         
  -h          配合 -l 以人性化的方式显示文件大小   



演练目标:

    1 切换到 /usr/tmp 清空内容
    2 创建隐藏文件 非隐藏文件 目录
    3 查看文件内容 (缺点: 隐藏文件看不到)
    4 查看所有内容 (既包含隐藏, 也包含非隐藏)
    5 查看目录内容的详细信息(查看文件类型、权限、大小等 缺点:文件大小没有单位)
    6 简化合并 查看目录内容的详细信息



计算机中文件大小的表示方式(科普)

  单温          英文                  含义                              
  字节          B(byte)             在计算机中作为一个数字单元,一般为8位二进制数         
  千           K(Kibibyte)         1KB = 1024 B, 千字节( 1024 = 2的10次方)
  兆           M(Mebibyte)         1MB = 1024 KB, 百万字节              
  千兆          G(Gigabytee)        1GB = 1024 MB, 十亿字节, 千兆字节        
  太           T(Terabyte)         1 TB = 1024 GB, 万亿字节, 太字节        
  拍           P(Petabyte)         1 PB = 1024 PB, 百万亿字节, 拍字节      



1.4 ls 和通配符的使用

准备工作

    # 切换到临时目录(先使用, 稍候讲解)
    cd /usr/tmp
   
    # 清空目录内容(先使用, 稍候讲解)
    rm -rf *
   
    # 创建文件
    touch a23.txt 11.txt 111.txt 112.txt 123.txt 223.txt 323.txt 423.txt 523.txt
   
    # 查看目录内容
    ls

  通配符         含义              
  *           代表 任意个数 的字符     
  ?           代表任意一个字符, 且只能是一个



需求1:

    1 查看以 1 开头的文件或目录
    2 查看以 3.txt 结尾的 文件或目录
    3 查看含有3的文件列表
    4 查看第二个字符是2的文件



  通配符          含义              
  [abc]        匹配a、b、c中任意一个   
  [a-f]        匹配从a到f范围内的任意一个字符



需求2:

    1 查看 第一个字符是 1到5, 以23.txt结尾 的 目录或文件名



02.切换目录

2.1 cd

- cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一
  注意: linux的所有 目录 和 文件名 都是大小写敏感的

  命令           含义            
  cd 目录        切换到指定目录下      
  cd ..        切换到上级目录      
  cd -         可以在最近的两次目录之间切换

        需求:

    1 查看当前所在目录
    2 切换到 /usr/local
    3 切换到 上一级目录 /usr
    4 后退到上一次访问的目录中



2.2 相对路径和绝对路径

2.2.1 目标 : 通过 路径 找到 目标

2.2.2 如何分步骤实现:

        第一步: 使用相对路径定位目标

        第二步: 使用绝对路径定位目标

2.2.3 第一步: 使用相对路径定位目标

1. 特征:  相对路径 输入路径时, 最前面不是以 "/" 开始的, 表示相对 当前目录 所在的位置
2. 缺点:  参照工作目录 发生变化 相对路径也要发生变化



    需求1: 当前工作目录是 /usr, 使用相对路径 切换到 /usr/tmp 目录下
   
    需求2: 当前工作目录是 /root, 使用相对路径 切换到 /usr/tmp 目录下







2.2.4 第二步: 使用绝对路径定位目标

1. 特征: 绝对路径 在输入路径时, 最前面是以 /  开始的, 表示 从 根目录 开始的具体目录位置
2. 优点: 定位准确, 不会因为 工作目录变化 而变化



    需求1: 当前工作目录是 /usr, 使用相对路径 切换到 /usr/tmp 目录下
   
    需求2: 当前工作目录是 /root, 使用相对路径 切换到 /usr/tmp 目录下



2.2.5 小总结

- 相对路径 在输入路径时, 最前面不是以 / 开始的 , 表示相对 当前目录 所在的目录位置
- 绝对路径 在输入路径时, 最前面是以 /  开始的, 表示 从 根目录 开始的具体目录位置



03.创建和删除操作

3.1 touch

3.1.1 目标

- 通过 touch  命令 创建文件

3.1.2 路径

- 第一步: 创建一个空白文件
- 第二步: 修改文件的末次修改日期

3.1.3 实现

3.1.3.1 第一步: 创建一个空白文件

    touch 不存在的文件

3.1.3.2 第二步: 修改文件的末次访问时间

    touch 存在的文件

3.1.4 小结

通过 touch 文件名 创建文件 和 修改文件的末次访问时间



3.2 mkdir

3.2.1 目标:

- 通过 mkdir 命令 创建目录

3.2.2 路径:

- 第一步: 创建 没有层级关系的目录
- 第二步: 创建 有层级关系的目录

3.2.3 实现

3.2.3.1 第一步: 创建 没有层级关系的目录

    mkdir 目录名

3.2.3.2 第二步: 创建 有层级关系 的目录

    mkdir -p 目录1/目录2/目录3

- 创建一个新的目录

  选项          英文            含义      
  -p          parent        可以递归创建目录

3.2.4 小结

通过 mkdir -p 目录名 命令 创建目录

注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名



3.3 rm

3.3.1 目标

通过 rm 文件/目录 命令实现删除 文件和目录的功能, rm 对应的英文是 remove 含义: 删除

3.3.2 路径

- 第一步: 删除文件 (有提示)
- 第二步: 删除文件 (取消提示)
- 第三步:  删除目录
- 第四步: rm 结合 通配符

3.3.3 实现

3.3.3.1 第一步: 删除文件 (有提示)

    rm 文件

3.3.3.2 第二步: 删除文件 (取消提示)

    rm -f 文件

  参数          英文                含义                 
  -f          force (强制)        强制删除,忽略不存在的文件, 无需提示

3.3.3.3 第三步:  删除有内容的目录

    rm -rf 目录

  参数          英文                    含义                        
  -r          recursive (递归)        递归地删除目录下的内容, 删除文件夹 时必须加此参数

3.3.3.4 第四步: rm 结合 通配符 * ? [abc][a-z]

    rm -rf *.txt



3.3.4 小结

- 通过 rm -rf 文件/目录 完成删除 文件或目录的功能.
- 注意: 使用 rm 命令要小心, 因为文件删除后不能恢复



04.拷贝和移动文件

  序号          命令                 对应英文        作用            
  01          tree [目录名]         tree        以树状图 列出目录中的内容
  02          cp 源文件 目标文件        copy        复制文件或者目录      
  03          mv 源文件 目标文件        move        移动文件或目录 或者 重命名

4.1 tree (扩展)

4.2.1 目标

- 通过 tree 命令可以以树状图列出文件目录结构.

4.2.2 路径

- 第一步: 以树形结构显示目录中的文件和目录
- 第二步: 只显示 当前目录中的目录
- 第三步: 显示指定的两层

4.2.3 实现

准备工作

    # 创建目录
    mkdir -p /export/aaa/bbb/ccc
   
    # 创建文件
    touch /export/aaa/01.txt /export/aaa/02.txt
    touch /export/aaa/bbb/03.txt /export/aaa/bbb/04.txt
    touch /export/aaa/bbb/ccc/05.txt /export/aaa/bbb/ccc/06.txt



默认没有安装 tree 组件, 需要联网时安装:

    # 安装 tree组件
    yum -y install tree
   
    # 卸载 tree组件
    yum -y remove tree



4.2.3.1 第一步: 以树形结构显示目录中的文件和目录

    tree [目录]

- 如果指定目录, 就显示指定目录的内容
- 如果不指定目录,就显示当前目录的内容

4.2.3.2 第二步: 只显示 当前目录中的目录

    tree -d [目录]

  选项          英文                    含义         
  -d          derictory (目录)        只显示目录, 不显示文件



4.2.3.3 第三步: 显示指定的两层

    tree -L n [目录]

  选项          英文                含义   
  -L          level (层级)        显示几层目录



4.2.4 小结

- 通过 tree 目录 命令可以以树状图列出文件目录结构.



4.2 cp

4.2.1 目标

- 通过 cp 实现复制将指定的 文件 或 目录 复制到 两一个 文件 或 目录中

4.2.2 路径

- 第一步:  备份指定文件
- 第二步: 将文件复制到目录中
- 第三步: 将文件复制到另一个文件中, 实现覆盖效果
- 第四步: 复制目录 到指定 目录中

4.2.3 实现

4.2.3.1 第一步:  备份指定文件

    cp  文件1  备份文件名



4.2.3.2 第二步: 将文件复制到目录中

    cp 文件1 目录/



4.2.3.3 第三步: 将文件复制到另一个文件中, 实现覆盖效果

    cp 文件1 文件2(存在的)



4.2.3.4 第四步: 复制目录 到指定 目录中

    cp -r 目录1/ 目录2/

  命令          英文                    作用         
  -r          recursive (递归)        递归复制目标目录的内容



4.2.4 小结

- cp命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录中



4.3 mv

4.3.1 目标

- 通过mv 命令可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名

4.3.2 路径

- 第一步: 将文件 移动 另一个目录中
- 第二步: 重命名
- 第三步: 将目录移动到 另一个目录中

4.3.3 实现

4.3.3.1 第一步: 将文件 移动 另一个目录中

    mv 文件 目录/



4.3.3.2 第二步: 重命名

    mv 旧文件名 新文件名
   



4.3.3.3 第三步: 将目录移动 到 另一个目录中

    mv 被移动目录 目标目录
   



4.3.4 小结

- mv  可以用来 移动 文件 或 目录, 也可以给 文件或目录重命名



05.查看文件内容

  序号          命令                   对应英文               作用            
  01          cat 文件名              concatenate        查看小文件内容        
  02          less -N 文件名          less               分频 显示大文件内容     
  03          head -n 文件名                             查看文件的前一部分      
  04          tail -n 文件名                             查看文件的最后部分      
  05          grep 搜索文本 文件名        grep               根据关键词, 搜索文本文件内容



准备工作

    # 清空指定目录内容
    cd /export/
    rm -rf *
   
    # 复制 /etc/passwd 文件 到 /export/ 目录中
    cp /etc/passwd /export/
   
    # 复制 /etc/profile 文件 到 /export/ 目录中
    cp /etc/profile /export/
   
    # 罗列目录中内容
    tree /export



5.1 cat

5.1.1 目标

通过 cat 会一次显示所有的内容, 适合 查看内容较少 的文本文件



5.1.2 路径

- 第一步: 显示文件内容
- 第二步: 显示文件内容(显示行号 包含空行)
- 第三步: 显示文件内容(显示行号 排除空行)



5.1.3 实现

5.1.3.1 第一步: 显示文件内容(不显示行号)

    cat 文件名
   



5.1.3.2 第二步: 显示文件内容(显示行号 包含空行)

    cat -n 文件名
   

  参数          英文            含义  
  -n          number        显示行号

- 缺点: 空行也显示行号



5.1.3.3 第三步: 显示文件内容(显示行号 排除空行)

    cat -b 文件名
   

  参数          英文                     含义      
  -b          number-nonblank        非空行 显示行号



- nl 文件名 也可以实现 非空行显示行号的效果

  命令           英文                           含义              
  nl 文件        number lines of files        查看文件内容 且 非空行显示行号



5.1.4 小结

- 通过 cat 文件名 查看 小文件内容





- 准备工作

    # >> 重定向这个命令, 为了课程需要 我们先用, 后面我们会讲
   
    # 将文件 /etc/profile 的内容 追加到 /export/01.txt目录中
    cat /etc/profile >> /export/01.txt
    cat /etc/profile >> /export/01.txt
    cat /etc/profile >> /export/01.txt
    cat /etc/profile >> /export/01.txt
    cat /etc/profile >> /export/01.txt
   

5.2 less

5.2.1 目标

- 通过 less [参数] 文件名  命令可以用于分屏显示文件内容,  每次只显示一页内容
- less 命令适合查看 内容较多 的文本文件



5.2.2 路径

- 第一步 : 分屏显示文件内容
- 第二步 : 根据关键词搜索内容



5.2.3 实现

5.2.3.1 第一步 : 分屏显示文件内容

  命令                 作用              
  less -N 文件名        分屏展示文件内容, 适合 大文件

  参数          英文            含义           
  -N          number        显示文件内容 且 显示行号



使用 more 的操作键:

  操作键            功能        
  空格键            显示手册页的下一屏幕
  Enter 键        一次滚动手册页的一行
  b              回滚一屏      
  f              向前一屏      
  q              退出        
  /word          搜索word字符串



5.2.3.2 第二步: 根据关键词 搜索

    # 根据关键词搜索
    /word
   

  操作键         功能  
  n           向下找
  N           向上找



5.2.4 小结

- less 命令适合查看 内容较多 的文本文件





- 准备工作

    # 准备一个26个字母的文件, 使用 WINscp客户端 上传到 /export/ 目录下
   

5.3 head

5.3.1 目标

- 通过 head 命令查看文档的前几行内容



5.3.2 路径

- 第一步: 查看文件的前5行内容



5.3.3 实现

5.3.3.1 第一步:查看文件的前5行内容

    head -n 数字 文件
   

  参数          英文            含义      
  -n          number        表示显示前几行内容



5.3.4 小结

- 通过 head 命令查看文档的前几行内容



5.4 tail

5.4.1 目标

- 需求: 查看文档(日志)的后几行内容

5.4.2 路径

- 第一步: 查看文档的最后10行内容
- 第二步: 动态显示文档的最后内容,一般用来查看日志
- 第三步: 动态显示文档的最后10行内容

5.4.3 实现

- 第一步: 查看文档的最后10行内容

    tail -10 文件
   



- 第二步: 动态显示文档的最后内容,一般用来查看日志

    tail -f 文件名
   
   



- 第三步: 动态显示文档的最后100行内容

    tail -100f 文件名
   

5.4.4 小结

- 通过 tail -10f 文件 命令 查看文档(日志)的后几行内容



5.5 grep

5.5.1 目标

- 通过 grep 命令 搜索存在 关键字 的行

5.5.2 路径

- 第一步: 搜索 存在关键字 的行
- 第二步: 搜索 存在关键字 的行 且 显示行号
- 第三步: 忽略大小写 搜索 存在关键字 的行
- 第四步: 搜索 不存在关键字 的行
- 第五步:  搜索 以关键字开始 的行 或 以关键字结尾 的行

5.5.3 实现

5.5.3.1 第一步: 搜索 存在关键字 的行

    grep 关键字 文件名
   



5.5.3.2 第二步: 搜索 存在关键字 的行 且 显示行号

    grep -n 关键字 文件名
   

  选项          英文            含义      
  -n          number        显示匹配行和行号



5.5.3.3 第三步: 忽略大小写 搜索 存在关键字 的行

    grep -i 关键字 文件名

  选项          英文                 含义   
  -i          ignore-case        忽略大小写



5.5.3.4 搜索 不存在关键字 的行

    grep -v 关键字 文件名

  选项          英文                  含义            
  -v          invert-match        显示 不包含关键字 的所有行



5.5.3.5 第五步:  搜索 以关键字开始 的行 或 以关键字结尾 的行

    grep 正则 文件名
   

  参数          含义         
  ^a          行首,搜索以a开头的行
  ke$         行尾,搜索以ke结束的行





5.3.4 小结

- 通过 grep 命令 搜索存在 关键字 的行



06 其他

6.1 管道  |



6.1.1 目标

- 通过 命令1 | 命令2 可以将命令1的结果 通过 命令2 作进一步的处理



6.1.2 路径

- 第一步 :  过滤 /etc/ 目录下 以 pro 开头的文件
- 第二步 :  搜索 存在关键字 的行数



6.1.3 实现

第一步 :  过滤 /etc/ 目录下 以 pro 开头的文件

    ls /etc/ | grep ^pro
   



第二步 :  搜索存在关键字的行数

    ls /etc | grep ^pro |  wc -l
   

                           英文            作用               
  命令:  wc [参数] [文件]                      打印文件的行数, 单词数, 字节数
  参数: -l                   line 行        显示 行数            



6.1.4 小结

- 通过 命令1 | 命令2  可以将命令1的结果 通过 命令2 作进一步的处理



6.2 echo 文字内容

- echo string 将字符串输出到控制台 ,  通常回和 重定向 联合使用

    echo hello
   
    # 如果字符串有空格, 为了避免歧义 请增加 双引号 或者 单引号
    echo "hello world"
   



6.3 重定向 > 和 >>



6.2.1 目标

- 默认情况下 命令的结果 输出到 控制台
- 通过 重定向 可以将结果 输出到文件



6.2.2 路径

- 第一步: 将 命令的成功结果 覆盖 指定文件内容
- 第二步: 将 命令的成功结果 追加  指定文件的后面

6.2.3 实现

- 第一步: 将命令的成功结果 覆盖 指定文件内容

    echo 2222 > 01.txt
   

  命令              作用               
  结果 > 文件名        > 表示输出, 会覆盖文件的原有内容



- 第二步: 将命令的成功结果 追加  指定文件的后面

    echo 3333333 >> 01.txt
   

  命令               作用                     
  命令 >> 文件名        >> 表示追加, 会将内容追加到已有文件的末尾



- 第三步: 将 命令的失败结果 追加 指定文件的后面

    cat 不存在的目录  &>>  error.log
   

  命令                作用                    
  命令  &>> 文件        &>> 表示不区分错误类型 通通放到 日志中



6.2.4 小结

- 通过 命令 > 文件  将命令的成功结果 覆盖 指定文件内容
- 通过 命令 >> 文件   将命令的成功结果 追加  指定文件的后面
- 通过 命令 &>> 文件 将 命令的失败结果 追加 指定文件的后面



6.4 &&  和 ||





6.4.1 目标

- 如果 创建 目录 成功,  就提示 创建成功
- 如果 创建 目录 失败,  就提示 创建失败

6.4.2 实现

第一步: 如果 创建 目录 成功,  就提示 创建成功

  命令                作用                  
  命令1 && 命令2        如果 命令1执行成功了, 才执行 命令2

    mkdir -p 正确目录 && echo "提示创建目录成功"
   



第二步: 如果 创建 目录 失败,  就提示 创建失败

  命令                  作用                  
  命令1 \|\| 命令2        如果 命令1 执行失败了, 才执行 命令2

    mkdir 错误目录 || echo "提示创建目录失败"
   



随堂练习

    1 如果创建目录成功, 就切换到指定目录
    2 如果创建文件成功, 就罗列新建文件 所在目录的内容
   



6.4.3 小结:

- 通过 命令1 && 命令2 实现 如果 命令1 执行成功, 就执行 命令2的效果
- 通过 命令1 || 命令2 实现 如果 命令1 执行失败, 就执行 命令2的效果





准备工作

    0 清空/export目录中内容
    cd /export && rm -rf *
   
    # 1 创建目录
    mkdir -p /export/aaa/bbb/ccc/ddd/eee
   
    # 2 创建文件
    touch /export/aaa/bbb/ccc/ddd/eee/01.txt /export/aaa/bbb/ccc/ddd/eee/02.txt
   
    # 3 切换到 /export/aaa/bbb/ccc/ddd/eee/ 目录下 且 查看内容
    # 3.1 cd /export/aaa/bbb/ccc/ddd/eee/ && ll
    # 3.2 软链接(快捷方式)   cd 软链接 && ll
   



6.5 软链接

- 在linux中 文件名 和 内容 是两个文件, 分开的!



- 创建软链接的原理, 如下
  



6.5.1 目标

- 因为 某些文件和目录 的 路径很深, 所以 需要增加 软链接(快捷方式)



6.5.2 实现

语法如下:

  命令                             英文          作用                     
  ln -s  目标文件绝对路径  快捷方式路径        link        给目标文件增加一个软链接, 通俗讲就是快捷方式



6.5.3 小结

- 通过 ln -s 源文件的绝对路径 快捷方式路径 给 目标文件 增加 快捷方式
- 注意: 必须 增加 -s , 否则 就变成了 硬链接(了解), 原理如下

3 个回复

倒序浏览
面对生活的选择,可怕的不是“大环境”,而是我们自己。勇于走出自己的舒适圈,勇于挑战自己,加油……
回复 使用道具 举报
“有人说...学习是为了完善人生,而非享乐人生,追求卓越,成功就会在不经意间追上你……”
回复 使用道具 举报
不要等待机会,而是要创造机会。现在我来了,希望我们都可以坚持,早日用知识达到暴富
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马