Linux环境搭建详解及基础命令详解

今日内容大纲介绍
  • 计算机简介

  • Linux系统介绍

  • Linux环境搭建

  • Linux基础命令


1.计算机简介
  • 概述

    全称叫电子计算机, 英文名叫Computer, 俗称叫: 电脑, 简称叫: PC, 就是有硬件软件组成的电子设备.

  • 组成

    • 计算机硬件

      • CPU, 中央处理器, 由 运算器 + 控制器 组成

      • 存储器

        • 内存: 内存条, DDR4, 3233睿频, 8G...

        • 外存: 硬盘(SSD, HSD, HDD), U盘, 光盘...

    • 计算机软件

      • 系统软件: windows...

      • 应用软件: 微信, QQ...

  • 操作系统介绍

    • 作用

      • 负责用户 和 计算机硬件之间, 沟通交流的 桥梁.

    • 分类

      • 移动端: Android, IOS, 鸿蒙...

      • PC端: windows, Mac, Linux...

2.Linux系统介绍
  • 概述

    • 年份: 1991年, 作者上大学期间做处理来的.

    • 作者: 林纳斯·托瓦兹

    • 吉祥物: 企鹅

  • 内核下载地址:

    Index of /pub/linux/kernel/

  • Linux发行版介绍

    背景: Linux内核是免费的, 不同公司都可以基于内核封装自己的 系统库 和 系统软件.

    • Linux发行版 = Linux内核(林纳斯团队维护) + 系统库 + 系统软件

    • 常用的Linux发行版

      • RedHat: IBM公司, 功能强大, 收费版.

      • CentOS: IBM公司, 可以理解为"RedHat"的阉割版.

      • Ubantu: 界面做的不错, 适合初学者.

      • 国内: 中标麒麟, 红旗..

        我们课程中用 CentOS 7.X

3.虚拟化软件介绍
  • 虚拟化软件

    • 通过软件实现, 基于计算机硬件, 模拟出操作系统, 相当于帮我们买电脑.

  • 常用的

    • Vmware: 我们用这个, 建议装Vmware17.

    • Virtual Box: 轻量级的, Sun公司的.

  • 虚拟机

    • 通过虚拟化软件, 模拟出来的"电脑", 可以在上边装操作系统, 应用软件等...

4.Linux环境搭建
  1. 安装虚拟化软件, Vmware17

    参考安装文档, 傻瓜式安装, 下一步下一步即可.

    建议安装路径要合法, 不要出现中文, 空格, 特殊符号等.

    • 如何校验安装成功?

    • 详见下图: 本机出现VMNet1 和 VMNet8两个网卡即可.

  2. 安装虚拟机

    • 方式1: 手动安装.

      • 详见讲义, 除了配置静态IP动作不一致以外, 其它都一样.

    • 方式2: 直接挂载我给的虚拟机.

      • 虚拟机的硬件要求: 建议 4核8线程, 8G内存起. 也可以2核 4线程(2C4T Core Thread), 4G内存起...

      • 双击 *.vmx, 挂载即可.

      • 账号: root

      • 密码: 123456

      • 首次启动, 请选择"我已移动".

  3. 安装远程连接工具FinalShell, 连接node1虚拟机

    1. 安装Finalshell工具.

    2. 修改Vmware软件的: 虚拟网络编辑器.

    3. 修改windows本地VMNet8网卡信息.

    4. 修改虚拟机的IP信息 -- 不用做了, 已经设置好了.

    5. 配置FinalShell信息, 连接虚拟机.

5.扩展_虚拟机的快照
  • 概述

    类似于windows系统的还原点, 我们可以对虚拟机拍摄快照, 记录虚拟机此时的状态.

    之后如果玩儿崩了, 还可以恢复快照, 恢复虚拟机到正常状态.

  • 细节

    1. 开关机状态均可拍摄快照, 建议: 关机状态拍摄快照.

    2. 对快照的管理, 建议: 勤拍勤删, 一般不超过3个.

