![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 62
Linux学习过程中遇到的问题,记录,分析,总结。
liulanba
这个作者很懒,什么都没留下…
展开
-
nginx使用详解--负载均衡
参考链接:https://blog.csdn.net/liulanba/article/details/115557512Session 不共享问题是说,假设用户已经登录过,此时发出的请求被分配到了 A 服务器,但 A 服务器突然宕机,用户的请求则会被转发到 B 服务器。但由于 Session 不共享,B 无法直接读取用户的登录信息来继续执行其他操作。实际应用中,我们可以利用 ip_hash,将一部分 IP 下的请求转发到运行新版本服务的服务器,另一部分转发到旧版本服务器上,实现灰度发布。再者,如遇到文件过原创 2024-01-13 11:01:42 · 387 阅读 · 0 评论 -
什么是负载均衡?
负载均衡是在支持应用程序的资源池中平均分配网络流量的一种方法。现代应用程序必须同时处理数百万用户,并以快速、可靠的方式将正确的文本、视频、图像和其他数据返回给每个用户。为了处理如此高的流量,大多数应用程序都有许多资源服务器,它们之间包含很多重复数据。负载均衡器是位于用户与服务器组之间的设备,充当不可见的协调者,确保均等使用所有资源服务器。一个没有负载均衡的 web 架构类似下面这样:在这里用户是直连到 web 服务器,如果这个服务器宕机了,那么用户自然也就没办法访问了。原创 2021-04-10 12:48:59 · 29 阅读 · 0 评论 -
DNS详解
DNS(Domain Name System,域名系统)是互联网中的一种分布式命名系统,用于将域名(例如example.com)转换为对应的 IP 地址(例如192.0.2.1)。它充当了互联网上的电话簿,将易记的域名映射到计算机可以理解的 IP 地址。:DNS 的主要功能是进行域名解析。当用户在浏览器中输入一个域名时,操作系统会向本地 DNS 解析器发送查询请求。本地解析器首先检查自己的缓存,如果缓存中没有找到对应的 IP 地址,则会向根域名服务器发送查询请求。原创 2024-01-22 15:09:53 · 1027 阅读 · 0 评论 -
iptables使用详解
iptables 是 Linux 系统上用于配置 IPv4 数据包过滤规则的工具。它可以用于设置和管理防火墙规则,网络地址转换(NAT),网络地址端口转换(PAT)等。iptables 是 Linux 内核中 Netfilter 框架的一部分。原创 2024-01-22 15:08:11 · 290 阅读 · 0 评论 -
iproute使用详解
iproute,或称为 iproute2,实际上是一套 Linux 内核网络协议栈工具,提供了一组用于配置网络接口、路由表、策略路由等网络参数的命令行工具。它并不是一个单一的命令,而是由多个独立的工具组成,用于替代传统的网络管理工具(例如 ifconfig、route 等),提供更丰富的功能和更灵活的网络配置。原创 2024-01-22 15:07:40 · 1909 阅读 · 0 评论 -
traceroute使用浅析
traceroute命令是一种用于确定IP数据包从源到目标所经过的路由路径的网络诊断工具。它通过发送一系列的ICMP(Internet Control Message Protocol)数据包,来探测到目标主机的路由路径,并在终端输出路由路径上每个节点的IP地址和响应时间。原创 2024-01-15 19:28:14 · 927 阅读 · 0 评论 -
Linux的进程,协程和线程
Linux的进程、协程和线程是计算机科学中重要的概念,它们在操作系统和并发编程中发挥着关键的作用。让我们逐个详解这些概念,并讨论它们之间的关系。原创 2024-01-11 11:17:17 · 508 阅读 · 0 评论 -
Linux查看物理CPU个数、逻辑CPU个数、核数
1.systemd-detect-virt在虚拟环境中检测执行 ,它可以识别虚拟化技术,并且可以将完整的VM虚拟化与容器虚拟化区分开来。systemd-detect-virt退出,返回值为0(成功)是否检测到虚拟化技术,否则为非零(错误)。默认情况下,任何类型的检测到虚拟化,并且选–container和–vm可用于限制虚拟化的类型 检测到。如果输出为none,则说明是物理机。如果输出下面的信息如vmware,kvm等则表示这是一台虚拟机。原创 2024-01-09 19:41:18 · 3661 阅读 · 0 评论 -
linux的软链接和硬链接
在 Linux 中,有两种链接: 硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic Link)。硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。为解决文件的共享使用,Linux 系统引入了两种链接: 硬链接(hard link)与软链接(又称符号链接,即 soft link 或象征链接)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。原创 2023-12-21 17:28:21 · 485 阅读 · 0 评论 -
linux的磁盘管理
在 Linux 中,常用的文件系统包括 ext4、XFS、Btrfs、NTFS(用于与 Windows 共享数据)等。Linux 支持多种 RAID 级别,如 RAID 0、RAID 1、RAID 5、RAID 6 等。磁盘(硬盘):Linux 系统中的磁盘通常是通过 SATA、SCSI、NVMe 等接口连接的物理硬盘。挂载:通过挂载,可以将分区或其他存储设备连接到 Linux 文件系统中的指定目录(挂载点)。可以使用工具如 quotacheck、edquota、quota 等来配置和管理硬盘配额。原创 2023-12-06 23:50:33 · 559 阅读 · 0 评论 -
linux的权限管理
文件权限指的是对文件或目录的读、写、执行等操作的权限,而用户权限则是指用户本身是否有权对该文件或目录进行操作,常用的权限控制命令包括chmod、chown、chgrp等。文件权限:文件权限包括读取(r)、写入(w)和执行(x)权限,可以通过chmod命令进行修改。w(写): 允许修改文件的内容,对目录来说,表示允许在目录中创建、删除文件。:使用该命令可以列出文件和目录的详细信息,包括文件权限、所有者、所属组等。r(读): 允许查看文件的内容,对目录来说,表示允许列出目录中的文件。对于目录,允许进入目录。原创 2023-12-06 23:45:54 · 587 阅读 · 0 评论 -
shell的正则表达
在Shell中,正则表达式是一种强大的工具,可以用于文本匹配和模式搜索。Shell中常用的工具包括grep、sed和awk,它们提供了对正则表达式的支持。下面详细解释一下Shell中的正则匹配。grep:grep命令用于在文件或文本流中搜索匹配某个模式的行。它支持使用正则表达式进行模式匹配。sed:sed命令用于对文本进行流式编辑。它可以使用正则表达式来匹配和替换文本中的模式。awk:awk是一种强大的文本处理工具,它可以根据模式和动作来处理文本数据。awk支持使用正则表达式来匹配和处理数据。原创 2023-12-06 23:44:22 · 354 阅读 · 0 评论 -
域名解析--nslookup和dig
它支持各种DNS记录类型的查询,包括正向和反向查询,还可以指定查询的DNS服务器和传输协议。执行命令nslookup,进入交互式模式,然后输入server DNS_server_address,其中DNS_server_address是你要查询的DNS服务器的地址。执行命令nslookup domain,其中domain是你要查询的域名,nslookup将向默认的DNS服务器发送查询请求,并返回与该域名相关的IP地址。dig 可以查询不同类型的 DNS 记录,如 A 记录、CNAME 记录、MX 记录等。原创 2023-09-14 17:20:36 · 2876 阅读 · 0 评论 -
linux的namespace机制
需要注意的是,虽然命名空间提供了进程间的隔离,但它们仍然运行在同一个内核之下,共享内核的功能和系统调用。它将不同进程的资源分组并提供独立的命名空间,每个命名空间中的进程只能看到和访问自己所属的资源,而对其他命名空间中的资源是不可见的。Linux提供了多个命名空间类型,如PID命名空间、网络命名空间、挂载命名空间、UTS命名空间等,每个类型的命名空间都用于隔离不同的资源。进程隔离:命名空间允许将进程从宿主系统中隔离出来,进程在自己的命名空间中运行,不受其他进程的影响,从而实现更好的资源隔离和安全性。原创 2023-07-03 23:41:06 · 2452 阅读 · 0 评论 -
linux的cgroup
配额值表示允许使用的CPU时间量,周期值表示配额的计算周期。设置资源限制:可以通过cgroup文件系统中的文件,如/sys/fs/cgroup/[subsystem]/[cgroup_name]/[resource_file],设置特定cgroup的资源限制,如CPU配额、内存限制等。创建和删除cgroup:可以使用cgroup文件系统中的特定文件,如/sys/fs/cgroup/[subsystem]/[cgroup_name]/tasks,将进程添加到指定的cgroup中,或从cgroup中删除进程。原创 2023-07-03 23:35:31 · 4596 阅读 · 0 评论 -
linux proc系统
Linux的/proc文件系统是一个特殊的文件系统,它提供了访问内核和进程信息的接口。它不是一个存储在硬盘上的文件系统,而是一个虚拟的文件系统,存在于内存中,用于向用户和进程展示有关系统状态和进程信息的数据。原创 2023-07-03 17:23:10 · 2470 阅读 · 0 评论 -
dig/curl/ping的用法和区别
curl可以帮助用户检测网络连接是否正常,例如测试某个网站是否可以正常访问,或者查看某个URL返回的内容是否正确。dig是一种DNS工具,用于查询DNS服务器上的域名解析信息。dig可以帮助用户诊断DNS解析问题,例如查询某个域名是否被正确解析,或者查看某个域名的DNS记录是否正确。因此,dig和curl的主要区别在于它们的功能和使用场景。dig用于查询DNS解析信息,而curl用于检测网络连接和获取网页内容。dig和curl都是网络工具,但它们的功能和使用场景不同。原创 2023-07-03 17:20:07 · 2508 阅读 · 0 评论 -
Permission denied (publickey). fatal: Could not read from remote repository.
Git的SSH公钥是用于通过SSH协议进行身份验证和授权的公钥,它允许在Git版本控制系统中访问需要身份验证的仓库。3.在左侧菜单中选择“SSH and GPG keys”(SSH和GPG密钥),然后单击“New SSH key”(新SSH密钥)按钮。否则,表示没有访问远程仓库的权限,可能是因为没有正确配置 SSH 密钥或没有在 Github 上将公钥添加到的帐户中。4.在“Title”字段中提供一个描述性的名称,然后将刚刚生成的SSH公钥(.pub)的内容复制到“Key”字段中。原创 2023-03-24 00:10:30 · 10273 阅读 · 1 评论 -
shell实现数位补齐
printf 命令可以按照指定的格式输出字符串或数字。其中,格式化字符串可以包含一个或多个转换说明符,用于指定输出的格式。其中,使用 % 符号和转换字符可以实现数位补齐。其中,%02d 中的 0 表示补齐的字符,2 表示补齐后的位数,d 表示输出的是一个十进制整数。使用 printf 命令实现数位补齐可以保证输出的数字格式规范,便于后续处理和分析。在 shell 中,可以使用 printf 命令实现数位补齐。输出结果为 0020。还可以结合awk实现。原创 2023-03-09 20:54:46 · 7217 阅读 · 0 评论 -
linux路由机制
在 Linux 中,路由是一个非常重要的网络功能,可以实现不同网络之间的数据转发,Linux操作系统的路由机制是指在TCP/IP网络协议中,控制数据包从源地址到目的地址的转发过程。例如,通过ip route add命令可以添加一条新的路由记录,通过ip route del命令可以删除一条路由记录,通过ip route show命令可以查看当前的路由表。总之,在 Linux 中,路由转发和网关接口是网络功能的重要组成部分,通过使用路由表和命令来配置路由和网关接口,可以实现网络数据的转发和路。原创 2023-03-04 10:52:27 · 5051 阅读 · 0 评论 -
git基本操作
• 当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。• 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。原创 2022-12-15 16:33:19 · 17695 阅读 · 0 评论 -
操作系统常见的40道面试题
1). 死锁的概念在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲,就是两个或多个进程无限期的阻塞、相互等待的一种状态。2). 死锁产生的四个必要条件互斥:至少有一个资源必须属于非共享模式,即一次只能被一个进程使用;若其他申请使用该资源,那么申请进程必须等到该资源被释放为止;占有并等待:一个进程必须占有至少一个资源,并等待另一个资源,而该资源为其他进程所占有;原创 2022-01-14 11:49:14 · 6626 阅读 · 0 评论 -
linux stat命令
ctime指inode上一次变动的时间。inode文件数据block的位置。mtime指文件内容上一次变动的时间。atime指文件上一次打开的时间。链接数,即有多少文件名指向这个。文件拥有者的UserID。文件的GroupID。文件的读、写、执行权限。什么是inode?...原创 2022-04-13 23:36:17 · 3526 阅读 · 0 评论 -
shell的流程控制
其中,变量是需要进行判断的变量,模式是用来匹配变量的模式,命令是在匹配成功时需要执行的命令,而“;默认命令是在所有模式都不匹配时执行的命令。如果用户输入的是1、2或3,则分别输出相应的提示信息;如果用户输入的不是1、2、3,则输出默认的提示信息。Shell脚本提供了多种流程控制结构,用于根据条件执行不同的命令或控制脚本的执行流程。]]是Bash Shell中的条件判定符,与test命令类似,但提供了更多的功能和灵活性。需要注意的是,case语句中的模式可以使用通配符来匹配多个值。来匹配指定的字符范围,原创 2021-03-01 15:02:16 · 5347 阅读 · 0 评论 -
shell /dirname/basename/realpath的使用
1.dirname $path用于获取$path的上一级目录,不对目录是否存在进行判断建立一个目录用于测试:文件存在时:$ dirname /e/res/kk.docx /e/res文件不存在时:$ dirname /e/res/kk.sh /e/res因此dirname可以用于在脚本中获取当前脚本所在目录:curPath=$(cd $(dirname $0);pwd)echo $curPath2.basename $path用于获取$path路径下的文件名称,即:最后原创 2021-12-07 22:49:30 · 3495 阅读 · 0 评论 -
sed找到指定字符并进行替换或者删除
发现全部的e都被替换为了大写,这是因为sed是对行进行操作的,所以需要进行行分隔。如果我们需要把are替换为arE。原创 2021-12-07 22:59:22 · 2479 阅读 · 0 评论 -
shell删除\
使用sed操作时,需要删除字符串中的,但是\本身就是转义字符,删除有些特殊:使用\转义第二个\为普通字符,但是删除失败:Administrator@XTZJ-20211002VW MINGW64 /e/test$ echo "\a \b \\c" | sed s"|\\||"gsed: -e expression #1, char 6: unterminated `s' command需要再加一个\进行转义:Administrator@XTZJ-20211002VW MINGW64 /e/t原创 2021-12-20 22:17:21 · 2777 阅读 · 0 评论 -
linux 远程连接和文件传输
前提条件:本机和远程连接的机器在同一个局域网下1.远程连接ssh root@192.168.64.99password:输入密码即可登录到另一台机器,然后进行的操作都是在192.168.64.99上面运行的,如果想回到本机,exit即可2.远程控制ssh root@192.168.64.99 pwd;ls在另一台机器执行shell命令ssh root@192.168.64.99 sh /usr1/test.sh在另一台机器执行shell脚本3.文件传输scp -r tes原创 2021-10-29 21:20:47 · 4443 阅读 · 0 评论 -
awk 用多个分隔符处理字符串/以及自定义分隔符
需求:获取hello world这个字符串s1="windows<hello world>Linux<github>"解决:使用通配符[]表示任取中括号里面的一个字符,因此里面的每一个字符都会被当作分隔符Administrator@XTZJ-20211002VW MINGW64 ~$ echo $s1 | awk -F "[<>]" '{print $2}'hello world......原创 2021-12-20 22:01:22 · 4204 阅读 · 0 评论 -
shell的xargs命令详解
xargs是一个常用的Shell命令,用于将标准输入数据转换为命令行参数,并将这些参数传递给其他命令进行处理。常用于处理大量的文件名或者其他参数,它可以将这些参数分批处理,避免一次性处理过多的参数而导致命令行溢出。示例6:从find命令的输出中获取文件列表,并使用xargs将这些文件传递给grep命令进行搜索。示例4:使用-n选项,指定每次传递给命令的参数数量为2,将多个参数一起传递给命令echo。示例2:使用-I选项,将输入的每一行作为参数传递给命令echo进行输出。命令,最终输出每个文件的详细信息。原创 2021-12-15 22:56:11 · 4257 阅读 · 0 评论 -
debian添加IP
需求:debian设置两个IP:192.168.1.x192.168.64.x1.进入修改文件目录:cd /etc/network2.编辑文件sudo vim interfaces3.添加IP进入文件之后点击i进入编辑模式,仿照如下添加第二个ip,有的系统是allow-hotplug,可以直接修改为auto完成之后点击ESC退出编辑模式,输入:wq!4.重启回车回到目录,可以使用networking restart重启网络,如果系统没有安装该命令,直接重启debia原创 2021-04-21 10:50:17 · 5102 阅读 · 0 评论 -
Linux学习书籍
学习Linux的时候整理了几本Linux的电子书,含有三本:《鸟叔的Linux私房菜-基础篇》第四版《Unix高级编程》《Linux就该这样学》需要的可以自取:链接:https://pan.baidu.com/s/1u1t8uKHJk1dL-XgScO-u3A提取码:j18z...原创 2021-02-22 19:12:13 · 2851 阅读 · 0 评论