自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 10.非交互式的文本编辑器sed

sed -i '/^a/s/$/***/' 1.txt #先找到以a开头的行,别的命令都是在几行,所以s前没体现定位符,然后再进行替换操作,把末尾改成***,这是在末尾直接加,要想改末尾的最后一个字符就是.$查并输出这个文本第1行,然后再输出第 1+2行,1+2+2,1+2+2+2,1+2+2+2+2 ....直至文本结束,也就是1 3 5 7行。sed -i '2s/old/new/' 2.txt #换第2行的第1个old,第一行可以写1s。

2024-09-29 17:23:52 896 1

原创 9.Shell中的正则定位符

有些软件是支持这个扩展正则符号的,因为基本正则的符号相对复杂一些,扩展正则是做了一些精简,以及功能上的扩展,基本上也是与grep vi sed awk联用,这四个工具都支持扩展正则。匹配前面字符0次或者1次,对于shell来说,o oo ooo 每一个单独的o都是满足要求的,所以它会都展示出来,而且就算没有o,它也会匹配,所以会把内容全显示。#虽然2是过滤出来的,但是起不到我想要不包含a1行的效果了,所以也体现出正则是匹配字符的,而不是匹配行的,显示出来这些行是因为grep。

2024-09-29 17:19:52 967

原创 8.操作Shell中变量的字符串截取、替换、删除

这里的##代表从左往右删除,删除变量a中的所有root及它前面的内容,必须写*,不然到:root它就识别不了了,它会认为:root是一个整体,而不是root,此时并不会改变变量a本身的值。#这里的#代表从左往右删除,删除第一个匹配项,删除的是a这个变量里的第一个root,此时并不会改变变量a本身的值。字符串删除(相当于一种运算,在原有变量的基础上获得新的结果,删除和替换为空是不一样的,不会改变原来的变量的值)#给这个变量定义一个初始值,假如这个变量里的值为空,则这次会输出123,有值则输出a原本的值。

2024-09-25 15:03:42 607

原创 7.Shell中的函数

mkdir $1 #注意这里的$1不是位置变量,而是调用这个函数abc时,搭配的第一个变量,如果这里写的是个字符,比如mkdir haha,那调用时就不需要再带个值了,直接就写abc即可。#写函数名就是调用这个函数,因为你函数里的命令需要搭配变量,所以这里调用函数还需要带着变量,可以用位置变量也可以是自定义变量,也可以是任意一个值或字符。函数一般都是在for里面或者if里面调用,调用就直接写函数名,需要变量就配合变量,不需要就只写函数名。定义公共语句块,脚本中反复调用,达到精简脚本的目的。

2024-09-25 14:58:14 187

原创 6.Shell中的循环for、while

for i in 1 2 3 4 #这个1、2、3、4也可以写成haha、xixi、tc,有几个值就循环几次,每次循环时都相当于赋予变量i本次循环的参数,这个i也可以不参与执行命令。case 变量 in #这里的变量可以是位置变量,也可以各种其他变量,和for还是有些区别,for可以指定次数,case通常与位置变量连用。wait #wait的作用是这个脚本里的所有命令都执行完并且关闭了,才退出这个循环,不加的话,命令一执行完这个脚本就结束了。

2024-09-25 14:28:58 296

原创 5.Shell中的判断if、case

执行命令2 #如果符合条件2执行这个命令,这个elif条件测试可以有多个,匹配上,就不执行下列判断了。exit 2 #还要定义这个错误输出的返回值,只有返回值是非0才是异常。执行命令1 #如果符合条件1执行这个命令,不执行下列判断了。执行命令1 #如果符合条件则执行这个,下面的不执行。if双分支处理,如果满足if的条件测试,则执行命令1,不满足执行命令2。执行命令2 #如果不符合条件则执行这个。

2024-09-25 14:21:38 168

原创 4.Shell中的条件测试

测试/etc存在是否为真。前面的命令执行后的状态是否为0,如果为0继续执行后面的命令:&&前面的命令执行后的状态是否非0,如果非0继续执行后面的命令:||如果多个&&和||相结合的话,只判断前面是否成功,比如。-z:字符串或者变量的值如果为空,则为真即$?-n:字符串或者变量的值如果存在,则为真。-x:文档存在,且有可执行权限为真。-r:文档存在,且有可读权限为真。-w:文档存在,且有可写权限为真。-d:文档存在,且是目录为真。-f:文档存在,且是文件为真。此时123 456都会输出。

2024-09-25 14:12:26 215

