黑马程序员linux运维下半部分笔记

因为部分操作过于简单与易懂,所以在接下来的笔记中并未做记录。博主提示:手动实践往往更容易学会。(实现过程附截图)

===================================================

用户

身份:ower、group、others、root
权限:read、write、execute

注意:在linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在目录是否有写权限,如果有才可以删除
查看权限:#ls -l 路径 ls -l等价于ll

‘d‘表示文件夹; ‘ - ‘表示文件; ‘l’表示软连接

语法:#chmod 选项 权限模式 文档
常用选项:
-R:设置递归权限(当文档类型为文件夹的时候)
注意事项:如果要给文档设置权限,操作者要么是root用户,要么是文档的所有者

如果在设置权限的时候不指定给谁设置,则默认给所有用户设置
举例:
给chinese.c文件(-rw-r–r--)设置权限,要求所有者拥有全部权限,同组用户拥有读写权限,其他用户也是读写权限
#chmod u+rwx,g+rw,o+rw chinese.c

还原权限(-):
#chmod u-x,g-w,o-w chinese.c

使用“=”操作
#chmod u=x,g=w,o=w chinese.c

#chmod u=rwx,g=rw,o=rw chinese.c

取消所有用户权限
#chmod a=— chinese.c

设置所有人拥有权限:
#chmod +rwx chinese.c 或者 #chmod a=rwx chinese.c 或者 #chmod a+rwx chinese.c

举例:
设置取消所有用户权限
#chmod 000 chinese.c

还原权限:#chmod 766 chinese.c

没有读权限无法对文件进行操作(能进入文件)
使用追加项可以对文件进行操作 “>>”

注意:在写权限的时候千万不要设置类似于上面这种情况,如果一个权限中但凡出现2与3的数字,则该权限有不合理的情况
使用数字形似的错误举例:

属主与属组

1、 chown
作用:更改文档的所属用户
语法:#chown -R username 文档路径

案例:将root用户的sugar目录所有者更改为yolo
#chown yolo sugar/

2、 chgrp
作用:更改文档的所属用户组
语法:#chgrp -R groupname 文档路径
案例:将root用户的sugar目录所有者更改为yolo,并且将所属组也改为yolo
#chgrp -R yolo sugar/

同时更改属主与属组
语法:#chown -R username:groupname 文档路径

扩展:
问题:在有些特殊情况下普通用户需要执行root权限,但是又不能将root用户的密码告诉普通用户,如何解决该问题?
方法:使用sudo(switch user do)命令进行权限设置,sudo可以让管理员(root)事先定义某些特殊命令谁可以只执行
默认sudo没有除root之外用户的规则,想要使用设置则先配置sudo
Sudo配置文件地址:/etc/sudoers

1、 配置sudo文件请使用“#visudo”,打卡之后使用方法和vim一致
2、 配置普通用户的权限

Root:表示用户名
All:表示允许登陆的主机
(All):表示以谁的身份执行,All表示root身份
All :表示当前用户可以执行的命令,多个命令可以使用“,”分割

案例:本身idler用户不能添加用户,要求使用sudo配置,将其设置为可以添加用户,并且可以修改除root用户之外的其他用户的密码。
如下为拒绝反馈:

注意:在写sudo规则的时候不建议写直接形式的命令,而是写命令的完整路径。
路径可以使用which命令来查看
语法:# !which 指令名称

开始添加相应权限,注意centos7之后版本可以直接掉换位置(先允许在拒绝)
修改命令:idler ALL=(ALL) /usr/sbin/useradd,/usr/bin/passwd,!/usr/bin/passwd root

成功在非root用户下对yolo用户进行密码修改

无法对root用户进行密码修改

注意:切换非root用户后,密码五分钟内不需要重新输入
常见centos、ubuntu都可以使用sudo命令
补充:普通用户如何查看自己的权限
#sudo -l
1957年,前苏联发射第一颗人造卫星,震惊美国
1958年美国国防部高级研究计划署成立(ARPA)
1969年,ARPANET(阿帕网),开始联机,因此1969年被称为iternet元年
网络分类:
LAN:局域网
MAN:城域网
WAN:广域网

IP公有地址:向inter NIC 申请
IP私有地址:非注册地址,专为机构内部使用
A类:10.0.0.0—10.255.255.255
B类:172.16.0.0—172.31.255.255
C类:192.168.0.0—192.168.255.255

Ping
作用: 检测主机与目标主机之间的联通性
语法:#ping 主机地址(IP地址、主机名、域名) -t

Netstat
作用:查看网络的连接信息
语法:#netstat -tnlp (tcp协议、将字母转化成数字、列出状态为监听、显示进程相关信息)
#netstat -an (全部、将字母转化成数字)

Traceroute(该命令需要安装)
作用:查找当前主机与目标主机之间所有的网关
语法:#traceroute 主机地址

Arp地址解析协议
语法:#arp -a 查看本地缓存MAC表
#arp -d 主机地址 删除指定的缓存记录

因为虚拟机和物理机存在网络通信,所以缓存依然存在

Tcpdump
作用:抓包、抓取数据表
语法:
#tcpdump 协议(tcp/udp) port 端口
#tcpdump 协议 port 端口 host 地址
#tcpdump -I 网卡设备名

