- 博客(29)
- 收藏
- 关注
原创 GitLab 零基础入门指南:从安装到项目管理全流程
本文介绍了GitLab的安装部署与基础使用指南。作为开源的代码托管平台,GitLab支持自托管部署,集成了Git仓库管理、CI/CD等DevOps工具。文章详细讲解了从deb包安装、配置域名解析到启动服务的完整流程,并介绍了GitLab的核心组件与目录结构。通过实战演示了群组创建、项目管理、用户权限分配等核心功能,以及本地项目推送至远程仓库的操作步骤。文中还提供了常用管理命令和问题排查方法,帮助读者快速掌握这个企业级协作平台的基础使用。
2025-08-10 20:53:04
650
原创 Git 与 GitHub 协作
本文介绍了Git与GitHub协作开发的完整流程。首先讲解远程仓库的作用和GitHub账号注册,详细演示了创建GitHub仓库步骤。重点说明SSH密钥的配置方法,实现安全免密连接。然后指导如何关联本地与远程仓库,包括添加远程地址、查看状态及更新操作。最后详细解析代码推送(git push)和拉取(git pull)的核心命令,涵盖首次推送、强制推送、标签推送等场景。通过这套标准化操作流程,开发者可以高效管理代码版本,实现团队协作开发。
2025-08-04 13:03:42
1006
原创 Git 的基本使用指南(1)
本文介绍了Git版本控制的核心功能,重点讲解了暂存区、提交操作和标签管理三大关键环节。暂存区作为变更预览区,允许开发者精准控制提交内容;提交操作则通过快照形式记录版本历史;标签功能可对重要版本进行标记。
2025-08-02 18:09:06
843
原创 Git 从入门到实战:新手必备的版本控制指南
《Git从入门到实战指南》详细介绍了Git的安装配置与基础使用。首先讲解了Windows和Linux系统的安装方法,包括默认配置建议和VSCode编辑器设置。接着介绍了三级配置体系(系统/全局/本地)和用户信息配置方法,包括默认分支设置。最后演示了仓库初始化流程,从创建项目文件夹到添加第一个HTML文件,并解释了文件跟踪状态的概念。本指南为Git新手提供了从环境搭建到基础操作的完整入门路径,为后续版本控制操作打下基础。
2025-08-01 11:29:39
645
原创 移除元素
这道题使用双指针中的快慢指针,首先我们设置两个指针 j(遍历)和 i(记录位置),当nums[j] 不等于 val 时,把 nums[j] 赋值到 nums[i],每次赋值后 i += 1,不断遍历 nums,把有效元素依次放到前面,最后返回元素的数量i。输入:nums = [3,2,2,3], val = 3 输出:2, nums = [2,2,] 解释:你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2。元素的顺序可能发生改变。
2025-03-22 17:41:46
281
原创 合并两个有序数组
进阶的方法是使用双指针,我们从两个数组的尾部开始比较,利用 nums1 尾部的空间从后往前填充,避免覆盖。每次选择较大的元素填充,并移动相应指针。处理完后,如果 nums2 还有剩余,则将其直接复制到 nums1 的前部。这道题有两种方法,简单一点的思路是直接把nums2的元素赋予nums1的尾部,然后进行排序。最终,合并后数组不应由函数返回,而是存储在数组。leetcode面试经典150题第一题。个元素表示应合并的元素,后。中,使合并后的数组同样按。
2025-03-22 12:50:41
309
原创 运行podman容器
容器镜像仓库是用于存储和管理容器镜像的地方,就像一个图书馆,而容器镜像则是图书馆中的书籍。可以在不同的环境中快速部署和迁移,只要目标环境支持容器运行时,就可以直接运行容器,无需担心环境差异导致的兼容性问题。而容器共享宿主机的操作系统内核,仅包含应用程序及其依赖项,开销极小,能够更高效地利用系统资源,在同一台宿主机上可以运行更多的容器实例。而容器由于共享内核,启动时只需启动应用程序本身,无需加载完整的操作系统,因此启动速度极快,通常可以在秒级甚至更短的时间内完成启动。可以将主机上的目录直接挂载到容器中。
2025-03-11 14:49:33
708
原创 管理网络安全
可以使用 semanage port - l 命令来获取当前端口标签分配概述。semanage 是用于管理 SELinux 策略的工具,port - l 选项用于列出所有已定义的端口标签及其相关信息,包括端口号、协议、SELinux 上下文类型等。
2025-03-10 17:12:00
432
原创 控制启动过程
BIOS初始化:在传统系统中,计算机加电后首先运行 BIOS。BIOS 负责进行硬件自检(Power - On Self - Test,POST),检查硬件设备(如内存、硬盘、显卡等)是否正常工作。然后,BIOS 根据用户设置的启动顺序,从指定的存储设备中读取主引导记录或 EFI 系统分区。引导加载程序:GRUB2是 RHEL 9 默认的引导加载程序。它会被 BIOS/UEFI 加载到内存中并运行。GRUB2 会显示一个启动菜单,允许用户选择不同的内核版本或操作系统。
2025-03-09 15:55:25
786
原创 访问网络附加存储
NFS即网络文件系统,允许不同的计算机通过网络访问服务器上的文件和目录,就像访问本地文件系统一样。主映射文件指定挂载点的根目录和对应的子映射文件,子映射文件中定义具体的挂载信息。编辑 /etc/exports 文件:该文件用于配置 NFS 共享目录的权限和访问规则。创建并编辑 /etc/auto.nfs 文件,添加具体的 NFS 共享目录挂载信息。直接映射直接在主映射文件中定义具体的挂载信息,不需要额外的子映射文件。创建共享目录,创建 /data/shared 目录作为共享目录。
2025-03-08 18:40:01
240
原创 管理存储堆栈
VDO是 Red Hat 开发的一种数据优化技术,它可以在 Linux 系统中对存储设备上的数据进行实时的压缩和重复数据删除处理,从而减少数据在存储设备上的实际占用空间。VDO 作为一个内核模块运行,位于文件系统和物理存储设备之间,对应用程序和文件系统是透明的,不需要对现有应用程序进行修改。
2025-03-08 16:43:48
739
原创 管理基本存储
即使物理内存不足,由于有 swap 空间的存在,系统仍然能够继续处理新的请求和任务,保证系统的正常运行。当系统过度使用 swap 时,频繁的内存页面交换会导致大量的磁盘 I/O 操作,从而使系统的响应速度变慢,性能显著下降。创建分区只是在磁盘上划分出不同的逻辑区域,确定了每个分区的起始和结束位置等信息,但此时分区还没有文件系统。使用 fdisk -l 命令查看系统中可用的磁盘设备,确定要进行分区的磁盘,例如 /dev/sda。使用 t 命令选择要设置类型的分区,然后输入分区类型的代码。
2025-03-07 18:40:06
457
原创 管理 SELinux 安全性
自由决定的访问控制是一种常见的访问控制模型,在这种模型中,资源的所有者可以自主决定谁能够访问该资源以及可以执行哪些操作。资源所有者拥有很大的自主权,可以根据自己的需求和判断来设置访问权限,能够适应不同用户和场景的多样化需求。访问控制主要基于用户的身份,例如用户的用户名、用户组等。只要用户的身份符合资源所有者设定的权限条件,就可以访问相应的资源。DAC 的实现相对简单,易于理解和管理,不需要复杂的策略配置和管理机制。然而,这也导致了其安全性相对较低,因为资源所有者可能会因为疏忽或错误配置而导致安全漏洞。
2025-03-07 18:38:07
446
原创 调优系统性能
默认情况下,top 并不会直接显示 nice 级别,但可以通过按下 f 键进入字段选择界面,使用上下箭头键找到 NI字段,按下空格键选中它,然后按下 q 键退出字段选择界面,此时 top 显示的进程列表中就会包含 nice 级别这一列。较高的 nice 值意味着进程的优先级较低,系统会分配相对较少的 CPU 时间给该进程;而较低的 nice 值则表示进程的优先级较高,系统会优先为其分配 CPU 资源。在 Linux 内核的进程调度算法中,每个进程都有一个优先级,nice 值会影响这个优先级。
2025-03-06 17:25:45
406
原创 归档和传输文件
rsync 最大的特点是支持增量传输,它会比较源文件和目标文件的差异,只传输那些有变化的部分,大大减少了传输的数据量,提高了传输效率,尤其适用于大文件或频繁更新的文件同步。xz (-J)是一种高压缩比的压缩算法,它能产生比 bzip2 更小的压缩文件,不过压缩和解压缩过程通常需要更多的时间和系统资源。生成的压缩文件扩展名为 .tar.xz。生成的压缩文件扩展名为 .tar.gz 或 .tgz。bzip2 (-j) 提供了比 gzip 更高的压缩比,即能将文件压缩到更小的体积,但压缩和解压缩的速度相对较慢。
2025-03-06 12:19:49
455
原创 分析和存储日志
syslog 消息是按照 syslog 协议生成和传输的日志消息。这些消息包含了日志的来源、日志的级别以及具体的日志内容。syslog 消息通常由 syslog 守护进程收集、处理和存储。许多系统服务和应用程序默认会使用 syslog 来记录它们的活动,例如网络服务、系统守护进程等。非 syslog 消息是指那些不遵循 syslog 协议生成和传输的日志消息。一些应用程序可能会有自己独立的日志记录机制,将日志信息直接写入特定的文件,而不通过 syslog 守护进程。
2025-03-05 12:10:12
1113
原创 调度未来任务
etc/crontab 文件是系统级的 crontab 文件,所有系统级的定时任务都可以在这里设置。该文件需要指定执行任务的用户。还可以在 /etc/cron.d/ 目录下创建自定义的 crontab 文件。该目录下的每个文件都可以包含一个或多个定时任务,文件的格式与 /etc/crontab 类似。
2025-03-05 12:05:17
335
原创 提高命令行运行效率
shell 模式匹配:语法相对简单,主要用于文件名扩展和简单的字符串匹配。常见的 shell 模式匹配字符有 *(匹配任意数量的任意字符)、?(匹配单个任意字符)、[](匹配方括号内指定的任意一个字符)等。PATH 是一个环境变量,它的主要作用是告诉 shell 在执行命令时应该在哪些目录中查找可执行文件。/bin/bash 是一种特殊的注释行,它位于脚本文件的第一行,用于指定该脚本要使用的解释器。echo 是一个常用的 shell 命令,其主要作用是将指定的文本或变量的值输出到标准输出。
2025-03-04 18:30:00
291
原创 访问Linux文件系统
挂载的过程实际上是将存储设备上的文件系统与文件系统中的一个目录进行关联,使得用户可以通过该目录访问存储设备上的文件和目录。find 命令会实时遍历文件系统来查找文件,因此可以找到最新创建或修改的文件,而 locate 命令搜索的是数据库中的信息,可能无法及时反映文件系统的最新变化。lsblk命令用于列出系统中的块设备信息,它可以显示磁盘、分区、磁带机等块设备的相关信息,包括设备名称、挂载点、文件系统类型、容量大小等。挂载点可以是系统中已有的目录,也可以是专门为挂载存储设备而创建的空目录。
2025-03-04 12:01:49
911
原创 安装和更新软件包
RPM是一种在 Linux 系统中广泛使用的软件包管理系统,最初由 Red Hat 公司开发。它用于打包、安装 -i、升级 -U、查询 - q和卸载 -e 软件包。
2025-03-03 13:18:53
492
原创 管理Linux网络
主机位全为 1 的地址表示该网络的广播地址,用于向网络中的所有主机发送广播消息,也不能分配给具体的主机。它由网络位和主机位两部分组成,网络位用于标识一个网络,主机位用于标识该网络中的具体主机。子网掩码中为 1 的位对应 IPv4 地址中的网络位,为 0 的位对应主机位。前缀长度表示地址中网络部分的位数,例如 /64 表示前 64 位是网络前缀,后 64 位是接口 ID。device:指的是物理或虚拟的网络设备,如以太网接口、无线网卡,每个设备都有唯一的硬件标识符,它是网络通信的物理基础。
2025-03-03 13:14:23
723
原创 配置和保护SSH
公钥可以公开分发,当其他人想要向持有私钥的用户发送加密信息时,使用公钥进行加密,只有对应的私钥才能解密。在 SSH 免密登录中,服务器使用客户端的公钥来验证客户端的身份。公钥:客户端生成的公钥默认存放在用户主目录下的 .ssh 目录中,文件名为 id_rsa.pub。默认情况下,会在用户主目录下的 .ssh 目录中生成 id_rsa(私钥)和 id_rsa.pub(公钥)两个文件。重启 SSH 服务,使修改后的配置生效。私钥:客户端的私钥默认存放在用户主目录下的 .ssh 目录中,文件名为 id_rsa。
2025-03-02 19:45:00
579
原创 控制服务和守护进程
守护进程不与特定的终端关联,因此不会受到用户登录或注销的影响,其主要目的是为系统或用户提供特定的服务。它会在系统的启动过程中添加相应的链接或配置,使得系统在下次启动时会自动启动该服务。这意味着服务在重启过程中会有短暂的停止时间,所有正在处理的任务都会被中断,然后重新初始化并启动服务。服务会在不停止的情况下读取新的配置信息,并根据新的配置进行调整,继续处理后续的请求。套接字单元(.socket):用于管理网络套接字,当有新的连接请求到达套接字时,systemd 可以根据配置启动相应的服务。
2025-03-02 14:32:20
897
原创 监控和管理Linux进程
f:以完整格式输出进程信息,显示的内容包括进程的父进程 ID、启动时间、CPU 时间、命令行等详细信息。信号 15(SIGTERM):当进程收到 SIGTERM 信号时,进程可以选择捕获该信号,并在终止之前执行一些清理操作,如保存数据、释放资源等。top:是一个动态的实时监控工具,会持续更新并显示系统中进程的资源使用情况,让用户实时了解系统的负载和进程的资源占用变化。僵尸状态(Z):进程已经结束,但它的父进程还没有回收其退出状态信息,此时进程成为僵尸进程,会占用一定的系统资源。
2025-03-01 17:52:03
413
原创 控制对文件的访问
文件系统权限是一种安全机制,用于控制用户和组对文件和目录的访问权限。它规定了不同用户角色(所有者、所属组、其他用户)对文件或目录可以执行的操作,如读取、写入和执行。Linux 系统为每个文件和目录分配了三组权限,分别对应文件的所有者、所属组和其他用户。每组权限包含读取(r)、写入(w)和执行(x)三种基本权限。当用户尝试访问文件或目录时,系统会根据用户的身份(所有者、所属组成员或其他用户)以及文件或目录的权限设置来决定是否允许该操作。
2025-03-01 12:41:19
567
原创 管理本地用户和组
不加 -r 选项:使用 userdel user 命令时,该命令只会从系统的用户数据库中移除该用户的相关记录,不会删除该用户的主目录以及该用户的邮件池等相关文件和目录。加 -r 选项:使用 userdel -r user 命令时,除了会从用户数据库中移除用户记录外,还会递归地删除该用户的主目录及其所有内容,同时也会删除该用户的邮件池等相关文件和目录。su - user:该命令不仅会切换到指定用户,还会模拟该用户登录系统的过程,会改变当前的工作目录到新用户的主目录,并加载新用户的环境变量。
2025-02-28 19:08:08
921
原创 创建、查看和编辑文本文件
在这个会话中,用户可以输入命令,Shell 会解释并执行这些命令,然后将结果返回给用户。当用户登录系统时,该文件会被执行,其中设置的环境变量会被所有用户的 Shell 会话继承。如果找到,则执行该文件;&> /dev/null:将标准输出和标准错误输出都重定向到 /dev/null,所以命令执行过程中产生的所有输出都会被丢弃,不会在屏幕上显示,也不会保存到任何文件中。用户可以通过多种方式启动多个 Shell 会话,不同的 Shell 会话之间相互独立,用户可以在每个会话中执行不同的命令,进行不同的操作。
2025-02-28 14:27:35
940
原创 从命令行管理文件
例如,当前工作目录是 /home/user,要访问 documents 目录下的 file.txt 文件,可以使用相对路径 documents/file.txt。文件间的链接是一种在文件系统中创建文件或目录引用的机制,它允许一个文件或目录有多个不同的名称或路径,这些名称或路径实际上指向同一个物理文件或目录。在进行文件操作时,如果要引用当前目录下的文件或目录,可以使用这个特殊目录。可以使用 ls -l 命令查看文件的详细信息,软链接在输出中会以箭头的形式显示指向的目标文件或目录,而硬链接的索引节点号相同。
2025-02-27 18:43:21
506
原创 访问命令行
终端为用户提供了一个可视化的界面来输入命令,而 shell 则在终端背后运行,负责解释和执行这些命令。用户在终端中输入的命令会被发送给 shell,shell 处理这些命令并将结果显示在终端上。在CLI中,用户需要记住各种命令及其参数,通过命令来完成系统管理、文件操作等任务。使用 CLI 可以让初学者直接与操作系统内核进行交互,了解命令的执行过程和系统的工作原理,有助于深入掌握 Linux 系统的底层机制。GUI:通过图形元素,如窗口、菜单、按钮等,让用户以直观的方式与计算机进行交互。
2025-02-27 11:29:52
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人