原创 3.Shell中常用的特殊字符

/opt是正确输出结果,/opt/123不存在,也就是错误输出,那么test文件里就只能看到 ls: cannot access /root/haha: No such file or directory 这个内容。#/opt是正确输出结果,/opt/123不存在,也就是错误输出,那么test文件里就只能看到/opt这一个内容。#1.txt脚本是正确的,/root/haha是错误输出,其输出的所有结果都会被写进/opt/haha中。#/opt是正确输出结果,/opt/123不存在,也就是错误输出。

2024-09-25 14:06:40 339

原创 2.Shell中的数值计算

因为对于expr来说 * 在shell中是通配符,得先取消通配符的含义,它才是乘法,''和\都能取消符号的特殊含义。#\是转译符号,只会屏蔽后面一个字符的特殊含义,以空格区分是否是一个字符,比如echo $a1 就会输出a1。$[1+1] #不会在屏幕中输出,可以结合echo 看出结果,也可以用$()引用计算结果。$[a-a] #也支持变量和变量的计算,变量的值得是数字。(2)使用$[]和$(()) 命令,不会将运算结果输出到屏幕,它俩是一样的。

2024-09-25 14:04:13 301

原创 1.Shell脚本语言中的变量

当我们写完一个脚本,可以直接放在这个变量定义的目录里,此时那1个脚本就不用写绝对路径去执行而是可以直接执行了,我们使用的命令都在这些目录里。echo $USER #这个当前环境中的用户,谁去执行的这个脚本,输出谁的用户名,因为有可能不是root用户,此时就体现作用了。系统定义好的变量,可以直接使用的变量,这些变量名都是大写字母的组合,全局变量的意义就在于所有的bash(所有的终端都能使用)为了让脚本增加灵活度,适应多变的环境,而使用变量,变量是一个容器,以不变的名称存放可以变化的值。

2024-09-25 14:00:41 882

原创 5.LNMP与Memcache数据库结合实现session共享功能

mem和redis都叫内存数据库,数据都存内存里,所以速度极其快,但是断电后所有数据全部丢失,但是redis可以将数据自动同步到硬盘,memcache是最早的非关系数据库。以前6版本启动服务是service命令,现在7版本用systemctl,不管什么服务都可以用这个命令启动,但是得是yum装的所以才能这么启动,源码包装的就不能这么启动,然后服务器会给客户回复这个session文件,以数据包包头的形式,返回数据的包头叫cookie:里面写的就是id号,浏览器就收到了id号,但是用户看不出来。

2024-09-25 11:05:54 1080

原创 4.Nginx集群与Nginx优化

!!!集群篇!!!代理的作用:帮你干活的人,nginx代理你想上网,但是和对应网页不是同一网段,代理是与客户联通的,也与对应的后端网站服务器联通为什么有代理:一方面是帮助用户上网,一方面保证安全性,还有最重要的就是调度作用!用户访问代理时,它会将大部分访问量分散发给其他服务器,将负载均衡!具体操作:先将后端的两台web服务器搭上,后台两台机器可以用nginx也可以用apche,如果有防火墙关,有selinux关web1 和 web 2的网页内容应该是一模一样的,但是为了看出结果,所以不能做一样

2024-09-25 10:56:09 785

原创 3.LNMP环境部署、Nginx动静分离、Nginx地址重写

注意,FastCGI的内存消耗问题,一个PHP-FPM解释器将消耗约25M的内存。rpm -ivh mysql-community-libs-compat-8.0.37-1.el7.x86_64.rpm //不装这个不支持snmp,装不了net-snmp-devel包,这个包在zabbix中用到。以下是同www.c.com域名但是结尾以.php结尾的网页设置,也就是动态网页,当然用户输入的必须是www.c.com/index.php才可以动态访问。

2024-09-25 10:36:59 1230

原创 2.Nginx的用户认证、虚拟主机、SSL虚拟主机

192.168.10.10 www.b.com www.a.com //因为nginx的功能,当访问192.168.10.10这个ip时打开的是原始nginx网页,当访问www.b.com域名时打开的是b的网页。王 --------------------------------------------------- taobao(公钥 私钥) 私钥只在taobao手里不在网上传输。

2024-09-25 10:30:39 916

原创 39.网络装机服务PXE

cp /opt/shyiso/images/pxeboot/initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下。cp /opt/shyiso/images/pxeboot/vmlinuz /var/lib/tftpboot/ #复制 Linux系统的内核文件 到TFTP根目录下。使用redhat7.9的虚拟机做服务端,需要的服务是DHCP,TFTP,FTP,KICKSTART。

