Linux
文章平均质量分 68
Linux学习过程中遇到的问题,记录,分析,总结。
liulanba
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NAT 和 PNAT
NAT与PNAT技术对比与总结 NAT(网络地址转换)和PNAT(端口网络地址转换)是解决IPv4地址枯竭的核心技术。NAT通过修改IP包头实现私有IP与公网IP的转换,支持静态映射(1:1 NAT)和动态IP池分配。而PNAT(又称NAPT/PAT)在NAT基础上增加端口重写功能,允许多台内网设备通过单一公网IP的不同端口并发访问互联网,极大提升了IP复用效率。两种技术均能隐藏内网拓扑结构,但PNAT凭借端口级转换能力成为当前最主流的解决方案,典型实现如Linux的MASQUERADE规则。该技术使家庭/原创 2025-08-15 22:28:40 · 1296 阅读 · 0 评论 -
linux查询进程的启动时间
中的第 22 个字段提供了进程的启动时间(以 jiffies 为单位)。使用获取系统时钟频率,确定每秒的 jiffies 数量。使用来获取系统的启动时间,从而计算进程的启动时间。使用date命令将计算出的秒数转换为标准的日期时间格式。这种方法能够有效地查询进程的启动时间并将其转换为可读的格式。原创 2024-12-02 21:10:04 · 1860 阅读 · 0 评论 -
linux的挂卸载
使用fdisk或parted创建分区。使用mkfs格式化新分区。创建挂载点并使用mount命令挂载分区。修改/etc/fstab以便开机自动挂载。按照这些步骤,你就可以创建并挂载新的文件系统了。在 Linux 系统中,df命令用于显示文件系统的磁盘空间使用情况,通常用于检查挂载的文件系统、可用空间、已用空间等。df -h和df -ah都是df命令的变种,它们的区别在于输出的内容和单位的不同。df -h:显示常规磁盘分区的使用情况,并以人类可读的格式(KB、MB、GB)显示大小。原创 2024-12-02 20:29:19 · 1690 阅读 · 0 评论 -
nginx使用详解--负载均衡
参考链接:https://blog.youkuaiyun.com/liulanba/article/details/115557512Session 不共享问题是说,假设用户已经登录过,此时发出的请求被分配到了 A 服务器,但 A 服务器突然宕机,用户的请求则会被转发到 B 服务器。但由于 Session 不共享,B 无法直接读取用户的登录信息来继续执行其他操作。实际应用中,我们可以利用 ip_hash,将一部分 IP 下的请求转发到运行新版本服务的服务器,另一部分转发到旧版本服务器上,实现灰度发布。再者,如遇到文件过原创 2024-01-13 11:01:42 · 497 阅读 · 0 评论 -
什么是负载均衡?
负载均衡是在支持应用程序的资源池中平均分配网络流量的一种方法。现代应用程序必须同时处理数百万用户,并以快速、可靠的方式将正确的文本、视频、图像和其他数据返回给每个用户。为了处理如此高的流量,大多数应用程序都有许多资源服务器,它们之间包含很多重复数据。负载均衡器是位于用户与服务器组之间的设备,充当不可见的协调者,确保均等使用所有资源服务器。一个没有负载均衡的 web 架构类似下面这样:在这里用户是直连到 web 服务器,如果这个服务器宕机了,那么用户自然也就没办法访问了。原创 2021-04-10 12:48:59 · 115 阅读 · 0 评论 -
DNS详解
DNS(Domain Name System,域名系统)是互联网中的一种分布式命名系统,用于将域名(例如example.com)转换为对应的 IP 地址(例如192.0.2.1)。它充当了互联网上的电话簿,将易记的域名映射到计算机可以理解的 IP 地址。:DNS 的主要功能是进行域名解析。当用户在浏览器中输入一个域名时,操作系统会向本地 DNS 解析器发送查询请求。本地解析器首先检查自己的缓存,如果缓存中没有找到对应的 IP 地址,则会向根域名服务器发送查询请求。原创 2024-01-22 15:09:53 · 1661 阅读 · 0 评论 -
iptables使用详解
iptables是Linux系统中基于Netfilter框架的防火墙工具,用于配置网络数据包过滤规则。核心功能包括防火墙访问控制、NAT地址转换、端口转发和流量管理。通过表(filter/nat/mangle等)和链(INPUT/OUTPUT/FORWARD等)组织规则,可实现:1)服务器安全防护,默认拦截入站流量仅开放必要端口;2)网关路由,支持SNAT共享上网和DNAT端口映射;3)流量监控与策略路由。典型应用场景涵盖个人服务器防护(如SSH/Web服务)、企业网络网关(NAT转换)和内网服务暴露(端口原创 2024-01-22 15:08:11 · 468 阅读 · 0 评论 -
iproute使用详解
摘要 iproute2 是 Linux 系统中的现代网络管理工具集,用于替代传统的 net-tools(如 ifconfig、route)。其核心工具 ip 通过 Netlink 与内核交互,支持接口管理(ip link)、IP 地址配置(ip addr)、路由管理(ip route)、ARP 缓存操作(ip neigh)及网络命名空间(ip netns)。相比 net-tools,iproute2 语法统一、性能更优,并支持策略路由、VRF 等高级功能。典型操作包括:启用网卡(ip link set et原创 2024-01-22 15:07:40 · 3823 阅读 · 0 评论 -
traceroute使用浅析
traceroute命令是一种用于确定IP数据包从源到目标所经过的路由路径的网络诊断工具。它通过发送一系列的ICMP(Internet Control Message Protocol)数据包,来探测到目标主机的路由路径,并在终端输出路由路径上每个节点的IP地址和响应时间。原创 2024-01-15 19:28:14 · 1084 阅读 · 0 评论 -
Linux的进程,协程和线程
Linux的进程、协程和线程是计算机科学中重要的概念,它们在操作系统和并发编程中发挥着关键的作用。让我们逐个详解这些概念,并讨论它们之间的关系。原创 2024-01-11 11:17:17 · 578 阅读 · 0 评论 -
Linux查看物理CPU个数、逻辑CPU个数、核数
1.systemd-detect-virt在虚拟环境中检测执行 ,它可以识别虚拟化技术,并且可以将完整的VM虚拟化与容器虚拟化区分开来。systemd-detect-virt退出,返回值为0(成功)是否检测到虚拟化技术,否则为非零(错误)。默认情况下,任何类型的检测到虚拟化,并且选–container和–vm可用于限制虚拟化的类型 检测到。如果输出为none,则说明是物理机。如果输出下面的信息如vmware,kvm等则表示这是一台虚拟机。原创 2024-01-09 19:41:18 · 6546 阅读 · 0 评论 -
linux的软链接和硬链接
在 Linux 中,有两种链接: 硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic Link)。硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。为解决文件的共享使用,Linux 系统引入了两种链接: 硬链接(hard link)与软链接(又称符号链接,即 soft link 或象征链接)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。原创 2023-12-21 17:28:21 · 622 阅读 · 0 评论 -
linux的磁盘管理
本文详细介绍了Linux磁盘管理的核心架构和端到端实现流程。主要内容包括:1)Linux磁盘管理的分层体系结构,从硬件层到应用层;2)磁盘管理全流程实现,涵盖磁盘识别与分区、文件系统创建与管理、挂载与自动挂载、LVM逻辑卷管理、RAID配置与管理以及磁盘配额管理;3)高级技术如Btrfs/ZFS文件系统管理和磁盘加密;4)实用的自动化管理脚本示例。文章提供了详细的命令操作指南,是一份全面的Linux磁盘管理实践手册。原创 2023-12-06 23:50:33 · 635 阅读 · 0 评论 -
linux的权限管理
文件权限指的是对文件或目录的读、写、执行等操作的权限,而用户权限则是指用户本身是否有权对该文件或目录进行操作,常用的权限控制命令包括chmod、chown、chgrp等。文件权限:文件权限包括读取(r)、写入(w)和执行(x)权限,可以通过chmod命令进行修改。w(写): 允许修改文件的内容,对目录来说,表示允许在目录中创建、删除文件。:使用该命令可以列出文件和目录的详细信息,包括文件权限、所有者、所属组等。r(读): 允许查看文件的内容,对目录来说,表示允许列出目录中的文件。对于目录,允许进入目录。原创 2023-12-06 23:45:54 · 859 阅读 · 0 评论 -
shell的正则表达
在Shell中,正则表达式是一种强大的工具,可以用于文本匹配和模式搜索。Shell中常用的工具包括grep、sed和awk,它们提供了对正则表达式的支持。下面详细解释一下Shell中的正则匹配。grep:grep命令用于在文件或文本流中搜索匹配某个模式的行。它支持使用正则表达式进行模式匹配。sed:sed命令用于对文本进行流式编辑。它可以使用正则表达式来匹配和替换文本中的模式。awk:awk是一种强大的文本处理工具,它可以根据模式和动作来处理文本数据。awk支持使用正则表达式来匹配和处理数据。原创 2023-12-06 23:44:22 · 446 阅读 · 0 评论 -
域名解析--nslookup和dig
特性nslookupdig缓存可能使用本地缓存(操作系统缓存)不使用本地缓存,始终从指定的 DNS 服务器获取结果递归查询默认会执行递归查询(如果缓存找不到则递归)默认执行递归查询(除非指定了非递归查询)查询方式可能依赖本地缓存,查询速度较快始终通过指定的 DNS 服务器执行查询灵活性较简单,适合一般的 DNS 查询功能更强,提供更详细的查询结果(如查询过程、TTL等)原创 2023-09-14 17:20:36 · 3809 阅读 · 2 评论 -
linux的namespace机制
需要注意的是,虽然命名空间提供了进程间的隔离,但它们仍然运行在同一个内核之下,共享内核的功能和系统调用。它将不同进程的资源分组并提供独立的命名空间,每个命名空间中的进程只能看到和访问自己所属的资源,而对其他命名空间中的资源是不可见的。Linux提供了多个命名空间类型,如PID命名空间、网络命名空间、挂载命名空间、UTS命名空间等,每个类型的命名空间都用于隔离不同的资源。进程隔离:命名空间允许将进程从宿主系统中隔离出来,进程在自己的命名空间中运行,不受其他进程的影响,从而实现更好的资源隔离和安全性。原创 2023-07-03 23:41:06 · 2694 阅读 · 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 · 5144 阅读 · 0 评论 -
linux proc系统
Linux的/proc文件系统是一个特殊的文件系统,它提供了访问内核和进程信息的接口。它不是一个存储在硬盘上的文件系统,而是一个虚拟的文件系统,存在于内存中,用于向用户和进程展示有关系统状态和进程信息的数据。原创 2023-07-03 17:23:10 · 2686 阅读 · 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 · 2949 阅读 · 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 · 11353 阅读 · 1 评论 -
shell实现数位补齐
printf 命令可以按照指定的格式输出字符串或数字。其中,格式化字符串可以包含一个或多个转换说明符,用于指定输出的格式。其中,使用 % 符号和转换字符可以实现数位补齐。其中,%02d 中的 0 表示补齐的字符,2 表示补齐后的位数,d 表示输出的是一个十进制整数。使用 printf 命令实现数位补齐可以保证输出的数字格式规范,便于后续处理和分析。在 shell 中,可以使用 printf 命令实现数位补齐。输出结果为 0020。还可以结合awk实现。原创 2023-03-09 20:54:46 · 8469 阅读 · 0 评论 -
linux路由机制
在 Linux 中,路由是一个非常重要的网络功能,可以实现不同网络之间的数据转发,Linux操作系统的路由机制是指在TCP/IP网络协议中,控制数据包从源地址到目的地址的转发过程。例如,通过ip route add命令可以添加一条新的路由记录,通过ip route del命令可以删除一条路由记录,通过ip route show命令可以查看当前的路由表。总之,在 Linux 中,路由转发和网关接口是网络功能的重要组成部分,通过使用路由表和命令来配置路由和网关接口,可以实现网络数据的转发和路。原创 2023-03-04 10:52:27 · 5227 阅读 · 0 评论 -
git基本操作
• 当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。• 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。原创 2022-12-15 16:33:19 · 17816 阅读 · 0 评论 -
八股取士--操作系统篇
CISC(复杂指令集):提供复杂的、功能强大的指令,易于编程但在内部实现时可能需要额外的微编码和复杂的硬件逻辑。代表:x86 架构。RISC(精简指令集):采用简单、固定格式的指令,强调寄存器操作和高效流水线执行,适合高并发和高能效计算。代表:ARM、MIPS 架构。Linux 内核:通过架构抽象层支持多种 CPU 架构,不论是 CISC 还是 RISC,都能利用各自的优势,同时保持一致的内核行为和接口。这种设计使得 Linux 成为一个高度可移植、适应性强的操作系统,能够运行在各种硬件平台上。原创 2022-01-14 11:49:14 · 7897 阅读 · 0 评论 -
linux stat命令
ctime指inode上一次变动的时间。inode文件数据block的位置。mtime指文件内容上一次变动的时间。atime指文件上一次打开的时间。链接数,即有多少文件名指向这个。文件拥有者的UserID。文件的GroupID。文件的读、写、执行权限。什么是inode?...原创 2022-04-13 23:36:17 · 3694 阅读 · 0 评论 -
shell的流程控制
其中,变量是需要进行判断的变量,模式是用来匹配变量的模式,命令是在匹配成功时需要执行的命令,而“;默认命令是在所有模式都不匹配时执行的命令。如果用户输入的是1、2或3,则分别输出相应的提示信息;如果用户输入的不是1、2、3,则输出默认的提示信息。Shell脚本提供了多种流程控制结构,用于根据条件执行不同的命令或控制脚本的执行流程。]]是Bash Shell中的条件判定符,与test命令类似,但提供了更多的功能和灵活性。需要注意的是,case语句中的模式可以使用通配符来匹配多个值。来匹配指定的字符范围,原创 2021-03-01 15:02:16 · 5463 阅读 · 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 · 3922 阅读 · 0 评论 -
sed找到指定字符并进行替换或者删除
发现全部的e都被替换为了大写,这是因为sed是对行进行操作的,所以需要进行行分隔。如果我们需要把are替换为arE。原创 2021-12-07 22:59:22 · 2584 阅读 · 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 · 2944 阅读 · 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 · 4602 阅读 · 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 · 4544 阅读 · 0 评论 -
shell的xargs命令详解
xargs是一个常用的Shell命令,用于将标准输入数据转换为命令行参数,并将这些参数传递给其他命令进行处理。常用于处理大量的文件名或者其他参数,它可以将这些参数分批处理,避免一次性处理过多的参数而导致命令行溢出。示例6:从find命令的输出中获取文件列表,并使用xargs将这些文件传递给grep命令进行搜索。示例4:使用-n选项,指定每次传递给命令的参数数量为2,将多个参数一起传递给命令echo。示例2:使用-I选项,将输入的每一行作为参数传递给命令echo进行输出。命令,最终输出每个文件的详细信息。原创 2021-12-15 22:56:11 · 5018 阅读 · 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 · 5879 阅读 · 0 评论 -
Linux学习书籍
学习Linux的时候整理了几本Linux的电子书,含有三本:《鸟叔的Linux私房菜-基础篇》第四版《Unix高级编程》《Linux就该这样学》需要的可以自取:链接:https://pan.baidu.com/s/1u1t8uKHJk1dL-XgScO-u3A提取码:j18z...原创 2021-02-22 19:12:13 · 2961 阅读 · 0 评论
分享