摘抄存档,macos常用指令&服务器DD脚本&利用cloudflare R2+page构建图床&git彻底删除DS_Store&curl常用操作&指令集版本区分

最后更新于 2025-09-14 58 次阅读


AI 摘要

# 摘抄存档,macos常用指令&服务器DD脚本&利用cloudflare R2+page构建图床&git彻底删除DS_Store&curl常用操作&指令集版本区分 记录了macOS常用指令,包括如何在终端中使用code命令启动VSCode、brew操作命令如更新、搜索、安装、删除软件包等,还涉及音频卡顿的处理。分享了自用的DD脚本,适用于VPS系统重装以及环境配置,支持Debian、CentOS等系列,提供了具体操作步骤。介绍了如何利用Cloudflare R2和Pages搭建免费图床,步骤简洁明了,涵盖域名绑定、数据库配置等。讨论了如何在Git中彻底删除.DS_Store文件的跟踪,并提供相关命令。最后记录了curl的常用操作,包含请求参数设置、数据上传等,适用于Web服务器交互。

macos常用指令

macOS常用操作记录 | 杂烩饭

在终端中使用 code 命令启动 vscode

先安装 code:打开 VSCode -> 查看 -> 命令面板 -> 输入 shell command –> 点击 Shell Command: Install 'code' command in PATH

然后在终端中可以使用 code 命令打开 vscode 了, 或者 code . 打开当前目录,code /Users/ 打开固定目录

提示 程序损坏,需要移动到废纸篓

或者提示应用未验证等, 可以到访达里, 找到应用程序, 按下 control 键点击, 选择打开,或者到系统设置的隐私与安全性里进行打开,或者去除苹果的 quarantine 属性, 执行这条命令可能需要 APP 管理 这个权限。
sudo xattr -r -d com.apple.quarantine /Applications/WebStrom.app

brew操作

# 更新 brew
brew update

# 搜索软件包
brew search <package name>

# 查看软件包信息
brew info <package name>

# 查看软件包主页/官网
brew home <package name>

# 查看一下安装位置
brew --prefix mysql@8.0

# 查看受管理的服务
brew services

# 直接启动,不配置开机自启动
brew services run mysql@8.0

# 停止服务
brew services kill mysql@8.0

# 重启服务,配置开机自启动
brew services restart mysql@8.0

# 启动并且配置开机自启动
brew services start mysql@8.0

# 停止服务,取消开机自启动
brew services stop mysql@8.0

# 查看需要升级的软件包
brew outdated

# 锁定指定软件包的版本
brew pin <package name>

# 解除对指定软件包版本的锁定
brew unpin <package name>

# 更新指定的软件包
brew update <package name>

# 更新所有需要升级的软件包
brew upgrade

# 允许 cask 仓库的软件也能被更新(建议关闭所有软件的内置更新,仅通过 brew 更新)
brew upgrade --greedy

# 查看已经安装的所有包
brew list

# 查看有哪些旧软件包会被清理
brew cleanup --dry-run

# 清理旧软件包
brew cleanup

# 列出已经安装的软件包
brew list

# 列出已经安装的软件包及版本信息
brew list --versions

# 以树状图展示「已安装包」的依赖信息
brew deps --installed --tree

# 安装指定的版本
brew install mysql@5.7

# 卸载包
brew uninstall font-meslo-lg-nerd-font

macOS音频卡顿

资源管理器关闭audiod进程

服务器DD脚本

自用DD 纯净Linux系统脚本分享 - 小鸽志

前言

在每次使用VPS之前,我都会习惯性地执行一次DD命令。

这样做的好处:

  • 一方面可以将系统更换为我熟悉的Debian
  • 另一方面可以移除VPS供应商系统内置的"使用情况监控",顺便修改SSH连接端口

前奏

下载前记得更新源,安装 wget 组件,以下命令仅对应原系统:

Debian 系(Debian/Kali/Ubuntu)

apt update
apt install wget -y

红帽系(CentOS/AlmaLinux/RockyLinux/Fedora 等)

dnf install wget -y

AlpineLinux

需要安装 wget bash 组件,并把系统默认的 shell 从 ash 改成 bash:

apk update
apk install wget bash
sed -i 's/root:\/bin\/ash/root:\/bin\/bash/g' /etc/passwd

下载脚本

国外机器

wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh

国内机器

国内机器现在可以从 Gitee 下载:

wget --no-check-certificate -qO InstallNET.sh 'https://gitee.com/mb9e8j2/Tools/raw/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh

运行DD脚本

脚本格式

bash InstallNET.sh -系统版本 -项目 "数值"

也可以添加其它参数如 raidbbr、硬盘格式等等,详情看介绍文档

常用版本

bash InstallNET.sh -debian 12 -pwd 'xiaoge.org' -port "45622" --bbr

示意:

  • DD为 debian 12 系统
  • SSH密码设置为 xiaoge.org
  • SSH端口改为 45622
  • 使用 bbr+fq

完成后按提示,运行 reboot 重启系统即可(首次启动会比较慢)。

后记

该脚本已经成功在以下VPS上完成DD测试:

  • DMIT
  • 搬瓦工
  • 斯巴达
  • 甲骨文
  • NC
  • RN

包括IPv6在内的所有功能均正常,感谢项目作者的无私奉献。

项目地址

https://www.nodeseek.com/post-9383-1

利用cloudflare R2+page构建图床项目部署

使用CloudFlare R2 + Pages,免服务器搭建图床服务! - 小鸽志

前言

有小伙伴上回看完 白嫖Cloudflare R2 对象存储:10G存储+免流量费,打造免费图床 的文章后,有来问能否不用服务器搭建图床!

你这是要白嫖到底呀!?当然对于CF大善人来说,还真的可以!🙂

项目介绍

CloudFlare-ImgBed 是一个基于 CloudFlare 的开源文件托管解决方案(图床/文件床/网盘)

具有上传、管理、读取、删除等全链路功能,覆盖文件全生命周期,支持鉴权、目录、图片审查、随机图等各项特性(详见功能文档)。

演示站点: https://cfbed.1314883.xyz/,访问密码:cfbed

准备工作

需要准备以下资源:

  • 1个域名托管到CF(作为图片直链、图床程序的访问域名)
  • 1个Github账户(用于复刻和快速启动图床项目)
  • 1个CloudFlare账号(用于白嫖下面的服务🙂)
    • R2 对象存储(10G空间内免费,不限出口流量)
    • Pages 静态托管(运行图床程序)
    • KV 数据库(存储图床设置)

⚠️ 注意: 除R2对象存储需要绑卡激活外,其余的CF服务都可以白嫖(每天10万次请求,达到暂停)。对象存储空间在10G内也不会产生费用,具体可以看下R2的介绍!

Fork 项目

  1. 打开Github项目地址:https://github.com/MarSeventh/CloudFlare-ImgBed
  2. 点击 Fork 复刻一份到你的仓库,什么都不用改动

创建 Pages 项目

  1. 登录CloudFlare → 计算 WorkersWorkers 和 Pages创建
  2. 选择 Pages导入现有 Git 存储库,添加你的Github账户,并选择 Fork 的 CloudFlare-ImgBed → 开始设置

配置参数

配置项 说明
名称 cloudflare-imgbed 随意,可不改
产生分支 main 默认
框架预设 -
构建命令 npm install -
输出目录 不用填 默认根目录

等待几分钟,就可以通过分配的域名访问了(国内pages.dev域名会打不开,稍后再设置)

绑定 KV 数据库、R2 对象存储

创建 KV 数据库

  1. 存储与数据KVCreate Instance
  2. 命名空间名称:img_url(建议用这个,创建后什么都不用做)

绑定到 Pages

到 pages 里面绑定:KV 数据库、R2 对象存储

变量名 选择内容 说明
img_url 选择创建的 KV数据库 -
img_r2 选择你之前设置的R2桶 -

之后重新部署,让其生效

顺便绑定个图床程序的域名

完成部署

到此 CloudFlare-ImgBed 部署完毕,访问设置的域名即可!

推荐设置

基本设置

  1. 访问图床程序域名,右下角进入设置
  2. 左上角切换到系统设置上传设置,设置并开启CF R2存储
  3. 安全设置里面可以设置上传密码管理员账户密码