2024-09-25 09:36:52 546

原创 1.网站服务Nginx的编译安装

/网站根目录在哪,www没有去/usr/local/nginx下去创建,html能作为网页根目录是同理的。[root@proxy ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //方便后期使用,创建连接,且不占用空间,也可以用cp,但是慢。王 --------------------------------------------------- taobao(公钥 私钥) 私钥只在taobao手里不在网上传输。//指定端口号,一定要以分号结尾。

2024-09-24 09:51:18 710

原创 38.Linux系统中的yum仓库搭建方法

dev/cdrom /opt/shyiso iso9660 defaults 0 0 //光盘在系统中的位置是/dev/cdrom,挂载到指定目录,光盘的文件格式一般是iso9660。比如file:///tools/other这个目录里没有rpm软件包,是通过这个repodata目录里的引导文件,找到那些rpm包放在哪个目录里的,否则yum无法直接将众多的rpm包作为依赖使用。scp /root/桌面/tools.tar.gz root@192.168.4.7:/root。

2024-09-24 09:48:22 547

原创 37.Linux系统服务器的网卡链路聚合

balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)。802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置。配置网卡聚合连接:将网卡组合,生成一张虚拟网卡,理论上这张虚拟网卡,拥有两张网卡的带宽和传输效率。#指定成员网卡,真实网卡eth1。

2024-09-24 09:42:51 508

原创 36.Linux系统中的软连接与硬连接

软连接可存放在和原始文件或目录不同的分区、不同的文件系统下,且支持给目录做快捷方式。#但是要求,必须要与原文件在同一分区,同一个文件系统才行,且不支持给目录做快捷方式。#对硬连接的文件内容做出修改,源文件内容也会被修改,删除硬连接,源文件不会被删除。#区别与软连接,虽然也是做快捷方式,但是原始文件被删除,这个快捷方式仍然可用。#软连接的意思就是创建快捷方式,如果原始文件或目录被删除了,则快捷方式失效。ln -s 原始文件或目录 目标路径及名称(也就是软连接)rm -rf 软连接硬连接(绝对路径)

2024-09-24 09:41:16 153

原创 35.电子邮件服务postfix

419 #home_mailbox = Maildir/ #把注释去掉,指定把邮件发送到哪个位置,意思是发送到用户家目录下的/Maidir目录下。配置收邮件服务的配置文件/etc/dovecot/conf.d 不过它不是把所有配置放在一个配置文件里,而是方在这个目录底下的多个文件里。vim /etc/dovecot/conf.d/10-mail.conf #这是改收邮件的目录。从A网站注册邮箱,发给B网站用户,中间还要经过一个DNS服务器,每个网站是不同的服务器提供服务的。

2024-09-24 09:37:48 449

原创 34.上帝进程Systemd与管理命令systemctl

例如 sshd.service 的配置文件写入到/etc/sysconfig/sshd 当中!而如果是源码安装的比如nginx,要想用systemctl管理就得单独写在vim /etc/systemd/system里,至于怎么写,可以参考/lib/systemd/system中的*.service文件。不是.service而是直接管理服务的,写service文件时和直接操作服务用的,比如源码安装的nginx,它的管理命令是/usr/local/nginx/sbin/nginx。

2024-09-24 09:36:23 440

原创 33.连接远程终端服务SSH

意思就是加载失败,缺少秘钥文件,这个秘钥文件可以通过 yum provides /etc/rc.d/init.d/functions 查一下看看是哪个软件包提供的,下载这个软件包再加载秘钥即可。ExecStart=/usr/sbin/sshd -D $OPTIONS #这个变量里的这条命令就是启动服务的命令,options这个变量不存在,执行时就可以不写。这个软件是用来远程连接终端的服务,或者被别人连接都需要用到,简单来说,ssh是一种网络协议,用于计算机之间的加密登录。

2024-09-24 08:44:38 339

原创 32.时间同步服务NTP

chrony 是一个更加现代和安全的替代方案,‌它提供了更精细的控制,‌包括默认不允许外部访问,‌需要通过配置指定允许访问的客户端IP地址范围。chronyc -a makestep //可以立即与服务端同步时间,客户端使用,如果客户端没第一时间同步,需要重启。chronyc tracking //这个命令会显示当前的同步状态,是否正在同步,以及多久进行一次同步的估算。NTP服务采用的是分层设计,最多只能到15层,第一层是国家的,第二层可以是个人做的服务器,

