目录
1、什么是Linux系统
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
2、为什么要用Linux系统
Windows作为家喻户晓的操作系统,世界普及率已经达到了72.72%,平均每 10 台电脑的桌面操作系统中就有 7 台是微软的 Windows,因此Windows吸引了许多黑客的攻击,其因为体量过大,漏洞过多,而不适合对项目进行部署。相比之下,Linux系统,因为其高可靠性和安全性,成为了部署项目的首选。所以我们一般都会把在Windows系统上开发好的软件,部署到Linux系统上。
3、Linux系统的种类
- Redhat系:包括Redhat、Centos和Fedora等。
- Debian系:包括Debian、Ubuntu、Mint等。
- 其他系统:包括Gentoo、Arch Linux、LFS等。
- NOI Linux:专门用于NOI竞赛的操作系统。
- Elementary OS:基于Ubuntu,使用名为Pantheon的桌面环境。
- PUD GNU/Linux:基于Ubuntu的小型Linux,可安装于光盘或U盘。
- Ubuntu Kylin:添加了少量中国化定制的Ubuntu发行版。
- Xubuntu:使用Xfce桌面环境的Ubuntu包。
4、如何安装Linux系统
1、在自己电脑上直接安装Linux系统覆盖掉Windows或者MacOS。
2、在电脑上安装虚拟机软件,然后在虚拟机中安装Linux系统。【大部分采用】
详细安装教程在另一篇。
3、购买第三方。如:阿里云、腾讯云、天翼云等,将项目部署在第三方服务器上。
5、常见的适配器种类
网络适配器分为两种模式,分别是NAT模式和桥接模式。
NAT网络和桥接网络的区别:
NAT(Network Address Translation,网络地址转换)模式:虚拟机不能直接接触到外部网络,所有的网络连接请求都由宿主机进行转发。这种方式的优点是设置简单,可以在没有额外IP地址的情况下使用。缺点是虚拟机不能作为服务器提供服务,因为它没有自己的公网IP地址。
桥接模式:在这种模式下,虚拟机直接连接到宿主机所在的物理网络,它会从网络中获取自己的IP地址,就像是网络中的一台独立的计算机。这样虚拟机就可以提供网络服务,其他设备可以直接访问虚拟机。但是,这种模式需要在网络中有足够的IP地址供虚拟机使用。
如图所示:
6、学习第一个Linux指令
查看IP地址 IP addr
7、安装ssh客户端软件
为了方便连接和操作Linux系统,我们往往会安装一下ssh客户端软件,以达到满足优化操作的需求。这里推荐使用FinalShell软件。(其采用傻瓜式安装,除了改变安装路径,其余没什么需要注意的地方,所以就不出详细教程了。)此处只说明如何通过FinalShell连接到虚拟机。
经过此操作即可成功连接到Linux的虚拟机。
8、Linux系统的目录结构
/: 根目录
/bin和sbin: 系统命令存放的目录。
etc: 配置目录。比如: 环境变量的配置,ip的配置,主机名的配置。
usr: 用户目录。 等价于window[ program file] 软件安装目录
root: root账号拥有的目录。
9、Linux的常用命令
9.1 目录切换命令
语法: cd [切换的目录]
切换到上一级:cd ../
切换到根目录:cd /
切换到用户主目录:cd ~
9.2 查看目录下的内容
语法: ls [参数] [目录]
参数:
-a 显示所有的文件和目录(包括隐藏的文件)
-l 列表
9.3 查看当前所在的目录/路径
语法: pwd
9.4 创建目录
语法: mkdir [参数] 目录名称
参数: -p 允许创建多层目录
9.5 创建文件
语法: touch 文件名 (无后缀要求)
9.6 删除文件或目录
语法: re [参数] 文件或目录名
参数:
-f:强制删除
-r:删除目录
9.7 查看文件内容
语法: cat | more | head | tail [参数] 文件名
cat 文件名: 查询所有的内容。
more 文件名: 查看当前窗口大小的内容。 enter回车 下一行内容 空格: 下一页
head -n 文件名: 查看前n行的内容。
tail -n 文件名: 查看后n行内容。 【常用于查看日志】
9.8 复制
语法: cp [参数] 文件|目录 目标目录
参数: -r: 允许复制目录
9.9 剪切 | 重命名
语法: mv 文件|目录 /目标目录/
9.10 搜索文件或目录
语法: find 目录 -name "名称"
注意: 名称可以使用通配符 *
9.11 查找文件中符合条件的内容
语法: grep "内容" 文件名
9.12 查看所有进程
语法: ps -ef
9.13 管道符 |
ls --help | more 分页查询帮助信息
ps –ef | grep java 查询名称中包含java的进程
9.14 压缩和解压
压缩:
语法: tar -zcvf 压缩后的名称.tar.gz 要压缩的目录
解压:
tar -zxvf 解压的文件.tar.gz
参数:
z: 通过gzip进行压缩/解压缩
c: 压缩
v: 详情
f: 文件 【必填】-x: 解压
9.15 查看IP地址
ip addr 或 ipconfig
9.16测试网络连通性
ping 网络ip或域名
例如:ping www.baidu.com
9.17 查看端口号
语法: netstat -tunlp | grep 端口号
option说明:
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
示例:
netstat -ntlp //查看当前所有tcp端口。 tcp协议 网络传输协议
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
9.18 对防火墙的操作
语法: systemctl start|stop|status|restart|disable firewalld
注意:只隔一个空格
参数:
start:开启防火墙
stop:关闭防火墙
status:查看防火墙状态
restart:重启防火墙
disable:禁用防火墙
放行指定的端口号: firewall-cmd --add-port=端口号/tcp --zone=public --permanent
-- 注意: 重启防火墙
移除指定的端口号: firewall-cmd --remove-port=端口号/tcp --zone=public --permanent
-- 注意: 重启防火墙
查看放行的端口号: firewall-cmd --list-port
9.19 vim编辑器
在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。
打开文件的语法:vi 文件名
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、o、a键;
i 在当前位置前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
切换到底行模式:按 :(冒号)
退出:esc → :q
修改文件:输入i进入插入模式
保存并退出:esc→:wq
不保存退出:esc→:q!
三种进入插入模式:
i:在当前的光标所在处插入
o:在当前光标所在的行的下一行插入
a:在光标所在的下一个字符插入
快捷键:
dd – 快速删除一行
yy - 复制当前行
nyy - 从当前行向后复制几行
p - 粘贴
R – 替换