高级设置

如果要图片链接与R2那边的域名完全一致,网页设置默认URL前缀设置为R2域名(有后斜杠)!

💡 提示: 这样方便于以后迁移别的程序,或者是直接后台管理

参考资源

Git 彻底删除在GIT中的.DS_Store文件跟踪

在本文中,我们将介绍如何彻底删除在GIT中的.DS_Store文件跟踪。

阅读更多:Git 教程

什么是.DS_Store文件?

.DS_Store是macOS操作系统中的一个隐藏文件,用于存储文件夹的布局和属性信息,以便让用户自定义文件夹的显示方式。这个文件对于操作系统来说是很有用的,但是在版本控制系统如GIT中,.DS_Store文件是一种噪音文件,对代码仓库没有实际意义,而且可能会造成冲突和不必要的麻烦。

忽略.DS_Store文件

为了避免将.DS_Store文件纳入GIT的跟踪中,我们可以通过.gitignore文件在项目根目录下进行配置。.gitignore文件用于忽略特定文件和文件夹,不让GIT对其进行跟踪。

在.gitignore文件中添加一行.DS_Store即可忽略.DS_Store文件的跟踪。如果你的项目中已经存在.gitignore文件,可以直接编辑它,如果不存在,可以创建一个新的文件并命名为.gitignore并添加上述内容。

以下是一个.gitignore文件的示例:

# 忽略.DS_Store文件
.DS_Store

# 忽略其他不需要跟踪的文件或文件夹
node_modules/
dist/
tmp/
... (根据项目需要添加其他忽略规则)

Bash

清除已经被跟踪的.DS_Store文件

如果在之前的版本中,你已经将.DS_Store文件纳入了GIT的跟踪中,那么使用.gitignore文件并不能直接将其排除出去,因为这些文件已经被GIT跟踪了。

要彻底清除已被跟踪的.DS_Store文件,我们需要使用以下命令:

git rm --cached .DS_Store

Bash

这条命令会将.DS_Store文件从GIT的跟踪列表中删除,但是不会删除实际的文件。我们通过--cached参数来告诉GIT只将.DS_Store文件从缓存区中删除,并保留实际文件。

curl常用操作

curl常用操作记录 | 杂烩饭

简介

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。

常用参数详解

-A (User-Agent)

-A 参数指定客户端的用户代理标头,即 User-Agent。curl 的默认用户代理字符串是 curl/[version]

# 将User-Agent改成 Chrome 浏览器
curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' https://google.com

也可以通过 -H(更改 Header) 参数直接指定 User-Agent

curl -H 'User-Agent: php/1.0' https://google.com

-b (Cookie)

-b 参数用来向服务器发送 Cookie。

# 发送cookie
curl -b 'foo=bar' https://google.com
curl -b 'foo1=bar1;foo2=bar2' https://google.com

-c (保存Cookie)

-c 参数将服务器设置的 Cookie 写入一个文件。

# 将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt
curl -c cookies.txt https://www.google.com

-d (POST数据)

-d 参数用于发送 POST 请求的数据体。

# 使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded
# 并且会自动将请求转为 POST 方法,因此可以省略-X POST
curl -d'login=emma&password=123' -X POST https://google.com/login
curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login

发送JSON数据:

# 发送JSON格式的API请求
curl -d '{"name":"john","age":30}' -H 'Content-Type: application/json' https://api.example.com/users

# 从文件读取JSON数据
curl -d '@data.json' -H 'Content-Type: application/json' https://api.example.com/users

-e (Referer)

-e 参数用来设置 HTTP 的标头 Referer,表示请求的来源。

# 将Referer标头设为https://google.com?q=example
curl -e 'https://google.com?q=example' https://www.example.com

-F 和 -T (文件上传)

  • -F 参数用来上传多个文件
  • -T 参数用于上传单个文件
# 给 HTTP 请求加上标头Content-Type: multipart/form-data,然后将文件photo.png作为file字段上传
curl -F 'file=@photo.png' https://google.com/profile
curl -F 'file=@photo.png;filename=me.png' https://google.com/profile