2024-09-24 08:43:14 432

原创 31.网络文件系统共享NFS

这个ip是只允许这个172.25网段IP的客户端访问该NFS共享目录,要想所有客户端都能访问的话,就改称0.0.0.0后面不写子网掩码即可。no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员。root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户。客户端访问NFS共享目录:需要先把服务器端的共享目录挂载到本地,才可以访问。2.在指定位置创建共享目录:mkdir /nfs。

2024-09-24 08:42:29 303

原创 30.文件传输协议FTP

vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件,此文件需用户建立,再将需锁定在自己home目录的用户列入其中,每行一个用户。#userlist_deny=YES时,则阻止/etc/vsftpd/user_list文件中的用户登录FTP服务器,设置为NO则不阻止。ftp> lcd /etc //切换到客户端本机的/etc目录下,准备上传51/etc里的文件到50中的ftp共享目录里,但是不会退出ftp>这个环境。

2024-09-20 11:44:36 1147

原创 29.自动分配ip地址服务DHCP

ARP(地址解析协议,Address Resolution Protocol)是一种用于将IP地址映射到物理硬件地址(如MAC地址)的协议。DHCP服务器响应请求 --> DHCPoffer --> 单播包 (服务器响应)DHCP是应用层的协议,DHCP使用传输层中的UDP协议进行通信,而TCP则使用TCP协议,马上分配ip地址。Tcp的三次握手需要ip地址来握手,在没有ip地址的情况下是无法建立连接的,所以采用udp协议进行通信。#指定地址池的范围,默认从最小开始分配。

2024-09-20 11:42:57 481

原创 28.域名解析DNS服务

例如:www.tedu.qq.com www.tedu.nb.com.cn(www是你自定义的主机名,tedu是你决定的域名, qq.com和nb.com.cn是运营商指定的域名后缀)例如:www.tedu.com.cn www.tedu.com(www是你自定义的主机名,tedu是你决定的域名, .com.cn和.com是运营商指定的域名后缀)完整合格的主机名:www.baidu.com #由www.这个主机头部,加baidu.com这个完整域名组成,这个baidu.com这个域名就是你花钱买的了!

2024-09-20 11:23:51 668

原创 27.Linux系统中的日志文件

以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。mail.none;/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。

2024-09-20 11:22:15 1167

原创 26.Linux网卡配置文件详解

配置文件通常位于/etc/sysconfig/network-scripts/ifcfg-<interface>,其中<interface>是网卡名称,如eth0。BOOTPROTO=static /静态这里要改static,不获取网络地址是none。HWADDR=00:0C:29:EB:9B:D8 /网卡的uuid。IPADDR=192.168.150.10 /网卡地址。NAME=ens33 /网卡名称。DEVICE=ens33 /设备名称。

2024-09-20 11:10:09 220

原创 25.常见服务的默认端口号

一般来说,这个进程启动的时候,也会被赋予一个端口号,操作系统会监听这个端口号,端口号是在配置文件中定义的。比如http这个服务,你只是安装了这个应用,但是没有启动的话,就不会有进程,更不会有端口。每一个应用程序启动的时候,都会产生一个进程,并且有一个唯一的进程ID,也就是PID。服务、协议、或程序的标识,只知道IP地址是无法找到目标主机中的程序的比如微信。端口的概念是网络层面的概念,可以通过TCP/UDP协议访问对应的端口应用。比如127.0.0.1:80,就是说这个端口的进程只能本机访问。

2024-09-19 08:44:12 292

原创 24.安全的web网站服务https

122行 SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt //指定网站根证书。100行 SSLCertificateFile /etc/pki/tls/certs/server0.crt //指定网站证书。107行 SSLCertificateKeyFile /etc/pki/tls/private/server0.key //指定网站私钥。下载网站证书:wget 网站证书url。

2024-09-19 08:43:16 296

原创 23.web网站服务apache

httpd服务的运行身份:为了保障服务器系统的安全,访问web网站的用户,是以apache这个用户访问/var/www/html,这个用户是下载httpd软件时,软件包的脚本自动创建的/sbin/nologin用户。#指定存放网页的根目录,对于一个网站来说 http://www.aaa.com/var/www/html 这个路径叫做 / 路径。客户访问http://172.25.0.11/nsd,就相当于访问的是服务器的/var/www/myweb/nsd。

2024-09-19 08:42:07 654

原创 22.不同操作系统间的文件共享服务samba

