Linux C/C++
文章平均质量分 70
西京刀客
AI,Crypto/Web3.
A bug bounty hunting and a lot of coding is my passion!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
macOS 打出来的 tar 包,Linux 常见告警(tar 包里带了 macOS 的扩展属性(xattr))
macOS与Linux系统间tar包兼容性问题 当在macOS上创建tar包时,系统默认会包含扩展属性,导致在Linux系统解压时出现警告。这是因为两个系统对文件属性的处理方式不同。解决方法是在打包时使用COPYFILE_DISABLE环境变量来排除这些扩展属性,确保tar包在不同系统间的兼容性。原创 2026-02-01 10:17:54 · 243 阅读 · 0 评论 -
Shell 管道操作的退出码陷阱(command > >(tee logfile.log) 2>&1进程替换解决退出码问题)
本文探讨了Shell管道命令退出码的机制与潜在风险。当执行管道命令时,Shell默认只返回最后一个命令的退出码,这可能导致前序命令失败却被误判为成功。文章通过两个危险场景展示了这种机制的实际危害,并提出了两种解决方案:使用set -o pipefail选项使管道在任何命令失败时返回非零退出码(但兼容性有限),以及更推荐的进程替换方法。进程替换通过重定向输出到子进程的方式,能准确获取主命令的退出状态,避免了传统管道丢失前序命令状态的问题。文章详细对比了两种方法的差异,并推荐在需要精确错误处理时采用进程替换方案原创 2026-01-05 21:18:12 · 588 阅读 · 0 评论 -
Bash 脚本中的 ((i++)) || true 表达式详解( set -e 表达式陷阱)
摘要: Bash脚本中((current_index++)) || true表达式是为了解决set -e严格模式下的一个常见陷阱。set -e会在命令返回非0退出码时终止脚本,而((expression))的退出码规则特殊:表达式结果为0时返回1(假),非0时返回0(真)。当current_index为0时,((current_index++))因后置自增返回原值0,触发set -e退出。通过|| true强制忽略该操作的退出状态,确保脚本继续执行。建议在纯计算场景使用((i++)) || true,或在条原创 2026-01-03 17:10:20 · 996 阅读 · 0 评论 -
macos下 ~/.zshrc~ 和 ~/.zshrc
`~/.zshrc`通常是备份文件或临时文件,可能由编辑器(如vim)创建,通常可以安全删除,不会影响系统运行。原创 2025-04-15 22:07:51 · 1721 阅读 · 0 评论 -
IO多路复用(Linux epoll)
IO多路复用介绍I/O的含义:在计算机领域常说的IO包括磁盘IO和网络IO,我们所说的IO复用主要是指网络IO,在Linux中一切皆文件,因此网络IO也经常用文件描述符FD来表示。复用的含义:那么这些文件描述符FD要复用什么呢?在网络场景中复用的就是任务处理线程,所以简单理解就是多个IO共用1个线程。原创 2024-11-22 07:10:57 · 1475 阅读 · 0 评论 -
linux的redir命令实现端口转发
redir命令是一个有用的工具,可以在Linux系统上进行网络流量的重定向。使用Redir命令,您可以轻松地将TCP、UDP和ICMP流量从一个端口或IP地址重定向到另一个端口或IP地址。原创 2024-09-18 14:41:44 · 3568 阅读 · 0 评论 -
kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结
kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结原创 2024-09-11 20:18:11 · 3279 阅读 · 0 评论 -
linux常用压缩解压tar总结(.gz文件、.tar文件、.tar.xz文件)
linux常用压缩解压密码总结原创 2024-08-16 09:37:38 · 656 阅读 · 0 评论 -
fastdfs-通信协议-自定义指令码拓展
FastDFS采用二进制TCP通信协议。一个数据包由 包头(header)和包体(body)组成。包头只有10个字节。原创 2024-03-30 21:12:04 · 1719 阅读 · 1 评论 -
C语言 #if 0
C语言中`#if 0`在涉及到c语言的项目时可能有人会注意到里面出现了if0这样的语句既然里面的语句永远不会被执行那为什么要留下这样的代码呢?原创 2024-03-12 08:58:24 · 1409 阅读 · 0 评论 -
7-Zip、7z、7za.exe 命令行用法(加解压zip文件)
7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。原创 2024-03-11 09:37:40 · 7900 阅读 · 1 评论 -
linux新一代的RPM软件包管理器dnf
linux新一代的RPM软件包管理器dnfDNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。原创 2024-03-08 22:05:49 · 728 阅读 · 0 评论 -
Vmware ESXi 6.7 单台如何克隆虚拟机
web Client客户端并不提供克隆虚拟机的功能,需要安装vCenter管理ESXi才有这一功能。vSphere可以直接克隆虚拟机,但是如果没有配置vSphere,ESXi也是可以单独操作的。原创 2024-03-08 09:40:59 · 3915 阅读 · 0 评论 -
配置ssh连接Esxi、ESXi 收缩虚拟硬盘文件(.vmdk) 大小(回收ESXi thin磁盘空间)
配置ssh连接Esxi、ESXi 收缩虚拟硬盘文件(.vmdk) 大小(回收ESXi thin磁盘空间)原创 2024-03-04 09:32:37 · 8382 阅读 · 1 评论 -
Linux获取进程(系统启动时间和运行时间)运行时间
Linux获取进程(系统启动时间和运行时间)运行时间原创 2024-03-02 14:18:58 · 1194 阅读 · 1 评论 -
rsync工作常用命令总结
rsync工作常用命令总结原创 2024-02-23 20:43:53 · 705 阅读 · 0 评论 -
Linux TCP 参数设置
查询tcp相关内核参数原创 2024-02-23 09:34:08 · 1288 阅读 · 3 评论 -
linux命令--pidof
pidof 是Linux系统中用来查找正在运行进程的进程号(pid)的工具,功能类似pgrep和ps。原创 2024-02-20 19:38:51 · 933 阅读 · 0 评论 -
openresty (nginx)快速开始
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其**内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。**用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。原创 2024-02-10 17:42:55 · 3604 阅读 · 1 评论 -
linux中的nm命令
linux中的nm命令nm命令被用于显示二进制目标文件的符号表。原创 2024-01-25 08:17:49 · 1198 阅读 · 0 评论 -
linux SSH/Telnet/Shell/CMD终端软件之WindTerm
这里我推荐一款 C 语言开发的跨平台(Windows、MacOS、Linux) SSH 客户端WindTerm,完全免费用于商业和非商业用途,没有限制。所有发布的源代码(第三方目录除外)均在 Apache-2.0 许可条款下提供。原创 2024-01-22 09:11:56 · 2497 阅读 · 0 评论 -
运行systemctl后卡住了的解决方案
Type=forking systemd认为当该服务进程fork,且父进程退出后服务启动成功。Type=notify 与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。如果是simple或是不填,则systemctl认为这是一般的应用程序,只要启动就能保证成功,而不会去检查对应的服务是否真的执行成功。原创 2024-01-18 08:22:15 · 3637 阅读 · 0 评论 -
linux批量查杀kill进程
注意,使用 killall 命令要小心,因为它可能会误杀其他不相关的进程。在使用该命令之前,请确保您正在杀掉正确的进程。原创 2024-01-14 10:53:02 · 1376 阅读 · 0 评论 -
git放弃本地所有更改,拉取最新代码
要放弃本地所有修改,并且只获取远程仓库的最新代码原创 2023-12-28 21:39:32 · 4644 阅读 · 0 评论 -
Linux sudo命令免密码(设置普通用户可以直接使用sudo,不需要输入密码)
在Linux下,我们经常会使用su从普通账户切换到root账户,但默认情况下,切换到root账户都需要输入密码,比较麻烦,可以通过配置免密码切换到root账号原创 2023-12-25 17:27:56 · 11927 阅读 · 0 评论 -
linux下配置git使用vi | 使用git pull 指令时报错:error: You have not concluded your merge (MERGE_HEAD exists).
在使用git pull的时候,本地不要有修改的代码且未提交,如果修改的代码就是不需要提交的代码,可以使用git stash暂存起来,等执行完git操作且没有问题后,使用git stash apply还原到本地即可。原创 2023-12-23 19:00:10 · 743 阅读 · 0 评论 -
Ubuntu 22.04 系统创建用户并授权sudo权限
将用户添加到 sudo 用户组中,以使其具有执行需要管理员权限的命令的能力原创 2023-12-21 20:22:52 · 2910 阅读 · 0 评论 -
libp2p 快速开始
Libp2p是一个模块化的网络栈,通过将各种传输和P2P协议结合在一起,使得开发人员很容易构建大型、健壮的P2P网络。原创 2023-12-16 20:46:21 · 4874 阅读 · 2 评论 -
pycharm某个xxx.sh文件显示问号,无法编辑
在pycharm中选中该文件,点击标题菜单栏中的File——>Setting, 弹出设置对话框,按下图依次设置后,再点击OK保存后文件即可被识别。参考URL: https://blog.csdn.net/cute_boy_/article/details/119817273。为了更好识别shell,你可以继续编辑,可以编辑 *.sh 让自动识别为shell。问题描述:pycharm某个xxx.sh文件显示问号,无法编辑。pycharm文件右下角变成问号打不开情况,解决方法。删掉,你被错误识别的文件。原创 2023-12-15 09:46:04 · 1428 阅读 · 0 评论 -
分形理论之曼德博集合(Mandelbrot set)
曼德勃罗(Benoit B. Mandelbrot),数学家、经济学家,分形理论的创始人。1924年生于波兰华沙;1936年随全家移居法国巴黎,在那里经历了动荡的二战时期;1948年在帕萨迪纳获得航空硕士学位;1952年在巴黎大学获得数学博士学位;曾经是普林斯顿、日内瓦、巴黎的访问教授,哈佛大学的“数学实践讲座”的教授,IBM公司的研究成员和会员。原创 2023-12-11 18:38:24 · 4067 阅读 · 0 评论 -
面向 AI 开发者的新型编程语言Mojo
Modular 公司由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner 创办,Modular AI公司针对这个问题设计了Mojo。原创 2023-12-10 09:55:00 · 4537 阅读 · 0 评论 -
yaml工作常用语法总结
另外,在 YAML 中,您可以同时使用 | 和 \ 进行多行文本块的折叠,并将其折叠到一行中。在上述示例中,fruits 是一个键,- 符号后面的值表示一个列表,包含了三个水果项:apple、banana 和 orange。在 YAML 中的标量块中使用了冒号:加空格,可能会导致yaml解析问题。在上述示例中,使用 | 表示标量块的开始,使用 \ 将多行文本折叠到一行中,保留了原始的换行符。需要注意的是,只有文本末尾的换行符会被保留。需要注意的是,\ 符号后面不能有空格,否则会被解析为文本的一部分。原创 2023-12-09 11:11:19 · 1509 阅读 · 0 评论 -
syslog快速开始
Syslog 协议最初由 Eric Allman 编写,并在 RFC 3164 中定义。消息通过 IP 网络发送到事件消息收集器或系统日志服务器。Syslog 使用用户数据报协议 (UDP) 端口 514进行通信。虽然,系统日志服务器不会发回收到消息的确认。自 2009 年以来,系统日志已由 IETF 在RFC 5424 中标准化。原创 2023-11-18 21:00:34 · 1376 阅读 · 2 评论 -
linux硬盘挂载(linux 修改某个磁盘挂载到新目录\lvm扩容)
在Linux操作系统中,挂载硬盘是将硬盘的分区或者整个硬盘与文件系统关联起来,使得我们可以通过文件系统访问硬盘中的数据。原创 2023-11-05 15:26:01 · 4512 阅读 · 0 评论 -
Linux上后台运行进程(nohub、screen和tmux )
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。原创 2023-11-05 09:11:43 · 1821 阅读 · 0 评论 -
华为云云耀云服务器L实例评测|华为云上安装kafka
Kafka是由LinkedIn公司开发的一款开源分布式消息流平台,由Scala和Java编写。主要作用是为处理实时数据提供一个统一、高吞吐、低延迟的平台,其本质是基于发布订阅模式的消息引擎系统。原创 2023-09-21 21:06:37 · 2334 阅读 · 0 评论 -
centos yum源配置(CentOS7 原生 yum 源修改为阿里 yum 源)
构建本地YUM仓库可以显著提高内网系统的软件安装部署效率,是企业内网环境下比较常见~原创 2023-09-12 11:45:30 · 743 阅读 · 1 评论 -
华为云云耀云服务器L实例评测|华为云上试用主机安全产品Elkeid
随着云技术的发展,现在各大银行、大小企业和政府都在频繁使用云技术,在这些领域,安全显然是一个非常重要的因素。云主机作为数据存储的场所,正面临着黑客不断入侵的威胁,那么主机安全是什么?原创 2023-09-08 23:04:54 · 1961 阅读 · 0 评论 -
Linux 系统中查看和停止删除定时任务
在Linux或类Unix系统中,通常使用crontab命令在指定的时间执行一个shell脚本或者一系列Linux命令,也就是通常所说的定时任务。原创 2023-09-06 21:03:42 · 6488 阅读 · 0 评论 -
Samba
Samba是根据GNU通用公共许可授权的免费软件,Samba项目是软件自由保护协会的成员。自1992年以来,Samba为所有使用SMB/CIFS协议的客户端提供了安全、稳定和快速的文件和打印服务,如所有版本的DOS和Windows、OS/2、Linux和许多其他版本。原创 2019-07-24 15:29:11 · 3107 阅读 · 0 评论
分享