# 上传单个文件
curl -T 'photo.png' https://google.com/upload

-H (请求标头)

-H 参数添加 HTTP 请求的标头。

curl -H 'Accept-Language: en-US' https://google.com
curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com

-i (显示响应标头)

-i 参数打印出服务器回应的 HTTP 标头。

# 收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码
curl -i https://www.example.com

-I (HEAD请求)

-I 参数向服务器发出 HEAD 请求,然后将服务器返回的 HTTP 标头打印出来。

curl -I https://www.example.com

-k (跳过SSL检测)

# 跳过 SSL 检测
curl -k https://www.example.com

-L (跟随重定向)

-L 参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。

curl -L -d 'tweet=hi' https://api.twitter.com/tweet

--limit-rate (限制带宽)

--limit-rate 用来限制 HTTP 请求和回应的带宽,模拟慢网速的环境。

# 将带宽限制在每秒 200K 字节
curl --limit-rate 200k https://google.com

-o (保存到指定文件)

-o 参数将服务器的回应保存成文件,等同于 wget 命令。

# 需要指定保存的文件名
curl -o example.html https://www.example.com

-O (保存到默认文件名)

-O 参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。

# 将服务器回应保存成文件,文件名为bar.html
curl -O https://www.example.com/foo/bar.html

-s (静默模式)

-s 参数将不输出错误和进度信息。

# 一旦发生错误,不会显示错误信息。不发生错误的话,会正常显示运行结果
curl -s https://www.example.com

-u (身份认证)

-u 参数用来设置服务器认证的用户名和密码。

# 设置用户名为bob,密码为12345,然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1
curl -u 'bob:12345' https://google.com/login

-v (详细输出)

-v 参数输出通信的整个过程,用于调试。

curl -v https://www.example.com

-x (代理设置)

-x 参数指定 HTTP 请求的代理。

# 请求的代理默认使用 HTTP 协议
curl -x '127.0.0.1:8080' https://www.example.com
curl -x 'http://user:pass@proxy.example.com:8080' https://www.example.com

-X (指定请求方法)

-X 参数指定 HTTP 请求的方法。

curl -X POST https://www.example.com
curl -X DELETE https://api.example.com/users/123
curl -X PUT -d '{"name":"updated"}' -H 'Content-Type: application/json' https://api.example.com/users/123

常用API请求示例

发送JSON数据到API

# POST请求发送JSON数据
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"username":"john","email":"john@example.com","age":30}' \
  https://api.example.com/users

# 从文件读取JSON数据
curl -X POST \
  -H "Content-Type: application/json" \
  -d @user.json \
  https://api.example.com/users

带认证的API请求

# Bearer Token认证
curl -H "Authorization: Bearer your_token_here" \
  https://api.example.com/protected

# API Key认证
curl -H "X-API-Key: your_api_key_here" \
  https://api.example.com/data

文件上传API

# 上传文件到API
curl -X POST \
  -F "file=@/path/to/file.jpg" \
  -F "description=My photo" \
  https://api.example.com/upload

许可协议: CC BY-NC-SA 4.0
原文来源: 杂烩饭 - https://zahui.fan/posts/lqyxid2z/

指令集版本区分

AI写的,每次选版本都得反应一下,不如顺便总结了

架构分类总览

x86架构系列

基于Intel 8086处理器发展而来的架构系列

ARM架构系列

基于精简指令集(RISC)的处理器架构


详细对照表

名称 架构类型 位数 全称/说明 常见用途
x86 x86架构 32位 Intel 8086架构的泛称 老式PC、嵌入式系统
x86_32 x86架构 32位 32位x86架构的明确表示 老式PC、一些Linux发行版
x32 x86架构 32位 x86_32的简化写法 部分软件包命名
i386 x86架构 32位 Intel 80386处理器 Linux发行版常用标识
i686 x86架构 32位 Intel Pentium Pro(686)优化版本 Linux发行版、软件包
x86_64 x86架构 64位 64位x86架构(AMD64的通用名) 现代PC、服务器
x64 x86架构 64位 x86_64的简化写法 Windows系统常用
amd64 x86架构 64位 AMD开发的64位x86扩展 Debian系Linux、Docker镜像
Intel64 x86架构 64位 Intel的64位x86实现 Intel官方称呼