samba:跨平台的共享服务,可以实现windows与Linux的数据共享与传输,前提需要防火墙开启,为客户端提供共享使用的文件夹。setsebool samba_export_all_ro on #ro的意思是只读 on即开放这个服务off是关闭。2.管理smb的共享账户:将服务器现有的用户设置成smb用户,并独立设置密码,用于客户端登陆。以上操作完成,用户即可以对共享目录拥有读写操作,不想让用户有写权限,配置文件中不指定用户即可。[common] #共享目录的名称。

2024-09-19 08:29:40 419

原创 21.网络中的Linux主机用户集中管理服务LDAP

3.DN(B):输入 dc=example,dc=com #dc是控制器的意思,要输入服务端的域名,也就是说baidu.com是域名,www只是拟定的名称不是域名。完成上述步骤,你只是能id识别这个用户,比如haha这个用户,但是其他主机上,实际是没有haha这个用户的家目录的,所以这时候本机就不能 su -haha 用于登录终端。LDAP用户:由网络中的一台LDAP服务器作为服务端,为整个集群里的所有主机统一提供用户信息,这样可以避免反复在每一台服务器录入用户。

2024-09-19 08:28:04 320

原创 20.数据库mariadb基础

为base表增加表记录:insert base values ('6','c','123') #相当于依次往base表里增加6、c、123这三列。#查找base表和location表,要求base表里的name是a,location表里的city是b,且base表里的id和location表里的id必须一样的行信息。常见的数据库软件:微软的SQLserver IBM的DB2 甲骨文的Oracle、MySQL 社区开源版的MariaDB(基本和mysql一致)(base表在当前库里,相对路径)

2024-09-18 16:46:45 454

原创 19.共享块存储服务iscsi

ipaddress这个字段是指定本机用哪个IP对外提供服务,因为服务器有多个网卡,如果不指定,就是本机所有网卡对外提供服务。#0.0.0.0是允许所有IP访问,也可以指定IP访问,3260是iscsi服务端口,3260也是默认端口。#i686这个后缀的意思是32位的软件包,64位默认已经装了,不需要装,两种都有没关系,默认会用64位的。1.划分一个空的且没有文件系统(有文件系统也没问题)的空分区,作为共享磁盘(可以是整块磁盘,或者分区,或者逻辑卷)#iqn是用来识别磁盘组,和实现验证客户端身份。

2024-09-18 16:45:38 418

原创 18.如何强制破解Linux用户密码

sh-4.2# touch /.autorelabel #标记下一次启动重做SElinux标签。switch_root:/# mount -o remount,rw /sysroot #以可读写方式重新挂载根系统。switch_root:/# chroot /sysroot #切换到根系统。sh-4.2# echo 密码 | passwd --stdin root #设置新的密码。

2024-09-18 16:44:55 305

原创 17.周期计划任务cron

30 23 1 * 5 bash /opt/a.sh #每月的1号或者每周周五的23:30执行bash /opt/a.sh的命令,月和周的关系是或的关系,两者满足其一就执行。0 8 * * 1-5 bash /opt/a.sh #周一到周五的每天8点0分执行一遍这个脚本,如果这个0是*,就是8点的每分钟都执行一遍。*/3 * * * * bash /opt/a.sh #每3分钟执行一遍这个脚本,*代表任意。小时 从0-23之间的整数。

2024-09-18 16:43:26 394

原创 16.shell脚本基础

echo ${a}7 则会输出1007,而你直接$a7,系统会认为a7是一个变量,{}里就是一个完整的变量,有的时候也用来存10这样的两位数的变量,而这个7就是常量。在使用 rm、rmdir、ls 等命令时,无论当前位于哪个目录,都可以直接使用,而无需指明命令的执行文件所在的位置(绝对路径),这是 PATH 环境变量在起作用。变量:为了让脚本增加灵活度,适应多变的环境,而使用变量,变量是一个容器,以不变的名称存放可以变化的值。执行命令1 #如果符合条件1执行这个命令,不执行下列判断了。

2024-09-18 16:42:39 519

原创 15.selinux与防火墙管理

firewall-cmd --permanent --zone=trusted --add-source=IP地址 #允许这个IP访问所有服务。#targeted类型是对系统中的服务进程进行访问控制,mls类型将对系统中所有的进程进行控制,一旦启用该类型,执行简单的ls命令都会报错。firewall-cmd --permanent --zone=block --add-source=IP地址。如果所有区域都没有该源IP地址的规则,就会进入默认区域,默认是public区域,这个默认区域是可以修改的。

2024-09-18 16:40:51 574

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除