Mac

Mac #

工具 #

查看系统数据占用 #

最近遇到一个问题,突然磁盘满了,直接显示 no space left on device. 排查了半天也不知道是什么东西把磁盘写满了。

du -sh ./* ./.??* 2>/dev/null | sort -hr | head -n 10

这个命令按照从大到小排序并显示前 10 个最大的文件或目录。

du 是一个用于统计磁盘使用量的命令。

  • -s:汇总(summarize),仅显示每个指定路径的总大小。
  • -h:以人类可读的格式输出大小(例如 1.2G345M12K 等)。
  • ./*:匹配当前目录下的所有非隐藏文件和目录(通配符 * 匹配所有文件名,但不包括以 . 开头的隐藏文件)。
  • ./.??*:匹配当前目录下的隐藏文件和目录,但只包括以 . 开头且文件名长度至少为 3 字符的项(例如 .git.env)。具体解释:
    • .??* 表示:
      • 第一个 .:匹配隐藏文件的开头点。
      • ??:匹配任意两个字符(确保文件名至少有 2 个字符,避免匹配 ...)。
      • *:匹配剩余的任意字符。
    • 这样可以避免匹配当前目录(.)和父目录(..),只包括真正的隐藏文件或目录。

./* ./.??* 结合在一起,覆盖了当前目录下几乎所有的文件和目录(包括隐藏文件,但排除 ...)。

  • 2>:重定向标准错误(stderr,文件描述符 2)。
  • /dev/null:一个特殊的“黑洞”设备文件,丢弃所有写入的数据。作用:忽略 du 命令可能产生的错误信息(例如权限不足导致无法访问某些目录)。这确保命令输出只包含有效结果,不会显示错误提示。

sort -hrsort 命令对输入进行排序。

  • -h:按人类可读的数字排序(human-numeric sort),能够正确比较 1G500M10K 等大小单位。
  • -r:反向排序(reverse),使结果从大到小排序(默认是升序)。

sort -hrdu 的输出按照文件/目录大小从大到小排序。

head -n 10head 命令提取输入的前几行。-n 10:仅显示前 10 行。这将限制输出,只显示最大的 10 个文件或目录。

find . -maxdepth 1 -type f -o -type d -not -name . -not -name .. | xargs du -sh 2>/dev/null | sort -hr | head -n 10

列出当前目录下(不包括子目录)文件和目录的大小,按大小从大到小排序,并显示前 10 个结果。

brew #

search 搜索

brew search mcrypt

安装 php #

brew install shivammathur/php/php@8.2

安装扩展 #

  • mcrypt
brew install shivammathur/extensions/mcrypt@7.2

安装 hugo #

安装指定版本的

https://github.com/gohugoio/hugo/releases

wget https://github.com/gohugoio/hugo/releases/download/v0.144.0/hugo_extended_0.144.0_darwin-universal.tar.gz

tar -zxvf hugo_extended_0.144.0_darwin-universal.tar.gz

mv hugo /usr/local/bin

安装最新版

brew install hugo

安装 nginx #

在 macOS 上,Nginx 的错误日志(error log)默认路径可能因安装方式而异。下面是常见的几种情况:

🍎 常见路径(Homebrew 安装) #

如果你是用 Homebrew 安装的 Nginx(大多数人都是这样装的),那么错误日志的位置通常是:

/opt/homebrew/var/log/nginx/error.log    # Apple Silicon (M1/M2/M3)
/usr/local/var/log/nginx/error.log       # Intel Mac

你可以用这个命令快速查看当前日志路径:

grep error_log /opt/homebrew/etc/nginx/nginx.conf

或者(Intel Mac):

grep error_log /usr/local/etc/nginx/nginx.conf

🛠️ 自定义日志路径 #

你也可以在 nginx.conf 中找到这行配置:

error_log  /path/to/log/error.log  warn;

这就是你当前设置的错误日志路径。你可以改成你想要的,比如:

error_log  /var/log/nginx/my_error.log  error;

记得改完之后:

nginx -t         # 检查配置
sudo nginx -s reload  # linux 系统使用,重新加载配置
brew services restart nginx # mac 使用 brew 重启

📖 实时查看日志 #

你可以用 tail -f 实时查看错误日志:

tail -f /opt/homebrew/var/log/nginx/error.log

或者 Intel Mac:

tail -f /usr/local/var/log/nginx/error.log

Beyond Compare 4 破解方式 #

在应用程序找到 Beyond Compare,然后右键,点击显示包内容,进入 Contents 目录,然后再进到 MacOs 目录。

重命名主应用程序 BCompare 更改为 BCompare.real

在这种目录中用终端打开

vim 新建 BCompare 文件,文件内容如下:

#!/bin/bash
rm "/Users/电脑名称/Library/Application Support/Beyond Compare/registry.dat"
"`dirname "$0"`"/BCompare.real $@

给与执行权限

chmod a+x BCompare.real
chmod a+x BCompare