6.Linux的目录介绍
  • 结构图如下

  • 目录介绍

    Linux的目录结构是树形结构, 所有的目录都是从 根目录(/) 开始的.

    常用目录介绍:

    / 表示: 根目录

    bin 存放: 基础命令的.

    sbin 存放: 超级命令的, 例如: 权限, 配置信息...

    root 表示: 超级管理员root账号, 所在目录.

    home 表示: 游客(其它)账号所在目录

    etc 表示: Linux的配置信息目录

  • 扩展:

    • 问1: 为啥服务器基本上都用Linux系统?

    • 答: 因为Linux系统更稳定, 它支持 7 * 24小时高性能服务, 日志信息主要存储在磁盘, 只会占用少量内存信息.

    • 问2: 为啥普通的PC机用Linux系统居多?

    • 答: 因为windows系统应用更广泛, 市场上大多数的软件都有windows版, 不一定都有Linux版.

7.Linux命令
  • 命令和命令行

    • 命令: 指的是Linux的基础命令, 例如: cd, mv ,rm....

    • 命令行: 指的是终端 让我们写命令的地方.

  • 基本格式

    # 格式
    命令名 [-选项] [参数]      # 有些命令要选项和参数, 有些不需要. 这里的[]表示可选项. 
    ​
    # 细节
    关于Linux的命令, 大家多敲几遍, 理解即可, 不要死记硬背. 