ARM架构详细分类

名称 架构类型 位数 说明 常见用途
arm ARM架构 32位 ARM架构的通用称呼 嵌入式设备、老式手机
armv6 ARM架构 32位 ARM架构第6版 树莓派1代
armv7 ARM架构 32位 ARM架构第7版 大部分32位ARM设备
armhf ARM架构 32位 ARM Hard Float(硬件浮点) Linux ARM发行版
armel ARM架构 32位 ARM EABI Little Endian 老式ARM Linux
arm64 ARM架构 64位 64位ARM架构 现代手机、M系列Mac
aarch64 ARM架构 64位 ARM 64位架构的官方名称 Linux ARM64发行版
armv8 ARM架构 64位 ARM架构第8版(支持64位) 现代ARM处理器

快速识别方法

按架构类型分类

x86架构系列 (Intel/AMD处理器)

  • ✅ x86, x86_32, x32, i386, i686 → 32位
  • ✅ x86_64, x64, amd64, Intel64 → 64位

ARM架构系列 (手机、平板、M系列Mac)

  • ✅ arm, armv6, armv7, armhf, armel → 32位
  • ✅ arm64, aarch64, armv8 → 64位

按位数分类

32位处理器

x86架构: x86, x86_32, x32, i386, i686
ARM架构: arm, armv6, armv7, armhf, armel

64位处理器

x86架构: x86_64, x64, amd64, Intel64
ARM架构: arm64, aarch64, armv8

实际应用场景

下载软件时的选择

Windows用户

  • 现代Windows PC → x64x86_64
  • 老式Windows PC → x86x86_32

Mac用户

  • Intel Mac → x86_64amd64
  • M系列Mac → arm64aarch64

Linux用户

  • Intel/AMD处理器 → x86_64amd64
  • 树莓派4/5 → arm64aarch64
  • 树莓派1-3 → armv7armhf

Docker镜像选择

# Intel/AMD 64位
docker pull ubuntu:latest  # 默认amd64
docker pull ubuntu:20.04-amd64

# ARM 64位 (M系列Mac、新树莓派)
docker pull ubuntu:20.04-arm64

# ARM 32位 (老树莓派)
docker pull ubuntu:20.04-armhf

常见混淆概念澄清

❓ AMD64 vs Intel处理器

  • AMD64: 虽然叫AMD64,但Intel处理器也支持
  • 原因: AMD首先开发了64位x86扩展,Intel后来兼容实现
  • 结论: Intel和AMD的64位处理器都可以用amd64标识

❓ x64 vs x86_64

  • x64: Windows常用的简化写法
  • x86_64: Linux/Unix常用的完整写法
  • 结论: 两者指的是同一种架构

❓ arm64 vs aarch64

  • arm64: 通用简称
  • aarch64: ARM官方标准名称
  • 结论: 两者指的是同一种架构

如何查看当前系统架构

Linux/Mac

# 查看架构
uname -m
# 可能输出: x86_64, aarch64, armv7l等

# 查看详细信息
lscpu  # Linux
sysctl -a | grep machdep.cpu  # Mac

Windows

# 命令提示符
echo %PROCESSOR_ARCHITECTURE%
# 可能输出: AMD64, x86

# PowerShell
Get-WmiObject Win32_Processor | Select-Object Architecture

编程语言中查看

# Python
import platform
print(platform.machine())  # x86_64, ARM64等
print(platform.architecture())  # ('64bit', 'ELF')

总结要点

  1. x86架构 = Intel/AMD处理器系列
  2. ARM架构 = 手机、平板、M系列Mac处理器
  3. 数字后缀: _64, 64 = 64位;_32, 32 = 32位
  4. 特殊标识:
    • amd64 = x86_64 (都是64位x86)
    • aarch64 = arm64 (都是64位ARM)
  5. 现代设备大多是64位,除非是特殊的嵌入式设备

选择软件时,先确定架构类型(x86还是ARM),再确定位数(32位还是64位)即可!