项目上线(以阿里云为例)
购买服务器、购买域名、服务器添加域名站点、域名备案、域名解析、filezalli传输文件
官网:www.aliyun.com

Shell:

创建3sh.sh文件

修改执行权限(创建完成之后必须修改权限!!!)

执行/home/3sh.sh 路径写完整

如果文件在根目录下,可以用 . /文件名

Readonly (bash 命令不需要给权限)

接受用户输入(重点)
语法:read -p 提示语 变量名
案例:编写一个脚本practice.sh,要求执行后提示用户输入文件的名称(路径),然后自动为用户创建该文件

删除变量:
语法: unset 变量名

Shell脚本附带选项(重点)
问题:在linux中如何像内置命令一样传递一些选项呢?
例如:
传递# ./paper.sh a b c
接收:
在脚本中可以用“$1”来表示a,“$2”来表示b,以此类推

接收可以用“$”加上选项对应的序号即可

测试:编写paper.sh 传递a,b,c 输出其值

练习:创建自定义指令“user” , 可以直接执行,要求指令具备以下功能:
1、 #user -add 用户名 添加用户
2、#user -del 用户名 删除用户及其家目录

方法:
打开paper.sh文件

打开#vim ~/.bashrc,添加软连接

添加执行权限

重信登陆root用户刚才创建的指令才可生效

测试:
#user -add xiaomi

删除 #user -del xiaomi

Linux系统中的数据库
Centos7直接#yum -y install mysql-server 会报错

解决方案:

rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

Mysql初始化

开启mysql:#systemctl start sqld
查看状态:#systemctl status mysql
查看初试密码:#grep “temporary password” /var/log/mysqld.log (旧密码所在文件地址)

密码如果不符合要求则会有一下报错:

修改密码
mysql> alter user ‘root’@‘localhost’ identified by ‘Idler@123456’;
刷新权限
mysql>flush privileges;

Mysql基本操作
记录表示行、列表示字段

Show databases; 显示已经创建的数据库
Create database 库名; 创建数据库
Drop database 库名; 删除数据库
Use 库名; 调用数据库

Show tables; 显示当前数据库中所有表
Create table 表名(名称 数据类型 [primary key auto_increment],名称 数据类型,…,primary key(名称,[名称]));

常见数据类型:char(定长字符),varchar(不定长字符)

Desc 表名; 查看表
Drop table 表名 删除表

增加记录
字符等类型要加双引号
Insert into 表名 values (a,b,c…); 填写全部字段
Insert into 表名 (列,列,…) values (a,b,c); 部分字段

查询
Select * from 表名 where 条件;

更新记录
Update 表名 set 列名称=值,列名称=值,列名称=值… where 列名称=值;

删除记录
Delete from 表名 where 列名=值;

备份(不能在mysql内)
全量备份(数据+结构):#mysqldump -u root -p password -A > 备份文件路径/文件名.sql
指定备份(数据+结构):#mysqldump -u root -p password 库名 > 备份文件路径/文件名.sql
多个备份(数据+结构):#mysqldump -u root -p password --databases 库1 库2 库3 > 备份文件路径/文件名.sql

问题:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
方案:
修改密码
mysql> alter user ‘root’@‘localhost’ identified by ‘Root@123456’;
mysql>flush privileges;

设置每分钟备份数据库

分 时 日 月 周

还原数据库
Mysql命令行:mysql> source 备份文件路径
系统命令行:#mysql -uroot -pIdler < 备份文件路径

必须在一个database内进行还原

当source出现乱码时设置mysql字符集: mysql> set names utf-8(utf8,gbk);
三码一致:服务器端+传输过程中+客户端

云端服务器配置

===================================================

截图部分

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Linux运维工程师Markdown笔记是指Linux系统运维工程师使用Markdown语言来记录和组织与工作相关的笔记。Markdown是一种轻量级的标记语言,具有简洁、易读、易写的特点,适合用于文档编写和笔记整理。 首先,Linux运维工程师经常需要处理大量的技术文档和操作指南。使用Markdown可以轻松编写格式清晰、易于阅读的文档。Markdown的语法简单直观,只需要使用少量的标记符号,比如井号(#)用于标题、星号(*)用于强调等,使得编辑变得快捷高效。 其次,Markdown支持代码框和代码高亮功能,对于Linux运维工程师来说非常有用。他们可以使用Markdown编写包含代码的文档,以便在需要时共享和复用。使用Markdown标记代码块可以使代码在文档中保持格式整齐,并使用适当的语法高亮显示,增强可读性。 另外,Markdown还支持快速插入图像、链接、表格等元素,这对于Linux运维工程师来说也是很有价值的。他们可以将截图、示意图等插入到Markdown笔记中,更直观地展示问题和解决方案,提高沟通效率。 最后,Markdown对于版本控制工具的支持也很好。Linux运维工程师通常使用Git等版本控制工具来管理代码和文档,而Markdown的纯文本格式使其可以轻松地与Git集成,并进行版本追踪和变更比较。 总的来说,作为一种简洁、灵活且易于上手的标记语言,Markdown对于Linux运维工程师来说是一种理想的工具,可以帮助他们更好地整理笔记、编写文档,并与团队成员分享和协作。使用Markdown笔记,Linux运维工程师可以更高效地记录和共享工作中的知识和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值