此笔记为学习https://www.bilibili.com/video/BV1nW411L7xm/?vd_source=3f851e85e66ef33269a2eefee664cec2的学习记录,希望能找到运维的实习吖O(≧▽≦)O
shoutdown -h now(正常关机)
halt(关闭内存)
init 0
ls:
列出当前目录所有文件
ls 路径:
列出指定路径下的文件
ls 选项 路径
:列出指定路径下的文件并以指定的格式显示
pwd
:打印当前工作路径mkdir 路径
:创建目录mkdir -p 路径
:一次性创建多个不存在的目录mkdir 路径1 路径2 路径3 ...
:一次性创建多个目录touch 文件路径
:创建文件touch 文件1 文件2
:当前路径下创建多个文件cp 被复制的文档路径 文档被复制到的路径
:复制一个文件cp -r 被复制的文档路径 文档被复制到的路径
:递归复制mv 需要移动的文档 需要保存的位置
:移动文档到新的位置(可以用来重命名)rm 文件名
:不带选项,需要频繁输入y或nrm -f 文件名
:强制删除,不提示是否删除rm -r 文件名
:递归删除rm 部分名字*
: *为通配符,删除某些字段开头的文件vim 文件的路径
:编写某个文件正常执行的指令 >/>> 文件的输出路径
:输出结果到指定的地方
>
:覆盖输出,会覆盖掉原来文件的内容
>>
:追加输出,在原始内容末尾继续添加
cat 文件的路径
:cat有直接打开一个文件的功能cat 待合并的文件路径1 待合并的文件路径2... > 合并之后的文件路径
:合并若干个文件并存到一个文件中,配合输出重定向使用df
:查看磁盘空间free -m
:表示以mb为单位查看剩余内存head -n 文件路径
:查看一个文件的前n行,默认n为10tail -n 文件路径
:查看一个文件的最后的n行,默认n为10tail -F 文件的路径
:查看一个文件的动态变化less 需要查看的文件路径
:查看文件,以较少的内容进行输出,用辅助功键(空格翻页、上下键/回车一行行查看、数字+空格指定行)能查看更多wc 选项 文件的路径
:统计文件内容信息(行数、单词数、字节数)
wc -l
:行数wc -w
:单词数wc -c
:字节数date
:表示操作时间日期(读取、设置),输出格式为2023年9月26日21:49:17
date +%F
:输出形式为2023-9-26
date +"+%F %T"
:引号表示年月日与时分秒成为一个整体,输出形式 2023-9-26 21:49:17
date -d "-1 day"
:获取之前或者之后的某个时间(备份)
cal
:直接输出当前月份的日历cal -3
:输出上月、本月、下月的日历cal -y 年份
:输出整年的月份clear
:清除终端中已经存在的命令和结果(信息)hostname
:输出完整主机名hostname -f
:输出当前主机名中的FQDN(全限定域名)id
:默认显示当前执行该命令的用户的基本信息id 用户名
:显示指定用户的基本信息whoami
:一般用于shell脚本,用于获取当前操作的用户名方便记录日志top
:查看服务器进程占用资源
du -sh 目录路径
:查看目录的真实大小
-s
:summaries,只显示汇总的大小-h
:以高可读的形式显示find 路径范围 选项 选项的值
:用于查找文件(共有55个指令)-name
:按照文档名称进行搜索-type
:按照文档的类型进行搜索
service 服务名 start/stop/restart
:用于控制一些软件的服务启动/停止/重启kill 进程PID
:杀死进程kill all 进程名称
:与kill相似ifconfig
:获取网卡信息
reboot
:重新启动计算机reboot -w
:模拟重启(实际不重启)shutdown -h now "关机提示"或者shutdown -h 指定时间 "关机提示"
:关机
uptime
:输出计算机从开机到现在的时间uname
:获取操作系统的类型uname -a
:获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)man 命令
:手册reboot
前:ctrl + u 后:ctrl + k
rm -f /tmp/A*
cp /etc/passwd /tmp/
tail -3 /etc/passwd
wc -l /etc/passwd
cat /etc/passwd|wc -l
touch /tmp/test.conf
vim /tmp/test.conf
head -3 /etc/passwd
tail -3 /etc/passwd
mkdir -p /text/1/2/3/4
cd ~
cd
du -sh /etc
rm -rf /tmp/*
service httpd start
ps -ef|grep httpd
killall httpd
^
$
gg
G
按键PageUp
/Ctrl+b
按键PageDown
/Ctrl+f
yy
数字yy
ctrl+v
,然后方向键上下左右进行选择p
dd
(删除之后的下一行上移)数字dd
D
:u
/u
ctrl+r
数字G
数字+方向键
:w
:w 路径
:q
:wq
:q!
:!外部命令
/关键
,通过按键选择上一个(N)下一个(n):nohl
:s/搜索的关键词/新的内容
:替换光标所在行第一处符合条件的内容:s/搜索的关键词/新的内容/g
:替换光标所在行的全部符合条件的内容:%s/搜索的内容/新的内容
:替换整个文档每行第一个符合条件的内容:%s/搜索的关键词/新的内容/g
:替换整个文档符合条件的内容
%
表示整个文件g
表示全局:set nu
:set nonu
a
:光标前插入i
光标后插入按下esc
:syntax on
:syntax off
ctrl+r
,然后输入 =
,光标回来到最后一行usermod 选项 用户名
,常用选项:
-g
:表示指定用户的用户主组,选项值可以是用户组的id,也可以是组名-G
:表示指定用户的用户附加组,选项值可以是用户组的id,也可以是组名-u
:修改用户ID(用户的标识符)-l 新用户名 旧用户名
:修改用户名groupadd 选项 用户名
,常用选项:
-g
:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组id数字groupmod 选项 用户组名
,常用选项:
-g
:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组id数字-n
:类似于用户修改“-l”,表示设置新的用户组名称groupdel 用户组名
重启网卡:service network restart
ln -s 原始文件的路径 快捷方式的路径
ifdown 网卡名
ifup 网卡名
service sshd start/stop/restart
hostname 主机名
开机启动服务查询:chkconfig --list
删除服务:chkconfig --del httpd 服务名
添加开机启动服务:chkconfig -add 服务名
设置服务在某个级别下开机启动/不启动:chkconfig -level 连在一起的启动级别 服务名 on/off
ntpdate 时间服务器的域名或IP地址
service ntpd start
chkconfig --level 35 ntpd on
chkconfig --list | grep iptables
service iptables start/stop/restart
service iptables status
iptables —L-n
查询:rpm -qa|grep 关键词
,选项:
-q
:查询-a
:全部卸载:rpm -e 软件的名称
安装
crontab 选项
,常用选项:
-l
:列出指定用户的计划任务列表-e
:编辑指定用户的计划任务列表-u
:指定的用户名,如果不指定,则表示当前用户-r
:删除指定用户的计划任务列表编辑计划任务
crontab权限问题:超级用户可以通过配置来设置某些用户不允许设置计划任务,配置文件(黑名单)位于:/etc/cron.deny
,里面写用户名,一行一个;还有一个配置文件(白名单)设置允许用户设置计划任务:/etc/cron.allow
(白名单高于黑名单)
chmod 选项 权限模式 文档
,常用选项:
chown -R username 文档路径
:更改文档的所属用户
chgrp -R groupname 文档的路径
:更改文档所属的用户组
chown -R username:groupname 文档路径
:更改所属的用户以及用户组
visudo
sudo -l
:普通用户查看自己具有哪些特殊权限网线是连接局域网必不可少的。在局域网中常见的网线主要有双绞线(RJ45接口)、铜轴电缆、光缆三种
交换机(Switch)意为“开关”,是一种用于电(光)信号转发的网络设备,交换机它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开、相对独立的网络
所谓“拓扑”就是把实体抽象成与其大小、形状无关的“点”,而把连接实体的线路抽象成“线”,进而以图的形式来表示这些点与线之间关系的方法,其目的在于研究这些点、线之间的相连关系。表示点和线之间关系的图被称为拓扑结构图。
常见的几种拓扑结构图:
ping 主机地址(IP地址/主机名/域名等)
:检测当前主机与目标主机之间的连通性(不是100%准确,有的服务器是禁ping)netstat -tnlp
:表示查看网络的连接信息(-t:tcp协议,-n:将字母转化成数字,-l“列出状态为监听,-p:显示进程相关信息)netstat -an
-a:表示全部,-n:将字母转化为数字)trancetoule 主机地址
:查找当前主机与目标主机之间所有的网关(路由器,会给各个路由器发送lcmp数据包,路由器可能会不响应)地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取(MAC)物理地址的协议。
当一个主机发送数据时,首先查看本机MAC地址缓存中有没有目标主机的MAC地址, 如果有就使用缓存中的结果;如果没有,ARP协议就会发出一个广播包,该广播包要求查询目标主机IP地址对应的MAC地址,拥有该IP地址的主机会发出回应,回应中包括了目标主机的MAC地址,这样发送方就得到了目标主机的MAC地址。如果目标主机不在本地子网中,则ARP解析到的MAC地址是默认网关的MAC地址。
常用语法:
arp -a:
查看本地缓存mac表arp -d 主机地址
:删除指定的缓存记录tcpdump 协议 port 端口
tcpdump 协议 port 端口 host 地址
tcpdump -i 网卡设备名
变量,先定义后再使用
关于单双引号的问题:双引号能够识别变量,双引号能够实现转义(类似于“\”)单引号是不能识别变量,只会原样输出,单引号是不能转义的
注意:反引号(esc键下方的那个键),当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号”。
readonly 变量名
:read -p 提示信息 变量名
unset 变量名
语法1:
if condition
then
command1
command2
...
fi
单行写法::if[condition];then command;fi
语法2:
if condition
then
command1
command2
...
else
command
fi
语法3:
if condition
then
command1
elif condition2
then
command2
...
else
commandN
fi
#./test.sh a b c
“*数据库是“按照数据结构来组织、存储和管理数据的仓库”。*是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,2008年被Sun公司收购,目前属于 Oracle 旗下产品。MySQL 是最流行的数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。其和php是黄金搭档(LAMP/LNMP)
目前市场上还有:Oracle(重量级的数据库)、MS SQL Server(微软)、Access(微软)、PostgreSQL、DB2、Mariadb(MySQL分支,完全兼容MySQL)。
rpm -qa|grep 关键词
:查询全部rpm -e 关键词 [--nodeps]
卸载(忽略依赖关系)rpm -ivh 完整名称
:安装一个软件rpm -Uvh 完整名称
:升级一个已经安装的软件rpm -qf 文件路径
:查询指定文件在那个包yum等傻瓜式安装
yum install mysql-server
数据库存储目录:/var/lib/mysql
配置文件:/etc/my.cnf
以Excel文件举例:
数据库:可以看作是整个excel文件。
数据表:可以看作是一个excel文件中的工作表。
行(记录):可以看作是一个工作表中的一行
列(字段):可以看作是一个工作表总的一列
SHOW DATABASES;
:显示当前MySQL中全部的数据库CREATE DATABASE 库名;
:创建数据库DROP DATABASE 库名;
:删除数据库USE 库名;
:切换数据库SHOW TABLES;
:显示当前数据库中所有的表名(必须先use数据库)
在当前数据库下创建数据表:
CREATE TABLE 表名称 在当前数据库下创建数据表
(
列名称1 数据类型 [NOT NULL AUTO_INCREMENT],
列名称2 数据类型,
列名称3 数据类型,
....,
PRIMARY KEY(主键字段名)
);
常见的数据类型:int(整型)、char(定长字符)、varchar(不定长字符)。主键一般就是序号所在的那一列(主键不能重复)。
DESC 表名;
:描述一个数据表(查看表结构)
DROP TABLE [IF EXISTS] 表名;
:删除一个数据表
SELECT 列名称1,列名称2… FROM 表名称 WHERE 条件;
SELECT * FROM 表名称 WHERE 条件;
DELETE FROM 表名称 WHERE 列名称 = 值;
mysqldump -uroot -p123456 -A > 备份文件路径
mysqldump -uroot -p123456 库名 > 备份文件路径
mysqldump -uroot -p123456 --databases db1 db2 > 备份文件路径
还原部分分:
还原全部数据库:
mysql> source 备份文件路径
mysql -uroot -p123456 < 备份文件路径
mysql> use 库名
mysql> source 备份文件路径
mysql -uroot -p123456 库名 < 备份文件路径
mysql> use 库名
mysql> source 备份文件路径
mysql -uroot -p123456 库名 < 备份文件路径
mysql> source 备份文件路径
mysql -uroot -p123456 < 备份文件路径
分为两大类:B/S架构、C/S架构。
B/S:B是指浏览器,S是指服务器。例如:百度搜索应用就属于BS架构软件。
C/S:C是指客户端,S是指服务器。例如:QQ、电脑端微信等应用程序都是CS架构。
在BS中,mysql有个典型的管理工具:PMA(phpMyAdmin)
CS中比较典型的软件:navicat、mysql workbrach
要解决的问题:允许mysql远程登录:
select host,user from user;
mysql> flush privileges;