day01-Linux基础
计算机简介
概述
电子计算机, 电脑, PC, Computer, 就是由 软件 + 硬件组成的 电子设备.
组成
计算机硬件
-
CPU(运算器, 控制器)
-
存储器(内存, 外存)
-
输入设备
-
输出设备
计算机软件
-
系统软件: 充当 用户 和 计算机硬件之间的 桥梁的.
-
PC端: windows, Linux, Mac
-
移动端: Android, 鸿蒙, IOS
-
应用软件: 完成某些功能的.
总结
用户 操作 操作系统, 由操作系统 操作计算机硬件 来干活.
Linux简介
概述
它是在服务器端应用比较多的一款操作系统, 相对更加的稳定一点.
日志主要是往磁盘中写的, 只会占用少量的内存, 相对更加稳定.
作者
-
林纳斯·托瓦兹
吉祥物
-
企鹅
特点
-
开源, 免费, 安全, 稳定
Linux的内核下载地址
Linux的发行版介绍
组成
-
Linux的发行版 = Linux内核 + 系统库 + 系统软件
常见的发行版:
-
Ubantu: 乌班图, 界面做的比较好, 适合小白入门.
-
RedHat: 小红帽, IBM公司的产品, 收费的.
-
CentOS: IBM公司的产品, 可以理解为 小红帽的 阉割版.
-
中标麒麟, 红旗: 国产的.
虚拟化软件介绍
概述
虚拟化软件 = 可以帮我们"买"电脑的软件, 即: 通过软件模拟硬件, 并可以安装真实的操作系统.
常用的虚拟化软件
Vmware: Vmware17, 16, 15均可.
Virtual Box: 了解即可, Oracle公司的.
Vmware软件具体使用
下载
官网: VMware by Broadcom - Cloud Computing for the Enterprise
直接下载地址: https://www.vmware.com/cn/products/workstation-pro.html
安装
傻瓜式安装, 下一步下一步即可.
安装路径要合法, 不要出现中文, 空格特殊符号等.
验证是否安装成功
卸载
-
去控制面板卸载.
2. 记得用 CCleaner 清理注册表.
挂载虚拟机
手动安装(了解即可)
虚拟机可以自己手动安装, 详见 安装文档, 一步步安装即可.
但是对于初学者来讲, 有点难度,
挂载虚拟机(掌握)
方式1: 直接双击 *.vmx 即可
方式2: 通过 Vmware软件, 进行挂载
FinalShell软件连接虚拟机
前提:需要在你电脑上先安装FinalShell这个软件.
配置FinalShell连接Linux虚拟机的流程图
具体的配置如下
修改Vmware软件的 虚拟网络编辑器
修改Windows系统的 VMNet8网卡的信息
配置FinalShell软件的参数
首次连接成功后建议执行如下语句:
systemctl stop NetworkManager systemctl disable NetworkManager systemctl restart network
扩展_Linux的快照
概述/作用
-
快照是一种故障恢复手段, 类似于: 玩儿单机游戏的存档操作, 下次还可以读档, 然后接着往下玩儿.
快照的制作
关闭虚拟机, 注意: 开机状态也可以拍摄快照, 只不过文件较大, 不推荐.
恢复到指定快照
关于快照的管理
-
快照最好做到 勤拍勤删.
-
快照, 如非必要, 一般不建议超过3个.
Linux的目录结构介绍
概述
-
windows系统属于 森系结构(森林结构), 每个盘符都可以看做是一棵树.
-
Linux系统属于 树状结构, 根目录为: /, 所有的目录都是它的子级.
树状结构(特点)介绍
-
有 且只能有 1个根节点.
-
每个节点都可以有任意多个子节点及1个父节点, 根节点除外(它只有子节点).
-
没有子节点的节点称之为: 叶子节点.
Linux常用目录介绍
-
bin: 里边存放的是 Linux的 基础命令.
-
sbin: 里边存放的是 Linux的 管理类(系统类)命令.
-
etc: 里边放的是Linux的配置信息(配置文件等)
-
home: 存放普通账号信息的目录.
-
root: 存放root账号相关信息的目录, root账号 = 超级管理员(超管)账号
Linux的命令格式介绍
命令格式
# Linux命令也叫Shell命令, 脚本命令. Linux的Shell本身就是一门脚本语言. # 命令格式如下, 这里的中括号表示: 可选的意思. command [-options] [parameter] 命令名 [-选项] [参数]
Linux命令之ls命令
# ls命令介绍, 来源于 list单词, 即: 查看当前目录的所有子级(注意: 不包括子级的子级) # ls命令格式 ls [-a -l -h] [路径] # all(所有), line(行), human(人性化...) # 示例 ls # 等价于: ls ./ 即: 查看当前目录下的子级(不包括隐藏的) ls /root # 查看指定路径的子级 ls -a # 查看当前路径下所有的子级(包括隐藏) ls -l # 以行的方式查看当前路径下的子级(不包括隐藏), 可以简写为: ll ls -la # 等价于: ls -al, 即: 以行的方式查看当前路径下的子级(包括隐藏) ls -lah # 以行的方式, 人性化的展示当前路径下的子级(包括隐藏) ll /root # 等价于: ls -l /root
Linux命令之pwd命令
# pwd命令, 来源于: print word directory, 打印工作目录, 即: 当前在哪个路径下. pwd # 当前当前的工作目录, 大白话解释: 当前在哪个目录.
Linux命令之cd命令
# cd命令, 来源于: change directory, 改变目录, 切换目录. cd 文件夹路径 # 切换到指定的文件夹路径下. # 几种特殊写法. cd ~ # 回家, root账号 => /root, 其它账号 => /home/账号名 cd - # 在最近的两个目录间做切换 cd .. # 返回上级路径 cd ../.. # 返回上上级路径 cd # 回家, 等价于 cd ~ cd ./ # 切换到当前目录, 无意义, 看看即可. 即: ./代表当前目录 # 绝对路径 和 相对路径介绍 绝对路径: 固定的, 写四的路径, 以 根目录开头, 例如: /root/1.txt 相对路径: 直接写, 或者 ./开头即可, 例如: cat 1.txt 等价于 cat ./1.txt
Linux命令之mkdir
# mkdir命令, 来源于: make directory, 创建文件夹的. # 格式 mkdir [-p] 文件夹路径 # 示例 mkdir aa # 在当前目录下创建aa文件夹 mkdir /root/aa # 在root目录下创建文件夹aa mkdir /aa/bb/cc # 创建多级目录, 前提: /aa/bb必须存在, 否则报错. mkdir -p /aa/bb/cc # 创建多级目录.
Linux文件操作命令
# touch, 创建文件的, 任意文件均可, 只不过没有内容. # 格式 touch 文件的路径(相对路径, 绝对路径均可) # 示例 touch 1.txt 2.txt 3.avi /root/aa/hg.txt abc.jpg # cat, 来源于 catch, 表示查看文件内容的. # 一次性看所有, 如果文件内容过大, 会翻页(即: 只保留最后1页) # 格式 cat 文件路径 # 示例 cat anaconda-ks.cfg # more, 可以分页查看文件的内容. more 文件路径 # 按b(back, 上一页), d(down, 下一页), q(quit, 退出), 回车下一行 # cp, 来源于 copy, 表示拷贝文件(夹). cp [-r] 数据源路径 目的地路径 # mv, 来源于move, 表示: 剪切 # 同时可以用于重命名: mv 1.txt 2.txt => 将1.txt改名为2.txt mv 数据源路径 目的地路径 # rm, 来源于 remove, 表示: 删除文件, 文件夹(包括其子级) rm -rf 文件或者文件夹的路径 # -r: recursive(递归), -f: force(强制) rm -rf /* # "坐牢命令", 要慎重.
Linux命令-查找相关
which 命令名 # 查看这个命令(可执行文件)的路径 find 路径 -name'文件名' # 根据文件名, 查找指定的文件 find 路径 -size 大小 # 根据文件大小, 查找指定的文件
Linux命令-grep和管道符
# grep 过滤命令, 从文件中筛选出符合条件的行 grep [-n]关键字 文件路径 # 去文件中找到所有有关键字的行, -n表示显示行号 (base) root@node1:~/day01# grep python 1.txt hello python world python matplotlib seabon (base) root@node1:~/day01# grep -n python 1.txt 1:hello python world 3:python matplotlib seabon # | 管道命令, 即:把前面命令的执行结果, 当作后面命令的数据源来处理, 类似于流水线 (base) root@node1:~/day01# cat 1.txt | grep -n hello 1:hello python world 2:hello panda mysql linux 5:hello world hello (base) root@node1:~/day01# cat 1.txt | grep -n hello wc grep: wc: 没有那个文件或目录 (base) root@node1:~/day01# cat 1.txt | grep -n hello | wc 3 10 67
Linux命令-echo, `, tail和重定向
# 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] 文件路径 # 动态查看python.log文件的最后100行的内容, 一般用于查看: 日志信息 tail -100f python.log # head 查看文件头几行的内容 head [-n] 文件路径
Linux编辑文件命令-vi
# vi(visual Interface) 和 vim命令, 都是编辑文件的, 类似于: windows系统记事本. # 它们的操作都是一样的, 区别在于: 是否会高亮显示内容. vi不会, vim会. # 大白话: vi => windows的普通记事本. vim => windows高级记事本, 例如: sublime # step1: 打开文件 vi 文件名 或者 vim 文件名 # 例如: vim 1.txt # step2: 进入到编辑模式(默认是命令模式) 按下字母 i(insert: 插入) # step3: 正常的编辑文件即可. 该怎么改就怎么改. # step4: 退出编辑模式, 进入到命令模式 按下键盘的 esc 键 # step5: 保存退出即可 :wq # write and quit, 保存并退出 :q # quti, 退出不保存, 前提: 你没修改文件. :q! # 强制退出不保存, 适用于: 修改了文件内容, 但是最后又不想保存的.
Linux命令-关机命令
# 关机命令 shutdown -h now # 马上关机 shutdown -h 10 # 10分钟后关机 shutdown -c # 取消shutdown # 重启命令 reboot