第一部分:Linux系统(基础及命令)
Linux操作系统的实操性非常强,纯操作,不适用于日常的办公使用
1.初始Linux
1.1 操作系统概述
1.1.1 了解OS的作用
OS:是计算机软件的一种,主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作,而计算机,如果没有OS,就是一段无法使用的塑料而已;
用户使用OS,OS安排硬件干活;
1.1.2 了解常见的OS
- PC操作系统:Window系统、Linux、MacOS
- 移动设备操作系统: 安卓系统、IOS系统(苹果)、HarmonyOS (华为)
1.2 初始Linux
1.2.1 了解Linux系统的诞生
创始人:林纳斯 托瓦兹
1.2.2 了解什么是Linux内核
Linux系统的组成:Linux系统内核、系统级应用程序两部分组成。
- 内核提供系统最核心的功能,如调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等;
- 系统级应用程序:可以理解为出厂自带程序,可供用户快速上手操作系统,如文件管理器,任务管理器,图片查看,音乐播放等;
使用系统例如:播放音乐、无论用户使用自带音乐播放器或是自行安装的第三方播放器,均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码,音响发声等;
1.2.3 了解常见的Linux发行版
- 内核时Linux系统最核心的所在,系统级应用程序只是锦上添花;
- Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改,并自行集成系统级程序;
- 提供了内核 + 系统级程序的完整封装,称之为Linux发行版;
- 下载内核:可通过:https://www.kernel.org 下载Linux内核
- 任何人都可以封装Linux,目前市面上有非常多的Linux发行版,常用的有(中国公司:deepin、中标麒麟、红旗Linux)、(国外公司:centOS、Ubuntu,…),本课程主要基于centOS进行讲解、辅助讲解Ubuntu系统的相关知识;
1.3 虚拟机介绍
1.3.1 了解什么是虚拟机
- 学习Linux系统,就需要有一个可用的Linux系统;
- 如何获得?将自己电脑重装系统为Linux?不是,Linux系统不适用于日常的办公使用,此时需要借助虚拟机来获得可用的Linux系统环境进行学习;
- 借助虚拟机来获得可用的Linux系统环境进行学习;
- 什么是虚拟机?借助虚拟化技术,可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统,这样,就可以在电脑中,虚拟出一个完整的电脑(虚拟硬件 + 操作系统 = 虚拟机)
1.3.2 了解为什么要使用虚拟机
- 学习Linux系统,需要有Linux系统环境;
- 不能给自己电脑重装系统为Linux(因为Linux系统不适用于日常办公),所以通过虚拟机的形式,得到可以用的Linux系统环境,供后续学习使用;
1.4 VMware WorkStation安装(替换成Oracle VM VirtualBox)
1.4.1 了解VMware WorkStation软件
- 虚拟化技术,通过虚拟化技术,可以虚拟出计算机的硬件,那么如何虚拟呢?可以通过提供虚拟机的软件来获得虚拟机;
- 提供虚拟机的软件:VMware WorkStation Pro
- 下载VMware虚拟机:https://www.vmware.com/cn/products/workstation-pro.html,有试用、有收费的
- 下载vmware—>安装vmware—>安装完成,即可进行使用;
- vmware安装完成,为了确保后续能够正常使用,需要检查一下相关的设置;
- 如何检查安装的vmware设置?
检查内容:虚拟网卡
检查方法:打开windows系统的设置页面—>“网络设置”,找到“高级网络设置”,“更多网络适配器的选项”,然后出现网络连接页面,确保页面中有VMnet1和VMnet8这两个虚拟网卡,若没有这两个虚拟网卡,安装的虚拟机会无法上网,需要卸载重启电脑,重新安装;(快捷打开网络连接页面:windows+R,输入指令“ncpa.cpl”)
1.4.2 完成VMware WorkStation软件的安装
1.5 在VMware上安装Linux
1.5.1 掌握使用VMware安装Linux虚拟机
- 虚拟化软件(VMware)安装完成后,需要在该软件内构建虚拟的硬件,并完成虚拟机的安装操作;
- 下载CentOS操作系统
1)需要下载操作系统的安装文件,本次使用CentOS7.6版本进行学习(CentOS-7-x86_64-DVD-1810.iso);
2)下载链接1:https://vault.centos.org/7.6.1810/isos/x86_64/(/不可缺少)
下载链接2:https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86-DVD-1810.iso - 使用虚拟化软件实现CentOS Linux操作系统的安装部署;
具体实现:
1)双击打开VMware虚拟化软件,页面中出现,“创建新的虚拟机”;
2)点击“创建新的虚拟机”,出现新建虚拟机向导(选择推荐使用:典型),下一步;
3)“安装程序光盘映像文件(iso)(在浏览里面查找下载的centos目录)”,下一步;
4)配置个人账户名(全名、用户名、密码、确认),下一步;
5)给虚拟机起个名称,选择虚拟机的存放位置,下一步;
6)虚拟机的虚拟硬盘设置大小(默认20GB,此次设置为40GB),下一步;
7)页面展示前面步骤信息的汇总,,其中有默认配置数据,可以点击自定义硬件,进行重新配置默认值(内存、处理器–硬件、新CD/DVD(IDE)、网络适配器、USB控制器、声卡、打印机、显示器),创建后开启此虚拟机,点击完成。 - 在VMware中安装CentOS操作系统,打开VMware软件,
1.6 Mac系统Linux环境
1.6.1 掌握使用VMware Fusion 虚拟化软件在MacOS中安装Linux虚拟机
- VMware Fusion:类似于windows中的VMware虚拟化软件
- 下载地址:https://www.vmware.com/cn/products/fusion.html,收费软件;
- 新建发行版虚拟机,具体操作和windows中类似;
1.7 远程连接Linux系统
1.7.1 掌握操作系统的图形化、命令行2种操作模式
- 操作系统(Windos、Linux、MacOS)的使用,有2种使用形式:
1)图形化:使用操作系统(OS)提供的图形化页面,以获得图形化反馈的形式去使用OS;
2)命令行:使用OS提供的各类命令(类似于windows中命令提示符),以获得字符反馈的形式去使用OS;
1.7.2 理解为什么使用命令行操作Linux系统
- 无论是企业开发或个人开发,使用LinuxOS,多数都是使用:命令行;
- Linux从诞生至今,在图形化页面的优化上,并未重点发力,因此Linux操作系统的图形化页面:不好用,不稳定;
- 在开发中,使用命令行形式,效率更高,并且资源占用低,程序运行更稳定;
1.7.3 掌握使用FinalShell软件连接Linux操作系统
- 使用VMware可以得到Linux虚拟机,但在VMware中操作Linux的命令行页面不太方便
1)内容的复制、粘贴跨越VMware不方便;
2)文件的上传、下载跨越VMware不方便;
3)也就是和Linux系统的各类交互,跨越VMware不方便; - 通过使用第三方软件,FinalShell,远程连接到Linux操作系统之上,并通过FinalShell去操作Linux系统;
- 第三方软件:FinalShell;
- FinalShell下载地址:
1)Windows:http://www.hostbuf.com/downloads/finalshell_install.exe
2)Mas:http://www.hostbuf.com/download/finalshell+install.pkg; - 下载完成后双击finalShell打开安装;
- finalShell远程连接到Linux操作系统:
1)打开finalShell软件;
2)打开VMware虚拟机,在VMware虚拟机中登录账户;
3)在登录后的桌面的空白位置,右键鼠标,点击Open Terminal打开终端;
4)输入命令“ifconfig”,回车,发现在ens33对应地方,有个ip地址;
5)回到finalShell软件,点击左上角一个文件夹,其中点击左上角白色小加号,选择SSH连接(Linux),配置Linux系统的连接(常规(名称-CentOS系统、主机-IP地址、端口、备注)、认证(方法-密码、用户名-linux用户名、密码-linux密码)、高级(选择-启用Exec…)),点击确定,在finalShell中就有了Linux系统的连接(centOS系统);
6)双击centOS系统,点击接受并保存,则finalShell已经成功连接到CentOS系统;
7)验证finalShell是否成功连接CentOS系统,在centos中输入和final中输入相同的命令(如,ls命令),判断输入结果是否一样,如果相同,则连接成功;
8)将vmware虚拟机软件最小化,而非关闭;
9)后续对Linux系统的操作可以直接在finalShell中进行;
10)注意:Linux虚拟机如果重启,有可能发生IP改变,如果改变IP需要在finalShell中修改连接的IP地址,后面会实现如何固定IP地址不发生变化;
11)如何在finalShell中修改连接的IP地址?在finalshell中右键点击选中的centos系统,点击编辑,修改主机IP;
1.8 拓展:WSL(Windows Subsystem for Linux)
1.8.1 掌握使用WSL获得Ubuntu系统环境
- WSL:是用于windows系统之上的Linux子系统,其作用是可在windows系统中获得Linux系统环境,并完全直接连接计算机硬件,无序通过虚拟机虚拟硬件;
- WSL是windows10自带功能,需要开启,无序下载(windows系统—>右键点击应用和功能—>点击程序和功能按钮—>点击启用或关闭windows功能—>找到适用于Linux的Windows子系统,勾选,确定,电脑重启);
- 安装WSL操作系统,打开windows应用商店—>搜索Ubuntu,点击获取,安装成功;
- Terminal软件安装:Ubuntu自带的终端窗口软件不太好用,可以使用微软推出的Windows Terminal软件在应用商店中搜索terminal关键字,找到Windows Terminal软件下载并安装;
1.9 扩展:虚拟机快照
1.9.1 掌握虚拟机快照的制作和还原
- VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照,通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态;
- 在VMware Workstation Pro中制作并还原快照(前提:确保虚拟机(推荐虚拟机centos是关机状态)—>右键虚拟机,选中快照(快照管理器)—>拍摄快照—>快照列表中出现一个快照);
- 如何使用快照:首先关闭centos虚拟机—>右键虚拟机,找到快照管理器—>选中制作的快照—>点击,转到按钮,点击是,即可恢复;
2.Linux基础命令(会用)
2.1 Linux的目录结构
2.1.1 掌握Linux系统的目录结构
- Linux的目录结构是一个树形结构;
- Windows系统可以拥有多个盘符,如C盘、D盘、E盘(C:、D:、E:);
- Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面;
2.1.2 掌握Linux系统的路径表达形式
- 在Linux系统中,路径之间的层级关系,使用:/来表示(/usr/local/hello.txt),第一个/:表示根目录;
- 在Windows系统中,路径之间的层级关系,使用:\来表示(D:\local\hello.txt);
2.2 Linux命令入门
2.2.1 Linux命令基础
2.2.1.1 掌握什么是命令
- 命令行:即Linux终端(Terminal),是一种命令提示符页面,以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令;
- 命令:即Linux程序,一个命令就是一个Linux的程序,命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈;
2.2.1.2 掌握Linux命令的基础格式
- 无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options][parameter]
command:命令本身;
-options:可选,非必填,命令的一些选项,可以通过选项控制命令的行为细节;
parameter:可选,非必填,命令的参数,多数用于命令的指向目标等;
注意:用法中的[],表示可选的意思;
例如:
ls -l/home/text,ls是命令本身,-l是选项,/home/text是参数,意思是以列表的形式,显示/home/text目录内的内容;
cp -r test1 test2,cp是命令本身,-r是选项,test1和test2是参数,意思是复制文件夹test1成为test2;
2.2.2 ls命令入门
2.2.2.1 对照图形化页面,快速体验第一个命令ls
ls命令的作用是列出目录下的内容,语法细节如下:
ls [-a -l -h] [Linux路径]
-a -l -h是可选的选项
Linux路径是此命令可选的参数
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容;
2.2.2.2 理解什么是HOME目录,当前工作目录
- 直接输入ls命令,表示列出当前工作目录下的内容,当前工作目录是?
- Linux系统的命令行终端,在启动的时候,默认会加载:
1)当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容;
2)HOME目录:每个Linux操作系统用户在Linux系统的个人账户目录,路径在/home/用户名
- 如,图中的Linux用户是yueyue,其HOME目录是/home/yueyue;
- Windows系统和Linux系统,均设有用户的HOME目录;
2.2.3 ls命令的参数和选项
2.2.3.1 掌握ls命令的参数使用
ls [-a -l -h] [Linux路径]
参数:[Linux路径]
当ls不使用参数,表示列出:当前工作目录的内容,即用户的HOME目录;
当ls使用参数,表示指定一个Linux路径,列出指定路径的内容;
2.2.3.2 掌握ls命令的选项使用
ls [-a -l -h] [Linux路径]
选项: [-a -l -h]
-a选项,表示: all的意思,即列出全部文件(包含隐藏的文件/文件夹);
以.开头的,表示是LInux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏,只有通过-a选项,才能看到这些隐藏的文件/文件夹)
-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息;
ls命令选项的组合使用:语法中的选项是可以组合使用的,ls -l -a、ls -la、ls -al,这三种写法,都是一样的,表示同时应用-l和-a的功能;
-h选项:表示:以易于阅读的形式,列出文件大小单位,如KB、MB、GB,必须要搭配-l一起使用;
2.3 目录切换相关命令(cd/pwd)
2.3.1 掌握cd切换工作目录命令
- 当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录,可通过cd命令,更改当前所在的工作目录;
cd命令来自英文:Change Directory
语法:cd [Linux路径]
cd 命令无需选项,只有参数,表示要切换到哪个目录下;
cd命令直接执行,不写参数,表示回到用户的HOME目录;
2.3.2 掌握pwd展示当前工作目录命令
pwd命令:来查看当前所在的工作目录;
pwd命令来自英文:Print Work Directory
语法:pwd
pwd命令,无选项、无参数、直接输入pwd即可;
2.4 相对路径、绝对路径和特殊路径符
2.4.1 掌握相对路径和绝对路径的概念和写法
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头,如:cd Desktop;
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以开头,如:cd /home/yueyue/Desktop;
2.4.2 掌握几种特殊的路径表示符
特殊路径符:
.:表示当前目录,比如:cd ./Desktop,表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致;
..:表示上一级目录,比如:cd ..,即可切换到上一级目录,cd ../..,切换到上二级的目录;
~:表示HOME目录,比如:cd ~,即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录;
2.5 创建目录命令(mkdir)
2.5.1 掌握通过mkdir命令创建目录(文件夹)
mkdir命令:可以创建新的目录(文件夹)
mkdir来自英文:Make Directory
语法:mkdir [-p] Linux路径
参数必须:表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径即可;
-p选项可选:表示自动创建不存在的父目录,适用于创建连续多层级的目录;
如:相对路径:mkdir yueyue绝对路径:mkdir /home/yueyue/test
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作,涉及到权限问题,HOME外无法成功,后续会讲解权限管控的知识;
2.6 文件操作命令part1(touch、cat、more)
2.6.1 掌握使用touch创建文件
touch命令:创建文件
语法:touch Linux路径
touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可使用;
如:touch test.txt(在当前路径下创建文件test.txt)
2.6.2 掌握使用cat、more查看文件内容
cat命令:查看文件内容;
语法:cat Linux路径
cat命令同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径都可以使用;
如:cat test.txt(查看文件内容)
more命令:查看文件内容,同cat的区别:
1.cat是直接将内容全部显示出来;
2.more支持翻页,如果文件内容过多,可以一页一页的展示;
语法:more Linux路径
同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊符都可以使用;
注意:使用more查看文件内容时,在查看的过程中,通过空格翻页,通过q退出查看;
2.7 文件操作命令part2(cp、mv)
2.7.1 掌握使用cp复制文件、文件夹
cp命令可以用于复制文件\文件夹,cp命令来自英文:copy
语法:cp [-r] 参数1 参数2
-r选项:可选,用于复制文件夹作用,表示递归;
参数1:Linux路径,表示被复制的文件或文件夹;
参数2:Linux路径,表示要复制去的地方;
如:cp test1.txt test2.txt
2.7.2 掌握使用mv移动文件、文件夹
mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move
语法:mv 参数1 参数2
参数1:Linux路径,表示被移动的文件或文件夹;
参数2:LInux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在;
如:mv test.txt Desktop/
2.7.3 掌握使用rm删除文件、文件夹
rm命令:可以用于删除文件、文件夹;
rm命令来自英文:remove
语法:rm [-r -f] 参数1 参数2 ....... 参数N
1.同cp命令一样,-r选项用于删除文件夹;
2.-f表示force,强制删除(不会弹出提示框确认信息)普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不到-f选项;
3.参数1、参数2 ... 参数N表示要删除的文件或文件夹路径,按照空格隔开;rm删除文件、文件夹 - 通配符
rm命令支持通配符*,用来做模糊匹配
符号*:表示通配符,即匹配任意内容(包含空),例如:
test*:表示匹配任何以test开头的内容;
*test:表示匹配任何以test结尾的内容;
*test*:表示匹配任何包含test的内容;
注意:rm是一个危险的命令,特别是在处于root(超级管理员)用户时,请谨慎使用;
2.8 查找命令(which、find)
2.8.1 掌握使用which命令查找命令的程序文件
Linux命令的本体是一个个二进制可执行程序,和windows系统中的.exe文件,是一个意思
which命令,查看所使用的一系列命令的程序文件存放在哪里
语法:which 要查找的命令
如:which cd
2.8.2 掌握使用find使用查找指定文件
1.find命令-按照文件名查找
find 起始路径 -name “被查找文件名”
如:find / -name “hello” 查找根目录下的根据文件名的模式查询指定文件名对应的文件
注意:支持使用通配符*来做模糊查询,符号*表示通配符,即匹配任意内容(包含空),如find / -name “hello*”
2.find命令-按照文件大小查找
语法:find 起始路径 -size +|-n[kMG]
- +、—表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
如:查找小于10KB的文件:find / -size -10k查找大于100MB的文件:find / -size +100M
2.9 grep、wc和管道符
2.9.1 掌握使用grep命令过滤文件内容
grep命令:从文件中通过关键字过滤文件行;
语法:grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号;
参数:关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""将关键字包围起来
参数:文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
如:grep -n "code" test.txt
2.9.2 掌握使用wc命令统计内容数量
wc命令:统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
选项,-c,,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
如:wc -l /test.txt
2.9.3 掌握"|"管道符的概念和应用
管道符:| (只要能产生输出内容的命令都可以和管道符搭配使用)
管道符的含义:将管道符左边命令的结果,作为右便命令的输入
如:cat hello.txt | grep hi(cat hello.txt的输出结果(文件内容),作为右边grep命令的输入(被过滤文件)),将查看hello.txt文件中的内容,作为grep(grep 关键字 文件路径)的文件路径的值(内容),hi作为grep命令的关键字;
2.10 echo和重定向符
2.10.1 掌握使用echo命令输出内容
echo命令:可以使用echo命令在命令行内输出指定内容
语法:echo 输出的内容
1. 无需选项,只有一个参数,表示要输出的内容,复杂内容可以使用""包围
如:echo Hello Linux
2.带有空格或\等特殊符号,建议使用双引号包围,因为不包围的化,空格后很容易被识别为参数2,尽管echo不受影响,但要养成习惯
如:echo "Hello Linux"
2.10.2 掌握反引号`的使用
反引号`(飘号)命令:使用`号包围的内容,会被作为命令执行,而非普通字符;
如:echo `pwd`(输出pwd对应的路径)
2.10.3 掌握tail命令跟踪文件更改
tail命令:使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改;
语法:tail [-f -num] Linux路径
参数:Linux路径,表示被跟踪的文件路径;
选项:-f,表示持续跟踪;
选项:-num,表示查看尾部多少行,不填默认为10行;
2.10.4 掌握重定向符号的使用
>符号:将左侧命令的结果,覆盖写入到符号右侧指定的文件中;
>>符号:将左侧命令的结果,追加写入到符号右侧指定的文件中;
如:echo "Hello Linux" > hello.txt(将Hello Linux覆盖掉Hello.txt文件中原本内容)echo "Hello Linux" >> hello.txt(将Hello Linux追加到Hello.txt文件中原本内容后面)
2.11 vim编辑器
2.11.1 掌握使用VI\VIM编辑器完成文件编辑工作
vi\vim是visual interface的简称,是Linux中最经典的文本编辑器;
同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择;
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
vi\vim编辑器的三种工作模式:
1.命令模式(command mode):
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,此模型下,不能自由进行文本编辑;
2.输入模式(Insert mode):
也就是所谓的编辑模式、插入模式,此模式下,可以对文件内容进行自由编辑;
3.底线命令(Last line mode):
通过命令模式进入,以:开始,通常用于文件的保存、退出;
三种模式之间的转换:
首先进入的是(vi filename)命令模式,命令模式---输入iao--->进入输入模式、输入模式---ESC键--->命令模式、命令模式---:--->底线命令模式、底线命令模式---命令以回车结束运行--->命令模式、命令模式---输入:wq退出;
如果需要通过vi/vim编辑器编辑文件,请通过一下命令:
vi 文件路径
vim 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件;
如果文件路径表示的文件存在,那么此命令用于编辑已有文件;vi编辑器的快速体验:
通过vi/vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口
命令模式vi编辑器的入口和出口
1.进入vi编辑器会进入命令模式;
2.通过命令模式输入键盘指令,可以进入输入模式;
3.输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式
命令模式快捷键:
1.i:在当前光标位置进入输入模式;
2. a:在当前光标位置之后,进入输入模式;
3. I:在当前行的开头,进入输入模式;
4. A:在当前行的结尾,进入输入模式;
5. o:在当前光标下一行,进入输入模式;
6. O:在当前光标上一行,进入输入模式;
7. esc:任何情况下,输入esc都能回到命令模式;
8. 键盘上、键盘k:向上移动光标;
9. 键盘下、键盘j:向下移动光标;
10. 键盘左、键盘h:向左移动光标;
11. 键盘右、键盘l:向右移动光标;
12. 0:移动光标到当前行的开头;
13. $:移动光标到当前行的结尾;
14. pageup(Pgup):向上翻页;
15. pagedown(PgDn):向下翻页;
16. /:进入搜索模式;
17. n:向下继续搜索;
18. N:向上继续搜索;
19. dd:删除光标所在行的内容;
20. ndd:n是数字,表示删除当前光标向下n行;
21. yy:复制当前行;
22. nyy:n是数字,复制当前行和下面的n行;
23. p:粘贴复制的内容;
24. u:撤销修改;
25. ctrl+r:反向撤销修改;
26. gg:跳到首行;
27. G:跳到行尾;
28. dG:从当前行开始,向下全部删除;
29. dgg:从当前行开始,向上全部删除;
30. d$:从当前光标开始,删除到本行的结尾;
31. d0:从当前光标开始,删除到本行的开头;
底线命令模式:
在命令模式内,输入:,即可进入底线命令模式,支持如下命令:
32. :wq:保存并退出;
33.:q:仅退出;
33. :q!:强制退出;
34.:w:仅保存;
34. :set nu:显示行号;
35. :set paste:设置粘贴模式;
3.Linux权限管控(懂权限)
3.1 认知root用户
3.1.1 了解什么是root用户(超级管理员)
在Linux系统中,拥有最大权限的账户名为:root(超级管理员);
普通用户的权限,一般在其HOME目录内是不受限的,一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限;
3.1.2 掌握用户切换命令
su命令:用于账户切换的系统命令,其来源英文单词:Switch User
语法:su [-] [用户名]
-:符号是可选的,表示是否在切换用户后加载环境变量,建议带上;
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root;
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d;
使用普通用户,切换到其他用户需要输入密码,如切换到root用户;
使用root用户切换到其他用户,无需密码,可以直接切换;
3.1.3 掌握sudo命令
在我们得知密码时,通过su命令切换到root得到最大权限,但我们不建议长期使用root用户,避免带来系统损坏,可以使用sudo命令,为普通的命令授权,临时以root身份执行;
语法:sudo 其他命令
在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权;
但不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证;
为普通用户配置sudo认证:
切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加:yueyue ALL=(ALL) NOPASSWD: ALL
其中最后的NOPASSWD:ALL表示sudo命令,无需输入密码;
最后通过保存;
切换回普通用户:sudo ls /root;
执行的命令,均以root运行;
3.2 用户、用户组管理
3.2.1 理解用户、用户组的概念
Linux系统中可以:
- 配置多个用户;
- 配置多个用户组;
- 用户可以加入多个用户组中;
Linux中关于权限的管理级别有2个级别,分别: - 针对用户的权限控制;
- 针对用户组的权限控制;
如:针对某文件,可以控制用户的权限,也可以控制用户组的权限,所以需要学习在Linux中进行用户、用户组管理基础命令,为后面学习权限控制打下基础;
3.2.2 掌握用户、用户组管理的相关命令
用户组管理:
6. 创建用户组:groupadd 用户组名
7. 删除用户组:groupdel 用户组名
用户管理(以下命令需root用户执行):
8. 创建用户:useradd [-g -d] 用户名选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g选项:-d指定与用户HOME路径,不指定,HOME目录默认在:/home/用户名
9. 删除用户:userdel [-r] 用户名选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留;
10. 查看用户所属组:id [用户名] 参数:用户名,被查看的用户,如果不提供则查看自身;
11. 修改用户所属组:usermod -aG 用户组 用户名,将指定用户加入指定用户组中;
查看当前系统中有哪些用户:getent命令
语法:getent password
结果信息(7份):用户名:密码(x)用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
3.3 查看权限控制
3.3.1 掌握查看Linux文件的权限管控信息
通过ls -l 可以以列表形式查看内容,并显示权限细节;
- 表示文件、文件夹的权限控制信息;
- 表示文件、文件夹所属用户;
- 表示文件、文件夹所属用户组;
权限细节总共分为10个槽位(ls -l):
所属用户权限(-:表示文件,d:表示文件夹,l:表示软链接,r:表示读权限,w:表示写权限,x:表示执行权限):
针对文件、文件夹的不同,rwx的含义有细微差别:
r:针对文件可以查看文件内容,针对文件夹可以查看文件夹内容,如ls命令;
w:针对文件表示可以修改此文件,针对文件夹可以在文件夹内创建、删除、改名等操作;
x:针对文件表示可以将文件作为程序执行,针对文件夹表示可以更改工作目录到此文件夹,即cd进入;
1. -或d或l
2. r或-
3. w或-
4. x或-
所属用户组权限:
5. r或-
6. w或-
7. x或-
其它用户权限:
8. r或-
9. w或-
10.x或-
3.3.2 掌握读、写、执行三种权限的含义
3.4 修改权限控制–chmod
可以使用chmod命令,修改文件、文件夹的权限信息;
普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行;
3.4.1 掌握使用chmod修改权限信息
注意:只有文件、文件夹的所属用户或root用户可以修改;
语法:chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作;
如:chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x,其中u表示user所属用户权限,g表示group组权限,o表示other其他用户权限;
chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x;
3.4.2 掌握使用数字序号标记权限(推荐使用)
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限;
数字的细节如:r记为4,w记为2,x记为1,可以有:
3.5 修改权限控制–chown
3.5.1 掌握使用chown修改所属用户、用户组
语法:chown [-R] [用户] [:] [用户组] 文件或文件夹
选项,-R,同chmod,对文件夹内全部内容应用相同规则
选项,用户,修改所属用户
选项,用户组,修改所属用户组
: 用于分隔用户和用户组
如:chown root hello.txt ,将hello.txt所属用户修改为root;
chown :root hello.txt,将hello.txt所属用户组修改为root
chown root:yueyue hello.txt,将hello.txt所属用户修改为root,用户组修改为yueyue
chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则;
4.Linux实用操作(熟练)
4.1 各类小技巧(快捷键)
4.1.1 强制停止(ctrl + c)
4.1.2 退出、登出(ctrl + d)
4.1.3 历史命令搜索
1. history查看所有历史执行的命令;
2. !命令前缀,自动执行上一次匹配前缀的命令;
3. 通过快捷键ctrl+r,输入内容去匹配历史命令,如果搜索到的内容是需要的,那么:回车键可以直接执行,键盘左右键,可以得到此命令(不执行);
4.1.4 光标移动
1. ctrl + a:跳到命令开头;
2. ctrl + e:跳到命令结尾;
3. ctrl + 键盘左键,向左跳一个单词;
4. ctrl + 键盘右键,向右跳一个单词;
5. 清屏:ctrl+l,可以清空终端内容或通过命令clear得到同样效果;
4.2 软件安装
Linux系统的应用商店
操作系统安装软件有许多种方式,一般分为:
1.下载安装包自行安装
- 如win系统使用exe文件.msi文件等;
- 如mac系统使用dmg文件、pkg文件等;
2. 系统的应用商店内安装
- 如win系统有Microsoft Store商店;
- 如mac系统有App Store商店;
Linux系统同样支持这两种方式,首先学习使用:Linux命令行内的“应用商店”,yum命令安装软件;
4.2.1 掌握使用yum为CentOS系统安装软件
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
语法:yum [-y] [install | remove | search] 软件名称
选项:-y,自动确认,无需手动确认安装或卸载过程;
install:安装
remove:卸载
search:搜索
yum命令需要root权限,可以su切换到root,或使用sudo提权,yum命令需要联网;
如:
- yum [-y] install wget,通过yum命令安装wget程序;
- yum [-y] remove wget,通过yum命令卸载wget命令;
- yum search wget,通过yum命令,搜索是否有wget安装包;
4.2.2 掌握使用apt为Ubuntu安装软件(拓展)
前面学习的各类Linux命令,都是通用的,但是软件安装,CentOS系统和Ubuntu是使用不同的包管理器。
CentOS使用yum管理器,Ubuntu使用apt管理器
通过前面学习的WSL环境,可以得到Ubuntu运行环境;
语法: apt [-y] [install | remove | search] 软件名称
用法和yum一致,同样需要root权限:
如:
apt install wget,安装wget
apt remove wget,移除wget
apt search wget,搜索wget
4.3 systemctl
4.3.1 掌握使用systemctl命令控制软件的启动和关闭
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启动,能够被systemctl管理的软件,一般也称之为:服务
语法:systemctl start | stop | status | enable | disable 服务名
(start启动,stop关闭,status查看状态,enable开启开机自启,disable关闭开机自启)
系统内置的服务比较多,如:
NetworkManager,主网络服务
network,副网络服务
firewalld,防火墙服务
sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制
yum install -y ntp,安装ntp软件,可以通过ntpd服务名,配合systemctl进行控制;
部分软件安装后没有自动集成到systemctl中,我们可以手动添加;
4.4 软连接
4.4.1 掌握使用ln命令创建软连接
ln命令创建软连接
在系统中创建软连接,可以将文件、文件夹链接到其他位置,类似Windows系统中的《快捷方式》;
语法:ln -s 参数1 参数2
-s选项,创建软连接
参数1:被链接的文件或文件夹
参数2:要链接去的目的地
实例:
ln -s /etc/yum.conf~/yum.conf
ln -s /etc/yum~/yum
4.5 日期、时区
4.5.1 掌握date命令查看日期时间
date命令:
通过date命令可以在命令行中查看系统的时间
语法:date [-d] [+格式化字符串]
- -d按照给定的字符串显示日期,一般以用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
1. %Y:年
2. %y:年份后两位数字(00~99)
3. %m:月份(01~12)
4. %d:日(01~31)
5. %H:小时(00~23)
6. %M:分钟(00~59)
7. %S:秒(00~60)
8. %s:自1970-01-01 00:00:00 UTC到现在的秒数(时间戳)
4.5.2 掌握修改Linux系统的时区
通过date查看的日期时间是不准确的,是因为系统默认时区非中国的东八区,需要通过root权限,执行如下命令,修改时区为东八区时区
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可;
4.5.3 掌握使用ntp进行时间同步和校准
ntp程序:可以通过ntp程序自动校准系统时间
安装ntp:yum -y install ntp
启动并设置开机自启:
systemctl start ntpd
systemctl enable ntpd
当ntpd启动后会定期的帮我们联网校准系统的时间
也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com
通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准
4.6 IP地址、主机名
4.6.1 掌握什么是IP地址
IP地址:每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯;
IP地址主要有两个版本,V4版本和V6版本(V6很少用)
IPv4版本的地址格式:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址;
可以通过命令:ifconfig,查看本机IP地址,如无法使用ifconfig命令,可以安装yum -y install net-tools
特殊IP地址
除了标准的IP地址以外,还有几个特殊的IP地址需要了解:
(1) 127.0.0.1,这个IP地址用于指代本机
(2)0.0.0.0,特殊IP地址,可以用于指代本机,可以在端口绑定中用来确定绑定关系,在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问;
4.6.2 掌握什么是主机名
每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名;
无论是Windows或Linux系统,都可以给系统设置主机名;
Windows系统主机名:设备主机名;
Linux系统查看主机名:执行命令“hostname”;
Linux系统设置主机名(需root权限):hostnamectl set-hostname 主机名(用于设置主机名);
重新登录FinalShell即可看到主机名已经正确显示修改后的主机名;
4.6.3 掌握什么是域名解析
域名解析:
实际上,通过字符化的地址去访问服务器,很少指定IP地址,如www.baidu.com会打开百度网址,称之为:域名;
域名解析:
1. 先查看本机的记录(私人地址本:系统内部记录DNS解析)(Windows看C:\Windows\System32\drivers\etc\hosts)(Linux看/etc/hosts);
2. 再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问;
DNS服务器的作用就是当查询的时候给出DNS,DNS服务器会给出相对应的IP地址;
4.6.4 掌握如何在VMware Workstation中配置Linux系统的固定IP地址(用于Windows系统)
当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的;
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更;
原因1:办公电脑IP地址变化无所谓,但我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦;
原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系;
综上所述,需要IP地址固定下来,就不要变化了;
在VMware Workstation中配置固定IP:
配置固定IP需要2大步骤:
1. 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
2. 在Linux系统中手动修改配置文件,固定IP;
手动配置文件:使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容;
(1)修改BOOTPROTO="static"
(2)新增:IPADDR="192.168.88.130", IP地址NETMASK="255.255.255.0",子网掩码固定(255.255.255.0)GATEWAY="192.168.88.2",网关和VMware虚拟网络编辑器中设置的一致;DNS1="192.168.88.2",DNS1设置为网关即可;
(3)执行:systemctl restart network重启后,就可以执行ifconfig查询修改后的新IP地址;
4.6.5 掌握如何在VMware Fusion中配置Linux系统的固定IP地址(用于MacOS系统)
在VMware Fusion中配置固定IP
步骤一:先修改VMware Fusion的网络设置
1.打开Mac系统的终端程序(名叫终端),并执行如下命令:
2.在终端内执行:sudo su - 并输入个人系统密码切换到root用户;
3.先备份一下文件:cp /Library/Preferences/VMware\Fusion/networking/Library/Preferences/VMware\Fusion/networking.backup
通过vim编辑器修改文件:vim/Library/Preferences/VMware\Fusion/networking
4.备份文件:cp /Library/Preferences/VMware\Fusion/vmnet8/nat.conf/Library/Preferences/VMware\Fusion/networking.backup
修改文件:vim /Library/Preferences/VMware\Fusion/vmnet8/nat.conf,在NAT gateway address下修改:ip为192.168.88.2(网关的IP),并保存退出;
5.启动VMware Fusion,进入Linux虚拟机;
4.7 网络传输
4.7.1 下载和网络请求
4.7.1.1 掌握使用ping命令检查服务器是否可联通
ping命令:可以通过ping命令,检查指定的网络服务器是否是可联通状态;
语法:ping [-c num] ip或主机名
选项:-c,检查的次数,不使用-c选项,将无限次数持续检查;
参数:ip或主机名,被检查的服务器的ip地址或主机名地址;
如:
检查到baidu.com是否联通(ping baidu.com)
检查到39.156.66.10是否联通,并检查3次(ping -c 3 39.156.66.10)
4.7.1.2 掌握使用wget命令下载文件
wget命令:是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url
选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件;
参数:url,下载链接;
如:
下载apache-hadoop3.3.0版本:wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.3.tar.gz
在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.3.tar.gz
通过tail命令可以监控后台下载进度:tail -f wget-log
注:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未下载不可用的文件;
快速取消执行指令:CTRL+C
4.7.1.3 掌握使用curl命令发起网络请求
curl命令:可以发送http网络请求,可用于:下载文件、获取信息等;
语法:curl [-O] url
选型:-O,用于下载文件,当url是下载链接时,可以使用次选项保存文件;
参数:url,要发起请求的网络地址;
如:
向cip.cc发起网络请求:curl cip.cc
向python.yueyue.com发起网络请求:curl python.yueyue.com
通过curl下载hadoop-3.3.0安装包:curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
4.7.2 端口
4.7.2.1 掌握端口的概念
端口:是设备与外界通讯交流的出入口,端口可以分为:物理端口和虚拟端口两类;
物理端口:又可称之为接口,是可见的端口,如USB端口,RJ45网口,HDMI端口等;
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的;
计算机程序之间的通讯,通过IP只能锁定计算机,但无法锁定具体的程序;
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通;
类似于:IP地址相当于小区地址,在小区内可以有许多住户(程序)而门牌号(端口)就是各个住户(程序)的联系地址。
Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
1.公用端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用范围的端口;
2.注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务;
3.动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用;
如:
计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接;查看端口占用:
1.可以通过Linux命令去查看端口的占用情况:
使用nmap命令:安装nmap:yum -y install nmap
语法:nmap被查看的IP地址,如(nmap 127.0.0.1)
4.7.2.2 掌握netstat命令的基本使用
2.可以通过netstat命令,查看指定端口的占用情况
语法:netstat -anp | grep 端口号,安装netstat: yum -y install net -tools
4.8 进程管理
4.8.1 掌握进程的概念
进程:程序运行在操作系统中,是被操作系统所管理的;
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中一个进程,并会为每个进程都分配一个独有的:进程ID(进程号);
Windows系统任务管理器,Linux系统查看进程(ps -ef)
4.8.2 掌握如何查看进程、关闭进程
查看进程:可以通过ps命令查看Linux系统中的进程信息;
语法:ps [-e -f]
选项:-e,显示出全部的进程;
选项:-f,以完全格式化的形式展示信息(展示全部信息);
一般来说,固定用法就是:ps -ef列出全部进程的全部信息;
具体信息解释(从左到右):
UID:进程所属的用户ID;
PID:进程的进程号ID;
PPID:进程的父ID(启动此进程的其它进程);
C:此进程的CPU占用率(百分比);
STIME:进程的启动时间;
TTY:启动此进程的终端序号,如显示?,表示非终端启动;
TIME:进程占用CPU的时间;
CMD:进程对应的名称或启动路径或启动命令;
查看指定进程:
在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在哪里;
在FianlShell中,复制一个标签页,执行:ps -ef找到tail这个程序的进程信息;
问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?
答:可以使用管道符配合grep来进行过滤,如:ps -ef | grep tail,即可准确的找到tail命令的信息;
过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤,如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)
关闭进程
在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它,同样,在Linux中,可以通过kill命令关闭进程;
语法:kill [-9] 进程ID
选项:-9,表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制;
4.9 主机状态
4.9.1 掌握查看主机运行状态的监控命令
top命令:查看系统资源占用
可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器;
默认每5秒刷新一次;
语法:直接输入top即可,按q或ctrl+c退出
top命令内容解释
第一行:程序名称
第二行:进程个数
第三行:cpu使用率
第四、五行:物理内存、虚拟内存
top命令支持多种选项,...
top交互式选项,...df命令:查看硬盘的使用情况
语法:df [-h]
选项:-h,以更加人性化的单位显示;iostat命令:查看CPU、磁盘的相关信息
语法:iostat [-x] [num1] [num2]
选项:-x,显示更多信息
num1:数字,刷新间隔,num2:数字,刷新次数sar命令:查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口;
num1:刷新间隔(默认查看一次就结束),num2:查看次数(默认无限此次数)
4.10 环境变量
4.10.1 理解环境变量的作用
环境变量是操作系统在运行时,记录的一些关键性信息,用以辅助系统运行,在Linux系统中执行:env命令即可查看当前系统中记录的环境变量;
环境变量是一种KeyValue型结构,即名称和值;环境变量:PATH
PATH记录了系统执行任何命令的搜索路径,路径之间以:隔开
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体;
4.10.2 掌握符号$的作用
$符号
在Linux系统中,$符号被用于取“变量”的值;
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用;
取得环境变量的值就可以通过语法:$环境变量名 来取得;
如:echo $PATH,就可以取得PATH这个环境变量的值,并通过echo语句输出出来
或echo ${PATH}ABC,当和其他内容混合在一起时,可以通过{}来标注取的变量是谁;自行设置环境变量
Linux环境变量可以用户自行设置,其中分为:
临时设置,语法:export 变量名=变量值
永久生效:针对当前用户生效,配置在当前用户的:~/bashrc文件中针对所有用户生效,配置在系统的:/etc/profile文件中并通过语法:source配置文件,进行立刻生效,或重新登录FinalShell生效;
4.10.3 掌握在Linux中配置环境变量
4.11 上传、下载
4.11.1 掌握通过FinalShell在Linux系统中进行上传、下载
1. 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑;
2. 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中;
4.11.2 掌握rz、sz命令
除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输;
rz、sz命令通过安装,可以通过:yum -y install lrzsz,即可安装
rz命令:进行上传,语法:直接输入rz即可;
sz命令:进行下载,语法:sz要下载的文件;
文件会自动下载到桌面:fsdownload文件夹中;
4.12 压缩、解压
常见压缩格式:
zip格式:Linux、Windows、MacOS,常用;
7zip:Windows系统常用;
rar:Windows系统常用;
tar:Linux、MacOS常用;
gzip:Linux、MacOS常用;
在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式;
4.12.1 掌握使用tar命令压缩或解压tar或gzip文件
tar命令
Linux和MacOS系统常用有2种压缩格式,后缀名分别是:
1. .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装;
2. .gz,也常见为.tar,.gz ,.gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积;
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
语法:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-c:创建压缩文件,用于压缩模式;
-v:显示压缩,解压过程,用于查看进度;
-x:解压模式;
-f:要创建的文件,或要解压的文件,-f选项(注意:必须在所有选项中位置处于最后一个);
-z:gzip格式,不使用-z就是普通的tarball格式(注意:一般处于选项位第一个);
-C:选择解压的目的地,用于解压模式(单独使用,和解压所需的其他参数分开);
4.12.2 掌握使用zip、unzip命令压缩或解压zip文件
zip命令
可以使用zip命令,压缩文件位zip压缩包
语法:zip [-r] 参数1 参数2 ... 参数N
-r:被压缩的包含文件夹时,需要使用-r选项,和rm、cp等命令的-r效果一致;unzip命令
使用unzip命令,可以方便的解压zip压缩包;
语法:unzip [-d] 参数
-d:指定要解压去的位置,同tar的-C选项;
参数,被解压的zip压缩包文件;
注意:同名的内容会被替换掉;
5.实战软件部署(深入掌握)
6.脚本&自动化(用的更溜)
7.项目实战(学到经验)
8.云平台技术(紧跟潮流)
相关文章:
第一部分:Linux系统(基础及命令)
Linux操作系统的实操性非常强,纯操作,不适用于日常的办公使用 1.初始Linux 1.1 操作系统概述 1.1.1 了解OS的作用 OS:是计算机软件的一种,主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬…...
No module named ‘_ssl‘ No module named ‘_ctypes‘
如果你使用的是基于 yum 的 Linux 发行版(例如 CentOS、RHEL、Fedora),安装 libc6-dev 的方式稍有不同。在这些系统中,通常对应的包是 glibc-devel。 No module named ‘_ctypes’ 使用 yum 安装 glibc-devel 更新系统的软件包列…...
【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题
目录 1. 编写第一个 QT 程序 1.1 使用 标签 实现 🐇 图形化界面实现 🐇 纯代码形式实现 1.2 使用 按钮 实现 🐋 图形化界面实现 🐋 纯代码形式实现 1.3 使用 编辑框 实现 🥝 图形化界面实现 ᾕ…...
VTK编程指南<六>:VTK可视化管线与渲染详解
1、VTK渲染引擎 回顾前几章节的RenderCylinder示例 可以找到以下的类: vtkProp; ytkAbstractMapper; vtkProperty; vtkCamera; vtkLight; vtkRenderer; vtkRenderWindow; vtkRenderWindowInteractor vtkTransform; vtkLookupTable;可以发现这些类都是与数据显示或渲染相关的。…...
基于STM32的智能计步器
引言 随着健康意识的提高,计步器逐渐成为人们日常生活中重要的健康管理工具。本文将指导你如何使用STM32微控制器制作一个智能计步器。该计步器通过加速度传感器检测步伐,并使用OLED显示屏显示步数。通过这个项目,你将学习到STM32开发的基本流…...
VB.NET 从入门到精通:开启编程进阶之路
摘要: 本文全面深入地阐述了 VB.NET 的学习路径,从基础的环境搭建与语法入门开始,逐步深入到面向对象编程、图形用户界面设计、数据访问、异常处理、多线程编程以及与其他技术的集成等核心领域,通过详细的代码示例与理论讲解&…...
射频电路屏蔽简略
电磁波的干扰是每个射频设备的自带属性,不管是内部还是外部,怎样去更好的抑制掉干扰,关系到射频设备的工作状态,而能够找到产生干扰的来源就是重中之重,电磁波的干扰与其产生的源密不可分,而源就离不开所需…...
基础算法——搜索与图论
搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法(朴素版)2.2、Dijkstra算法(堆优化版)2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…...
redis优化编码之字符串
redis 优化编码之字符串 ### 字符串优化 字符串对象是redis内部最常用的数据类型。 所有的键是字符串对象值对象除了整数之外都是使用字符串存储lpush cache:type "redis" "tair" "memcache" "leveldb"创建如上一个链表 需要创建一…...
Python特定版本的安装/卸载/环境配置,Spyder安装教程
目录 1.Python安装 1.1 Python下载 1.2 下载特定版本 1.3 安装Python 1.4 修改安装 1.5 环境配置 1.6 卸载Python 2.Spyder安装使用 2.1 Spyder下载 2.1.1 官网下载Spyder 2.2.2 Github下载Spyder 2.2 安装 参考资料:网盘 1.Python安装 1.1 Python下载…...
全局搜索正则表达式(grep)
一.grep简介 grep 全程Globally search a Regular Expression and Print,是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep和egrep 二.grep的工作…...
linux-12 关于shell(十一)ls
登录系统输入用户名和密码以后,会显示给我们一个命令提示符,就意味着我们在这里就可以输入命令了,给一个命令,这个命令必须要可执行,那问题是我的命令怎么去使用,命令格式有印象吗?在命令提示符…...
编写指针函数使向右循环移动m个位置
题目描述:有n个整数,要求你编写一个函数使其向右循环移动m个位置 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入 输入n m表示有n个整数,移动m位 输出 输出移动后的数组 样例输入: 10 5 1 2 3…...
xvisor调试记录
Xvisor是一种开源hypervisor,旨在提供完整、轻量、移植且灵活的虚拟化解决方案,属于type-1类型的虚拟机,可以直接在裸机上启动。 启动xvisor步骤: 1、搭建riscv编译环境 首先从github上下载riscv-gnu-toolchain很费劲,建议直接从国内的源下载 git clone https://gitee…...
MongoDB-ObjectID 生成器
前言 MongoDB中一个非常关键的概念就是 ObjectID,它是 MongoDB 中每个文档的默认唯一标识符。了解 ObjectID 的生成机制不仅有助于开发人员优化数据库性能,还能帮助更好地理解 MongoDB 的设计理念。 什么是 MongoDB ObjectID? 在 MongoDB …...
CUDA 计时功能,记录GPU程序/函数耗时,cudaEventCreate,cudaEventRecord,cudaEventElapsedTime
为了测试GPU函数的耗时,可以使用 CUDA 提供的计时功能:cudaEventCreate, cudaEventRecord, 和 cudaEventElapsedTime。这些函数可以帮助你测量某个 CUDA 操作(如设置设备)所花费的时间。 一、记录耗时案例 以下是一个示例程序&a…...
PDF 文件如何转为 CAD 图纸?PDF2CAD 使用教程
在工程设计和建筑行业中,PDF 文件常常被用来分享和存档图纸。然而,当需要对这些图纸进行编辑或进一步开发时,静态的 PDF 格式就显得力不从心了。这时候,将 PDF 文件转换为可编辑的 CAD(计算机辅助设计)格式…...
【YashanDB知识库】php查询超过256长度字符串,数据被截断的问题
本文内容来自YashanDB官网,原文内容请见:https://www.yashandb.com/newsinfo/7488290.html?templateId1718516 问题现象 如下图,php使用odbc数据源,查询表数据,mysql可以显示出来,yashan显示数据被截断。…...
暴雨AI加速计算服务器新品X8840上市
用户输入简短的文字,大模型可以自动生成创意文本或图像;金融机构的风险评估和预测,大模型通过对金融数据的分析,可以识别异常交易行为;15秒内完成中英文作文的批改和评分,并提供针对性的改进建议࿰…...
在多个分布式机器间设置和使用 NFS(Network File System)共享目录的步骤如下:
在多个分布式机器间设置和使用 NFS(Network File System)共享目录的步骤如下: 1. 准备工作 确保所有参与的机器都在同一个网络中,并安装了 NFS 软件包。 在 Linux 系统上: sudo apt update && sudo apt install nfs-kernel-server -y # Ubuntu/Debian sudo yu…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
