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
安装
傻瓜式安装, 下一步下一步即可.
安装路径要合法, 不要出现中文, 空格特殊符号等.
验证是否安装成功
卸载
- 去控制面板卸载.
- 记得用 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