08 - Linux 讲堂
2022-01-07 14:58:26 17 举报
AI智能生成
Linux 讲堂脑图及案例资源
作者其他创作
大纲/内容
教学目标
熟悉企业级系统环境
熟练搭建测试平台所需环境,维护监控系统运行
课程方法
学以致用
举一反三
问题自由探讨解决
核心命令篇
企业级系统环境初探
简介
操作系统实例
Windows
类 Unix 系统
开源操作系统 Linux
简史
主要特性
主要应⽤领域
Linux 发行版
你的第⼀台 Linux 系统
虚拟机中的 Linux
VMware下载和安装
VMware 安装 Linux 系统
云端 Linux
登录服务器提供商平台
挑选云服务器
选择云服务器配置属性
云服务器控制台
本地上云
远程管理
RDP(remote desktop protocol)协议
telnet
SSH(Secure Shell)协议
PuTTY
XShell
MobaXterm
RFB(Remote FrameBuffer)协议
起步之前
桌面环境与字符终端
Ctrl + Alt + F1
桌面
如果没有桌面环境,则该快捷键切换至第一个字符终端
Ctrl + Alt + F2
字符终端
Ctrl + Alt + F3
Ctrl + Alt + F4
Ctrl + Alt + F5
Ctrl + Alt + F6
一切皆为文件
在用户角度,看到的仅仅是文件(目录)
分区 & 目录 ---> 挂载
目录结构
/:根目录
所有文件的起始点
/bin:系统常规命令
/boot:引导启动文件
/dev:设备文件
/etc:系统配置文件
/home:普通用户的家目录
/root:超级用户的家目录
/lib:系统模块文件
/lost+found:系统异常,临时文件存放地
/media和/mnt:挂载外接设备的,如CD,DVD等
/opt:自定义软件
/proc:系统进程,CPU等
/sbin:系统常规命令,供root使用
/selinux:系统安全模块的配置文件
/srv:存储本机或服务器提供的服务和数据
/sys:系统配置文件
/tmp:临时文件
/usr:系统软件安装目录
/var:系统日志、邮件等
Linux 指引
格式:command [option] [arguments]
command
指令(命令)
单词或单词的缩写
option
可选项,对指令的一个增强选项,可省略
arguments
参数,指令的作用对象
帮助:man command
↑:向上翻一行
↓:向下翻一行
空格键:向下翻一页
b:向上翻一页
/string:内容搜索
n:搜索下一处匹配的
N:搜索上一处匹配的
q:退出
在线手册
http://linux.51yip.com/
https://wangchujiang.com/linux-command/
https://manpages.debian.org/
命令行的快捷操作
Ctrl + l 或者 clear:清屏
Ctrl + c:终止命令执行
Tab
单次:只有一个匹配的
两次:多个匹配项
history:列出之前执行过的命令
!line_number:快速调用该行的命令
↑:向上翻一个命令
↓:向下翻一个命令
核心命令
文件操作
当前位置:pwd
目录切换:cd
绝对目录:从根目录 / 开始定位
相对目录:以自身所在位置为起始点进行定位,.. 代表上一级目录,. 代表当前目录
~:登录用户的家目录
目录内容:ls,ll
文件创建(C)
新建文件夹:mkdir
新建单文件:touch,vi
ln
硬链接:文件副本,指向同一个文件,只是名字不一样
符号链接:文件的地址,类似于指针
文件查找(R)
find:磁盘扫描查找
find path -name pattern
find path -size [+/-/ ]size
find path -mmin min
find path -mtime
+day:day + 1天前修改过的文件
day:day-2,day-1天之间修改的文件
-day:day天以内修改过的文件
find path [option] -exec command {} \;
whereis
只会从系统变量 PATH 所包含的目录中查找 指令 文件,返回指令涉及的文件
locate:根据字符串进行文件匹配
安装工具包:mlocate
yum install mlocate -y
更新文件路径库:updatedb
文件名通配符
*:匹配任意字符
?:匹配任意单个字符
[characterList]:匹配列表中的任意单个字符
[^characterList]:匹配列表之外的任意单个字符
文件修改(U)
重命名:mv, rename
移动文件:mv
复制:cp
修改文件时间戳:touch
文件删除(D)
删除文件或目录:rm
其它指令
查看文件属性:stat
文件类型:file
解压缩:tar,zip,...
压缩
tar -czf *.tar.gz file1 file2 ...
zip -r *.zip file1 file2 ...
解压
tar -xzf *.tar.gz
unzip *.zip
文本操作
读整个文件:cat
分页读文件:more
Eneter:向下翻一行
空格键:向下翻页
b:向上翻页
q:退出
分页读文件:less
快捷操作同 man 手册
读文件的头部:head
读文件的尾部:tail
文本内容的统计:wc
段位截取:cut
文件编辑:vi
命令模式
插入模式
末行模式
在文本内容查找:grep
alias grep="grep --color=auto"
grep [option] pattern files
pattern
string:包含string的行
.:匹配任意单个字符
[characterlist]:匹配列表中的任意单个字符
[^characterlist]:匹配列表之外的任意单个字符
^string:以string开头的行
string$:以string结尾的行
\< and \>;:匹配单词
\?:匹配前面的字符至多1次
*:匹配前面的字符0到多次
\+:匹配前面的字符至少1次
\{m\}:匹配前面的字符m次
\{m,\}:匹配前面的字符至少m次
\{,m\}:匹配前面的字符至多m次
\{m,n\}:匹配前面的字符m到n次
\|:连接两个表达式,或者
\(string\):把string当做一个整体进行匹配
管道命令:|
command1 | command2
将 command1 的输出作为 command2 的输入
重定向
标准输出(1)
覆盖性输出:>
追加性输出:>>
标准错误(2)
标准输入(0)
输入:<
用户管理
用户类型
超级用户:root,uid=0
系统用户:运行系统服务而存在的用户,uid=[1,999]
普通用户:uid=[1000,60000]
用户信息存储文件:/etc/passwd
用户信息:id
添加用户:useradd
修改用户:usermod
删除用户:userdel
修改密码:passwd
查看组信息:/etc/group
添加组:groupadd
修改组:groupmod
删除组:groupdel
在线用户:who
登录日志:last
注销:exit,logout
切换用户:su
查看用户信息:finger
yum -y install finger
文件权限
修改文件权限:chmod
chmod
a
u
g
o
chmod xxx file
x=[0,7]
移交文件的拥有者:chown
移交文件的所在组:chgrp
文件类型
目录:d
普通文件:-
符号链接:l
字符设备:c
块设备:b
协议文件:s
磁盘管理
磁盘使用量:df
磁盘分区情况:lsblk
磁盘挂载与卸除:mount / umount
网络管理
ip:网络管理工具,早期使用 ifconfig
ifup:启用网络
ifdown:卸载网络
ping:检测网络连通性
wget:网络下载
scp: 远程文件拷贝
网络配置文件:/etc/sysconfig/network-scripts/ifcfg-*
系统维护
进程维护
ps,kill
系统资源
内存使用:free
资源管理器:top
系统信息
系统类型、版本
uname
cat /etc/os-release
服务管理:systemctl
systemctl start server_name
systemctl stop server_name
systemctl restart server_name
systemctl status server_name
自启动:systemctl enable server_name
手动启动:systemctl disable server_name
端口监控:netstat
防火墙管理
服务名:firewalld
维护:firewall-cmd
关机:poweroff,shutdown
重启:reboot,shutdown
软件维护
rpm:离线安装
查找:rpm -q package 或者 rpm -qa | grep 'package'
安装:rpm -i package
更新:rpm -U package
卸载:rpm -e package
yum:在线软件安装维护命令
查找:yum search package
安装:yum install package
更新:yum update package
卸载:yum remove package
配置 yum 源
/etc/yum.repos.d/
默认安装源:CentOS-Base.repo
第三方 yum 源的配置
网易镜像仓库
http://mirrors.163.com/
源码安装
1.配置编译环境
2.源码下载
3.执行编译工作:./configure [option]
4.make & make install
学以致用
yum 版 MySQL 5.7
检查是否安装:rpm -qa | grep mysql
检查 yum 仓库:yum search mysql
CentOS 7.x yum 源中无 mysql 软件包
进入 MySQL 官网,查看安装文档
添加 MySQL Yum 存储库
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum localinstall mysql80-community-release-el7-3.noarch.rpm -y
选择发行系列
yum install yum-utils -y
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
安装 MySQL
yum install mysql-community-server -y
启动 MySQL 服务器
systemctl start mysqld
连接 MySQL
mysql -u root -p
临时密码
grep 'temporary password' /var/log/mysqld.log
修改密码
mysqladmin -uroot -p password
远程管理 MySQL
默认不开启远程访问权限,需要手工授权
本机连接:mysql -u root -p
切换至 mysql 数据库上:use mysql;
授权:grant all on dbname.* to 'USER'@'client_ip' IDENTIFIED BY 'PASSWORD';
本机上测试
mysql -u root -p -h host_ip -P 3306
防火墙设置
端口开放
firewall-cmd --permanent --add-port=3306/tcp
重新加载防火墙
firewall-cmd --reload
远程连接
源码版 HTTPD 服务器
一手文档
安装使用
前置条件
源码下载
解压进入
自定义安装配置
编译
安装
个人站点
测试环境篇
Web Server
Apache
安装
yum -y install httpd
源码
编译时设置:--PREFIX
服务管理
systemctl start | stop | restart | status httpd
主要目录文件
主程序目录
/etc/httpd
配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
日志文件
/var/log/httpd/*
站点目录
/var/www/html
主要配置节点
主机名
ServerName
端口号
Listen
站点目录
DocumentRoot
站点首页
DirectoryIndex
Nginx
IIS(Windows)
Tomcat
Server-side Languages
PHP
*.php 文件
ASP.NET(Windows)
*.aspx 文件
Ruby
*.rb 文件
Java
*.jsp 文件
静态文件
*.html,*.js,*.css,*.jpg,*.png,...
DB-Engines
Oracle
MySQL
Microsoft SQL Server(Windows)
Redis
0 条评论
下一页