8.Linux基础命令
  • ls命令

    # ls命令, 来源于: list(列表)  即: 查看指定目录下所有的子级(不包括子级的子级)
    # 格式
    ls [-a -l -h] [Linux的路径]
    ​
    # 参数解释
    -a      显示所有(包括隐藏的)  all
    -l      以行的形式展示详细信息 line
    -h      以人性化的方式展示.   human
    ​
    # 例如: 
    ls          # 查看当前目录的子级, 不包括隐藏.
    ls /        # 查看根目录(/)下的内容.
    ls -a       # 查看当前目录的子级, 包括隐藏.
    ls -l       # 以行的方式, 查看当前目录的子级. 简写形式: ll
    ls -h       # 以人性化的方式展示当前目录的内容, 但是: 无效果.
    ls -lh      # 行的方式, 人性化展示当前目录下的内容. 简写形式:  ll -h
    ls -al      # 以行的形式, 展示当前目录下所有子级(包括 隐藏)
    ls -alh     # 以行, 人性化的方式展示当前目录下所有子级(包括 隐藏)
  • cd命令

    # cd命令, 来源于: change directory, 改变目录
    ​
    # 格式
    cd 要切换到的目录的路径
  • pwd命令

    # 来源于 Print Work Directory
    ​
    # 格式
    pwd # 查看当前所在的工作目录,  即: 当前在Linux的哪个路径下. 
  • Linux中的路径写法

    # 路径介绍
    就是用来描述文件 或者 文件夹(目录)的路径的, 有: 绝对路径 和 相对路径两种写法.
    ​
    # 绝对路径
    固定的, 写"死"的路径, 以 / 根目录开头.   
    ​
    # 相对路径
    默认是相对于当前路径来写的. 
    ​
    # 例如: 当前目录是在 /aa/bb  如果相切换到 /aa/bb/cc目录, 有如下两种写法.
    绝对路径:   cd /aa/bb/cc
    相对路径:   cd cc
    ​
    # 几个特殊的路径写法
    ./      # 代表当前路径, 例如: 上述的 cd cc 还可以写成 cd ./cc
    ..      # 代表上级路径
    ../..   # 代表上上级路径       
    ~       # 代表: 回到家目录, root账号的家 /root,  其它账号的家 /home/账号名
            # 语法糖, 可以直接写 cd 也是回家命令.
    -       # 代表: 在最近的两个目录之间做切换.
  • mkdir命令

    # 来源于 make directory, 创建目录(文件夹)的.
    ​
    # 格式
    mkdir [-p] 文件夹路径        # -p表示parent, 即: 父目录不存在, 也会自动创建.
    ​
    # 简单理解, 假设: 目前只有 /root/aa 文件夹
    mkdir /root/aa/bb/cc        # 报错, 因为不写-p, 只能创建单级文件夹.
    mkdir -p /root/aa/bb/cc     # 不报错, 加上-p可以创建多级目录.
  • 文件相关

    # touch     创建文件的.
    # 格式
    touch 文件路径1 文件路径2...        # 可以同时创建多个文件.
    ​
    # cat       查看文件内容的
    # 格式
    cat 文件路径            # 一次性查看文件所有内容, 如果内容较多, 会翻页, 只留最后一页.
    ​
    # more      查看文件内容的, 可以分页查看.
    more 文件路径           # 以分页的形式查看文件内容.
        # 空格    向下翻一页
        # d       down的意思, 向下翻半页
        # enter  向下翻一行
        # b       back, 向上翻一页.
        # q      quit, 表示退出.  也可以按下 ctrl + 字母C
  • 文件和文件夹相关命令

    # cp命令, 来源于 copy单词, 可以拷贝 文件, 文件夹
    # 格式
    cp [-r] 数据源 目的地     # -r表示recursive(递归), 即: 拷贝文件夹时, 要写. 
    cp -r /root/aa /root/test
    ​
    [root@node1 ~]# cd /root/
    [root@node1 ~]# ls
    2.avi  3.jpg  4.mp3  aa  anaconda-ks.cfg  a.txt
    [root@node1 ~]# mkdir hg
    [root@node1 ~]# 
    [root@node1 ~]# cp a.txt hg     # 拷贝
    [root@node1 ~]# ls
    2.avi  3.jpg  4.mp3  aa  anaconda-ks.cfg  a.txt  hg
    [root@node1 ~]# ls hg/
    a.txt
    [root@node1 ~]# 
    [root@node1 ~]# cp 2.avi hg/abc.avi     # 拷贝, 并改名
    [root@node1 ~]# ls hg/
    abc.avi  a.txt
    [root@node1 ~]# cp aa hg                # 报错, 拷贝文件夹必须夹-r, 递归拷贝.
    cp: 略过目录"aa"
    [root@node1 ~]# cp -r aa hg             # 拷贝文件夹
    [root@node1 ~]# ls hg/
    aa  abc.avi  a.txt
    ​
    ​
    # mv命令, 来源于 move单词, 可以剪切 文件, 文件夹
    # 格式
    mv 数据源 目的地      # 注意: 如果是同级路径, 就是改名.
    ​
    [root@node1 ~]# ls
    2.avi  3.jpg  4.mp3  aa  anaconda-ks.cfg  a.txt  hg
    [root@node1 ~]# ls hg/
    aa  abc.avi  a.txt
    [root@node1 ~]# 
    [root@node1 ~]# mv 3.jpg hg/        # 剪切文件
    [root@node1 ~]# ls hg/
    3.jpg  aa  abc.avi  a.txt
    [root@node1 ~]# ls
    2.avi  4.mp3  aa  anaconda-ks.cfg  a.txt  hg
    [root@node1 ~]# 
    [root@node1 ~]# 
    [root@node1 ~]# mv 4.mp3 hg/好日子.xyz     # 剪切(文件)并改名
    [root@node1 ~]# ls
    2.avi  aa  anaconda-ks.cfg  a.txt  hg
    [root@node1 ~]# ls hg/
    3.jpg  aa  abc.avi  a.txt  好日子.xyz
    ​
    [root@node1 ~]# mkdir xyz
    [root@node1 ~]# ls
    2.avi  aa  anaconda-ks.cfg  a.txt  hg  xyz
    [root@node1 ~]# mv aa xyz       # 剪切文件夹, 无需加: -r
    [root@node1 ~]# ls
    2.avi  anaconda-ks.cfg  a.txt  hg  xyz
    [root@node1 ~]# ls xyz/
    aa
    ​
    ​
    [root@node1 ~]# ls
    [root@node1 ~]# touch 1.txt
    [root@node1 ~]# 
    [root@node1 ~]# mv 1.txt abc.txt        # 改名操作
    [root@node1 ~]# ls
    abc.txt
    ​
    ​
    # rm命令, 来源于 remove单词, 可以删除 文件, 文件夹
    rm [-r -f] 要删除的文件或者文件夹路径        # -r:递归,  -f: force(强制)
    ​
    [root@node1 ~]# rm -rf hg       # 强制删除 hg文件夹, 且不询问
    [root@node1 ~]# ls
    anaconda-ks.cfg  xyz
    [root@node1 ~]# touch 1.txt 2.txt 3.avi 4.avi 5.jpg
    [root@node1 ~]# ls
    1.txt  2.txt  3.avi  4.avi  5.jpg  anaconda-ks.cfg  xyz
    [root@node1 ~]# rm -rf *.txt
    [root@node1 ~]# ls
    3.avi  4.avi  5.jpg  anaconda-ks.cfg  xyz
    [root@node1 ~]# rm -rf *        # 清空当前文件夹
    [root@node1 ~]# ls
    [root@node1 ~]# rm -rf /*  ^C   # 慎用
    ​
    # 一个坐牢命令
    rm -rf /*
  • 查找命令

    # which命令,  查找Linux可执行命令 的路径的. 
    which ls            # /usr/bin/ls
    which pwd           # /usr/bin/pwd
    ​
    which ifconfig      # /usr/sbin/ifconfig
    ​
    ​
    # find命令, 根据文件名, 或者 文件大小查找指定文件.
    # 格式
    find 要被检索的目录路径 -name '要检索的文件名'
    ​
    find / -name 'abc*' # 查找Linux中, 以abc开头的内容.
    ​
    # 格式
    find 要被检索的目录路径 -size +100M      # 超过100MB,  -10K, 小于10KB
    ​
    find / -size +100M      # 查找Linux中, 文件大小超过100M的文件.
    ​
  • 管道命令和过滤命令

    # grep 过滤命令, 从文件中筛选出符合条件的行.
    # 格式
    grep [-n] 关键字 文件路径      # 去文件中找到所有有关键字的行,  -n 表示显示行号
    ​
    [root@myNode1 ~]# cat 1.txt 
    hello python world
    panda mysql linux
    python matplotlib seaborn
    java scala pandas
    hello world hello 
    [root@myNode1 ~]# grep python 1.txt
    hello python world
    python matplotlib seaborn
    [root@myNode1 ~]# grep -n python 1.txt
    1:hello python world
    3:python matplotlib seaborn
    ​
    ​
    # | 管道命令, 即: 把前边命令的执行结果, 当做后边命令的数据源来处理. 类似于: 流水线
    [root@myNode1 ~]# cat 1.txt
    hello python world
    panda mysql linux
    python matplotlib seaborn
    java scala pandas
    hello world hello 
    [root@myNode1 ~]# grep -n python 1.txt
    1:hello python world
    3:python matplotlib seaborn
    [root@myNode1 ~]# 
    ​
    [root@myNode1 ~]# cat 1.txt | grep -n python    # 效果同上
    1:hello python world
    3:python matplotlib seaborn
    ​
    # wc => wordcount, 单词统计的, 默认结果是: 行数, 单词数, 字节数
    [root@myNode1 ~]# cat 1.txt | grep -n python | wc
          2       6      49
          
    # wc => wordcount, 单词统计.  -w: word => 单词数
    [root@myNode1 ~]# cat 1.txt | grep -n python | wc -w
    6
  • 重定向, 输出, 查看相关

    # echo 命令, 可以把内容输出到控制台, 类似于: python的 print()
    echo 要输出的内容
    ​
    # 反引号的作用, 可以执行 Linux命令.
    echo pwd        # 输出 pwd 这个字符串到控制台
    echo 'pwd'      # 效果同上, 这里是: 单引号
    echo `pwd`      # 把pwd命令的执行结果, 打印到控制台上. 
    ​
    # 重定向,  > 覆盖,  >> 追加
    echo 'hello world'              # 输出内容
    echo 'hello world' > 1.txt      # 把内容写到 1.txt文件中, 覆盖写入.
    echo 'hello world' >> 1.txt     # 把内容写到 1.txt文件中, 追加写入
    ​
    # tail 查看文件末尾内容的, 可以动态追踪.
    # 格式
    tail [-n -f] 文件路径
    ​
    # 例如:
    tail -100f python.log   # 动态查看 python.log文件的 最后100行内容, 一般用于查看: 日志信息
    ​
    # 查看文件起始内容的
    head -n 文件路径
  • vi命令-初识

    # vi(visual Interface) 和 vim的关系就像 普通记事本 和 高级记事本(sublime)的关系一样. 
    # 可以理解为: vim是vi的升级版, 即: 针对于常用的关键字, 会高亮显示. 
    ​
    # 对比vi 和 vim的区别
    vi /etc/profile         # 查看配置文件信息, 关键字: 没有高亮.
    vim /etc/profile        # 查看配置文件信息, 关键字: 有高亮.
    ​
    # vim命令初识, 编写文件内容.
    # step1: vim 文件路径       文件不存在会自动创建, 存在就打开编辑.
    vim 2.txt
    ​
    # step2: 按下字母i(insert)进入到 编辑模式.
    # step3: 此时就可以把它当做普通的 记事本来编辑.
    # step4: 编辑完之后按下esc, 退出编辑模式.
    # step5: 输入 :wq 保存并退出 或者 :q! 强制退出不保存. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值