文章目录
- 一、Linux概念介绍
- 1.1 什么是Linux
- 1.2 Linux发行版
- 1.3 Xshell、云服务器、Linux概念区分
- 二、Linux的环境准备 和 基础使用
- 2.1 如何获取 Linux环境
- 2.2 如何使用云服务器
- 3.3 Linux的基础使用
- 三、Linux的常用命令介绍
- 3.1 ls、cd、pwd
- 3.2 touch、cat、echo、vim
- 3.3 mkdir、rm、man、cp、mv
- 3.4 grep、ps、netstat、kill
- 3.5 ping
一、Linux概念介绍
1.1 什么是Linux
- Linux是什么:是个操作系统,使用量很高
- 当前市面上常见的操作系统:
- Windows:图形化界面,方便上手
- Linux:一般通过命令行操作,不适合日常使用,但十分适合开发
- Mac OS:苹果电脑上常用
- Android
- IOS
- 世界第一大操作系统:使用量很高,但用户方面感知不太明显
- 服务器领域:大部分服务器用的都是Linux系统,也有小部分是Windows Server
- 嵌入式设备:内置了简易计算机的设备
- 空调、洗衣机等机器如果要实现远程操控,需要内置个简易的计算机(不需要什么复杂的运算和添加复杂的配置,功能单一)控制
- 移动端(手机):Android是基于Linux演化出来的,所以本质上也是Linux
- 当前市面上常见的操作系统:
- 什么是服务器:我们说到服务器时,通常指 “Linux服务器”
- 本机:我们当前在用的电脑,名字叫“本机”,是一个机器。
- 云服务器:是别的地方的一台电脑,如果想要连上,需要进行一些设置
1.2 Linux发行版
- 为什么会有不同的Linux发行版:
- Linux本质上是个“操作系统内核”,承担了操作系统里最核心的功能。而一个完整的操作系统 = 内核 + 配套的应用程序。
- 因为Linux是开源的,所以基于Linux内核,不同的组织搭配了不同的应用程序,最终构成了不同的“发行版”
- Linux发行版的选择:市面上常见的Linux发行版有许多,但大同小异,基本的命令都是一样的,个别有差别。
- redhat:企业中常用的发行版,由商业公司维护,收费。其他的发行版大多由社区维护,免费
- centos:和redhat很相像,类似于redhat的免费试用版
- ubuntu
1.3 Xshell、云服务器、Linux概念区分
- 总结:你在使用 Xshell 远程操控对应的云服务器,那台服务器上使用的操作系统是Linux
- Xshell:电脑上的一个软件,是个【终端工具】,可以像个遥控器一样,远程操作对应的云服务器。
- 云服务器:云服务器厂商在他们自己搭建的机房里的一台电脑,和我们在使用的个人电脑并没有什么区别,但是有个外网IP
- Linux:云服务器上使用的操作系统
二、Linux的环境准备 和 基础使用
2.1 如何获取 Linux环境
- 虚拟机:虚拟机是【用软件来模拟硬件】,我们可以在模拟出来的电脑中,装一个Linux系统
- 问题:虚拟机本身有很多bug + 无法解决“外网IP的问题”
- WSL:Windows Subsystem Linux,微软搞出来的,可以在Windows内部内嵌一个Linux内核
- 问题:相比于虚拟机,bug更少。但依旧无法解决“外网IP的问题”
- 云服务器:很多云服务厂商,如阿里云。腾讯云、华为云……,自建了一些机房放了一些服务器,可以租给他人使用
- 云服务器自带外网IP,可以完美解决“外网IP的问题”
2.2 如何使用云服务器
- 云服务器重装系统是一键式的,十分便捷
- 在哪:在购买的云服务的对应网址上,选择【控制台—> 云服务器ECS】
- 如何远程登录到云服务器上:首次使用建议重置密码,且密码可以设置得复杂一些,避免被他人入侵(被入侵后就需要重装系统了)
- 通过云服务器后台提供的终端登录:可用,但有些公司里的服务器不支持这种方式,不够通用(云服务器上都是可以的)
- 使用单独的终端软件进行登录:这种方式企业上更加常用,Xshell就是一个终端软件
- 通过Xshell连接到云服务器:
3.3 Linux的基础使用
-
初始情况下进去的命令提示符:
-
命令的执行:一般都是输入一个命令,再按enter才会真正执行命令
- 直接回车:如果直接按enter,就是另起一行
- 非法命令:如果输入的命令是一个非法命令,就会提示报错
- 空格:命令、参数、路径之间要用空格分开,有几个空格无所谓,但要有
- 关于tab:
- 一下tab:自动补全:在命令行使用中,可以只输入前几个字符,然后使用tab,由Shell帮我们自动补全。可自动补全命令名称、参数名称、参数值和文件路径
- 两下tab:自动补全:提示作用,不止有下面这两种提示情景
-
特定目录:
- ~或不写:home目录,相当于Windows的【C:\User\用户名】
- /:根目录,相当于Windows的此电脑
-
关于操作文件:我们一般在主目录(home目录)下操作文件,因为根目录里多是系统文件,一般不能随意修改
-
清屏操作:【ctrl + L】或 【clear命令】。此处的清屏不是指删除操作的记录,而是快速滚轮到只有一行,滚轮划上去记录还是在的。
-
复制粘贴:
- 无法用cv:在 Linux 命令行中,无法使用【ctrl + c/v 】进行复制粘贴,ctrl + c在Linux中表示的是【终止当前操作】
- 正确操作:Xshell提供了【ctrl + insert】复制和【shift + insert】粘贴。ps.有些电脑需要加上【Fn】才能复制
-
管道:I,能够把多个命令连接到一起,即【把前一个命令的输出,作为后一个命令的输入】
三、Linux的常用命令介绍
3.1 ls、cd、pwd
-
ls(list):列出当前或指定目录包含的所有内容(文件 + 目录),类似于Windows中点开一个文件夹查看里面的内容
- ls:
- ls -l 或 ll:相比于【ls】可以以更详细的方式列出这里的内容
- 只输入【ll】,表示查看当前目录里的内容
- 只输入【ll】,表示查看当前目录里的内容
- ls:
-
cd:change directory 切换目录,类似于Windows上进出不同目录(PS.直接敲cd可以回到主目录)
- 使用方法:cd + 切换到的目录的名称(可以是绝对路径,也可以是相对路径)
- 绝对路径:Windows上是以【C:或D:】,Linux则是以【/】开头
- 相对路径:【.】表示当前目录,可以省略,【…】表示当前目录的上级目录
- Linux很多命令都需要路径都需要传入路径,路径分为【绝对路径】和【相对路径】
- 使用方法:cd + 切换到的目录的名称(可以是绝对路径,也可以是相对路径)
-
pwd:print work directory,显示当前位置的绝对路径
3.2 touch、cat、echo、vim
-
touch:创建文件
-
cat:读取文件内容
-
echo:显示内容 或 写文件
-
vim:
- 使用场景:cat、echo是不方便读写“复杂,内容很多”的文件的,此时我们就需要用【vim】
- 什么是vim:一个文本编辑器,可以针对文件进行更细致的编辑,是Linux自带的记事本程序。相当于用技术本打开某个文件,我们可以通过记事本对其进行文本编辑
- vim 不存在的文件:相当于直接创建这个文件,并编写
- 使用方法:
3.3 mkdir、rm、man、cp、mv
-
mkdir:make directory,创建目录
-
rm:remove,删除操作
- 关于删除操作:该操作十分危险。因为通过rm方式删,是直接没了的,不会在回收站里,即恢复不了
- rm aaa* -rf:把带有【aaa】前缀的文件都删除掉
-
man:进入用户手册,查某个命令相关选项的含义
-
cp:copy复制
5. mv:move 移动,可以起到重命名和移动文件的作用
3.4 grep、ps、netstat、kill
-
grep:字符串搜索/匹配命令,即【搜索当前内容有没有包含指定的字符串】
-
ps:显示正在运行的进程列表
- Linux 上敲下的命令,最终执行过程都会化身成进程。所以此时ps能列出ps这个进程
- Linux 上敲下的命令,最终执行过程都会化身成进程。所以此时ps能列出ps这个进程
-
netstat:显示网络状态
- netstat -anp | grep 80:查找带有80字符串的网络,可以查到端口
- kill:杀死进程。相当于任务管理器中“强制结束进程”的操作
- 使用方法:kull 进程id
3.5 ping
- ping:检查网络连通性的命令,只有在控制台那边开启ping,才能ping成功
- ping www.sogou.com:检查搜狗网站的网络连通性