Linux 基础入门
操作系统
首先,我们需要知道什么是操作系统:
- 操作系统是应用程序运行的基础支撑环境
- 操作系统作用是管理与控制计算机系统硬件与软件资源(软件与硬件的中间层)
- Intel X86 架构上的常见的操作系统:Windows、Linux、Unix…
何为Linux操作系统
接着,让我们来了解什么是Linux操作系统
- Linux是开源的基于Intel x86架构的类Unix多用户操作系统
- Linux是目前最主要的服务器端操作系统
- 互联网大厂都在使用Linux作为服务器的主要操作系统
Linux受欢迎原因
那么Linux为什么受欢迎呢?
- 免费试用
- 支持多任务,多用户,多CPU
- 高效而灵活
- 兼容任意X86架构计算机
- 强大易用的系统命令
- 完整的应用生态
Linux发行版本
- Linux系统内核(kernel)提供了Linux操作系统的核心功能
- 不同的开发商在内核基础上拓展封装,形成了不同的发行版本
- 常见版本:Red Hat Linux 、CentOS、Ubuntu、SUSE…
Linux发行版选择建议
- 桌面系统:Ubuntu
- 服务器操作系统:CentOS(免费) 、Red Hat Linux(收费)
- 特定需求: Debian(稳定)、Fedora(新特性)、麒麟Linux(国产)
我们以CentOS为例:
CentOS -社区企业操作系统
- 基于 Red Hat Enterprice Linux 的开源企业级Linux发行版本
- 各个版本CentOS都会获得十年的支持,与RHEL保持同步更新
- CentOS采用社区支持,同时修正了RHEL许多BUG
CentOS版本选择
- CentOS5/6:历史版本,已被淘汰
- CentOS7:主流版本,稳定成熟,大多数服务器的首选版本
- CentOS8:全新版本,基于最新内核,不排除存在漏洞隐患
安装CentOS 7.7
CentOS运行要求
- CPU:1核,建议2核以上
- 内存:1G,建议2G以上
- 硬盘:预留20G可用内存
首先,我们需要安装VMWare,安装完成看到这个界面就算OK了

安装CentOS7,完成后看到这个页面就好了

Linux倒挂目录结构

Linux倒挂树形目录结构
- "/"是所有目录的顶点,称为“根目录”
- 不同目录下的数据可以分布在不同的磁盘,所有目录按规则组织及命名
- Linux也区分相对路径和绝对路径
Linux系统目录


Xshell 与 Xftp
- Xshell是著名的Linux客户端,常用于在Windows下远程访问
- Xshell同时还支持Telent、RLogin、Serial等其他连接方式
- Xftp是Xshell配套组件,用于向服务器上传/下载文件
Linux命令格式

Linux文件核心操作命令

VIM文本编辑器
- vi 是Linux重要的文字编辑工具,vim是他的增强版
- vim用于在远程环境下用命令形式对文本进行在线编辑
- 用法格式 : vim 【选项】 【文件】
VIM三种模式
- 普通模式:默认模式,文本只读,不可编辑
- 编辑模式:编辑文本模式,普通模式按i进入,Esc键退出
- 命令模式:执行保存,搜索,退出等操作
vim重要快捷键

常用文本工具

- echo “hello” > hello.txt(重写)
- echo “hello” >> hello.txt(追加)
- cat hello.txt (查看文件内容)
- cat -n hello.txt(-n 增加行号)
- cat -nE hello.txt(E:显示空行)
- cat hello.txt myname.txt >> full.txt(合并前两txt 进入第三个txt)
- cat >text.txt << EOF(使用一个输入流)
- tail -n2 full_log.txt(输入最后两行)
- tail -f full.txt(动态监听日志)
- grep imooc text.txt(按照指定条件对文本筛选)
- grep -v imooc text.txt(-v 表示过滤,grep后接正则表达式)
- ll | grep log1.txt(通道,前一个结果作为后一个的加工范围)
- ll | grep -E “log[0-9]{1,5}.txt”
文件的打包与压缩
Linux压缩程序
- gzip是linux系统的文件压缩程序
- gzip压缩包拓展名为.gz
- 大流量网站都使用gzip
tar打包与压缩
- tar是linux系统将多个文件打包与压缩的工具
- tar本质是打包软件,拓展名为.tar
- tarl可结合gzip或其他压缩工具实现打包压缩,拓展名.tar.gz
- 压缩命令: tar zcvf tomcat.tar.gz /usr/local/tomcat
- 解压缩命令: tar zxvf tomcat.tar.gz -C /usr/local/tomca

为CentOS安装应用程序
- 在CentOS中安装第三方的应用程序包含两种方式:
- rpm:Red Hat软件包管理器,相当于应用程序安装文件的执行者
- 编译安装:用户自己从网站下载程序源码进行编译安装
yum和rpm的关系
- rpm安装过程中,需要用户自己解决依赖问题
- yum通过引入软件仓库,联网下载rpm依赖,并以此进行安装
- yum是rpm的前端程序,其目的就是简化rpm的安装过程
yum 常用命令
- yum search 应用名 #在仓库中查询是否存在指定应用
- yum install -y 应用名 #全自动下载安装应用及其依赖
- yum info 应用名 #查看软件详细信息
- yum list installed 应用名 #查看已安装的应用程序
- rpm -ql 应用名 #查看安装后输出的文件清单
- yum remove -y 应用名 #全自动卸载指定应用
编译方式安装应用程序
yum和编译安装区别
Redis安装
- 上传文件包
- 解压
- 进入src目录直接make命令
- 如果报错就安装gcc(yum方式)
Linux进阶应用
应用服务化
- 应用服务化时指让应用程序以服务的方式在系统后台运行
- Linux系统对服务化应用进行统一管理
- 服务管理命令:systemctl
SYSTEMCTL
Linux用户与权限
用户
- Linux是多用户多任务系统,包含两个概念:用户和用户组
- 用户与账户是同一概念,用于登陆系统与区分资源权限
- 用户让系统更安全,同时也保护了用户的个人数字资产
用户组
- 用户组就是讲用户分组,隶属用户自动拥有组权限
- 一个用户可属于多个组,用户可任意切换当前组
- 用户的出现让用户权限管理变轻松
用户与用户组常用命令

文件权限代码表

chmod命令

sudo
- sudo可以让普通用户拥有超级管理员的执行权限
- 普通用户要进行经过系统管理员的授权才能使用
什么是防火墙
- 防火墙是借助硬件和软件对内外网络环境的保护措施
- CentOS基于firewall实现应用层防火墙,CentOS6基于iptables
- firewall-cmd是控制防火墙的核心命令
开放tomcat端口:

封禁端口:

范围开放:

bashshell
什么是shell
- shell是一个用C语言编写的脚本解释器,是用户通过代码操作Linux的桥梁
- shell脚本描述要执行的任务,完成系统复杂操作,文件通常以.sh结尾
- shell脚本通过shell解释器执行,按解释器分为很多类型
Linux shell 分类

批处理示例:
