新的一年,你可以用这个方式自动备份mac应用清单

时间:2023-06-07 06:40:35 

每个人都会积累一套自己习惯使用的 App。如果平时习惯使用 Time Machine 备份,那么在重装系统时,直接用它还原倒是一个不错的办法,不必再手动安装一个个 App。但是有些时候,我们可能想要一个更加「干净」的新系统,此时就需要依次手动安装。这显然不是个高效、省心的方法,可能还需要一个个回忆之前用的 App。这时候,我们往往希望有一份属于自己的 App 清单,最好还能在重装时一键安装,省心省力。

本文受到 给 Mac 优雅地一键「装机」 启发,内容分为两个部分:

通过简单的设置,做到 定期自动云备份 macOS 软件列表
使用列表文件,「一键」安装大部分软件
一、备份
一般而言,macOS 中软件来源及其安装位置有以下几种:

  • Mac App Store 安装,位置:/Applications

  • 手动下载安装,位置:/Applications

  • Homebrew 安装,位置:/usr/local/Cellar,主要是一些命令行工具

  • Homebrew Cask 安装,位置:/usr/local/Caskroom,主要是各种普通软件,如 Alfred、Steam 等


还有一些软件会安装在用户目录下Applications的文件夹中(/Users/xx/Applications),如 Steam 中下载的游戏。这些一般不需要备份。

这些七零八落的软件,手动备份列表是很麻烦的。而且,我们可能经常安装或删除一些软件,需要定期更新软件列表。所以,最好能够定期自动备份,并且是保存在云上,保证数据安全。而要保存在云上,macOS 自带的 iCloud 显然是比较好的选择。

macOS 上的定期任务,我一般使用 Keyboard Maestro 配置。

首先,新建一个任务(Macro),设置时间触发器:

新的一年,你可以用这个方式自动备份mac应用清单

加入一个 Execute Shell Script 动作,在其中写入内容:

# All Apps
ls -lh /Applications > ~/Library/Mobile\ Documents/com~apple~CloudDocs/AppList/All_AppList

# MAS Apps
/usr/local/bin/mas list > ~/Library/Mobile\ Documents/com~apple~CloudDocs/AppList/MAS_AppList

# brew Apps
/usr/local/bin/brew list > ~/Library/Mobile\ Documents/com~apple~CloudDocs/AppList/Brew_AppList

# brew cask Apps
/usr/local/bin/brew cask list > ~/Library/Mobile\ Documents/com~apple~CloudDocs/AppList/BrewCask_AppList

其中,以 # 开头的是说明性文字,不会运行

新的一年,你可以用这个方式自动备份mac应用清单

注意:

为了维护 iCloud 中的文件整洁,我将 App 列表文件保存在 iCloud 下的 AppList 文件夹中。如果你也如此,则需要先手动新建 AppList 文件夹。
路径~/Library/Mobile\ Documents/com~apple~CloudDocs中的空格之前都需要加上\斜杠。
简单解释下上述几条命令:

第一条
命令 ls -lh /Applications > xxx/xxx(为了简洁,列表文件路径用 xxx/xxx 代替),生成/Applications文件夹中的所有软件列表,其内容类似于:

drwxr-xr-x   3 xx     staff    96B Dec 13 19:14 iMazing.app
drwxr-xr-x   3 xx     staff    96B Nov  4 15:25 iStat Menus.app
drwxr-xr-x   3 xx     staff    96B Nov 22 20:57 iTerm.app
drwxr-xr-x@  3 root   wheel    96B Jan 28 19:19 iTunes.app
drwxr-xr-x   3 root   admin    96B Jan 19 19:08 nextcloud.app
drwxr-xr-x@  3 xx     staff    96B Oct 24 17:04 unetbootin.app

其中,第三列为 App 文件所属的用户,最后一列为 App 名称。主要分为两类:

  • 大多数 App 文件的用户为你的用户名 xx,表示该行的软件是我们手动下载安装的。

  • 少部分为 root,表示该软件为 系统软件(如 iTunes),或是一些以 .pkg 文件安装的软件(如 nextcloud)。


在我们之后参考这份软件列表时,需要区分上述几种软件,所以此处直接生成了这份信息较为丰富和杂乱的列表。

此外,如果你想要一份比较干净的 App 列表,可以运行:

ls -1 /Applications > xxx/xxx

其结果类似于:

iMazing.app
iStat Menus.app
iTerm.app
iTunes.app
nextcloud.app
unetbootin.app

如果你想要去掉其中的 .app 文件后缀名,则可运行:

ls -1 /Applications | sed 's/\.app//g' > xxx/xx

其结果为:

iMazing
iStat Menus
iTerm
iTunes
nextcloud
unetbootin

第二条

命令 /usr/local/bin/mas list > xxx/xxx,生成来自 Mac App Store 的 app 列表,其结果为:

1058273036 Polarr Photo Editor Pro (4.4.2)
 Install macOS High Sierra (13302)
1153157709 Speedtest (1.3)
451108668 QQ (6.3.1)
其中,第一列为 App 的 ID,第二列为名称,最后的括号中是版本号。

注意,当你下载了 Install macOS High Sierra 之类的 macOS 安装 app 后,运行第二条命令时,生成的文件中会混有 Install macOS High Sierra (13302) 之类的内容。想必你并不需要它,及时删除。

第三条

命令 /usr/local/bin/brew list > xxx/xxx,生成 Homebrew 安装的命令行工具列表,其结果类似于:

webp
wget
x264
xvid
每行一个工具名。

第四条
命令 /usr/local/bin/brew cask list > xxx/xxx,生成 Homebrew Cask 安装的普通软件列表,其结果类似于:

steam
iina
alfred
每行一个 App 名。

二、自动安装

需要说明的是,第一行命令生成的所有软件列表,鱼龙混杂,需要你自己挑选并安装。

后面几种可以自动安装。但是,在安装前,你应该检查列表文件,去除一些不再需要的 App,确保内容无误。

终端中运行:

# 进入 iCloud 中的 AppList 文件夹
cd  ~/Library/Mobile\ Documents/com\~apple\~CloudDocs/AppList

# 安装 Homebrew 和 MAS
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install mas

# 生成 MAS_AppList 安装命令
cat AppList/MAS_AppList | sed "s/(.*)//g" | sed -Ee 's/([0-9]+) (.+)/mas install \1 #\2/g' > ~/Desktop/AppInstaller

# 生成 Brew_AppList 安装命令
echo "\nbrew install $(cat AppList/Brew_AppList | tr '\n' ' ')" >> ~/Desktop/AppInstaller

# 生成 BrewCask_AppList 安装命令
echo "\nbrew cask install $(cat AppList/BrewCask_AppList | tr '\n' ' ')" >> ~/Desktop/AppInstaller

# 开始安装
chmod +x ~/Desktop/AppInstaller
~/Desktop/AppInstaller

完毕。

标签:定期自动备份,mac应用清单,自动备份
0
投稿

猜你喜欢

  • excel2007在任务栏中怎么显示所有窗口?

    2022-08-04 03:27:15
  • Excel怎么把简体转换成繁体

    2023-12-16 11:56:49
  • excel2010怎么取消密码?excel关闭密码教程

    2022-04-12 17:36:57
  • 在Word2010文档中使用不同颜色突出显示文本功能的教程

    2022-09-18 01:03:26
  • Excel如何自定义排序 Excel自定义排序动画教程

    2023-05-05 18:07:28
  • 苹果笔记本充不了电怎么回事|苹果笔记本充不了电的修复方法

    2023-08-23 05:39:46
  • Win10系统c盘扩展卷仍为灰色怎么办?

    2023-11-22 08:54:52
  • 然后选中A34:D34单元格区域

    2022-08-09 14:12:46
  • excel表格内进行排序的教程

    2022-11-26 02:53:43
  • pdf文件中怎么添加链接? pdf文件插入链接的教程

    2023-07-29 16:37:31
  • IF函数嵌套,看完这篇也简单

    2023-12-03 05:40:22
  • word文档表格数据降序排序技巧

    2023-01-12 03:07:55
  • WPS文章排版视图细节你用好了吗

    2023-03-31 17:25:38
  • wps演示如何插入在线图片

    2023-03-21 20:20:39
  • Pixelmator Pro 2.3的新功能:增加一键抠图功能

    2023-04-16 18:05:55
  • Mac上好用的幻灯片制作软件推荐

    2023-03-05 19:56:10
  • 如何在word里直接去使用MathType编辑公式

    2022-06-11 06:54:41
  • Mac 屏幕无法调整亮度?用终端指令调整 macOS 亮度技巧

    2022-03-25 14:38:02
  • 如何将AirPods与Win 10 PC相连?

    2022-12-28 15:29:52
  • 如何在 macOS Monterey 的提醒中将任务委派给另一个人?

    2023-07-25 23:28:35
  • asp之家 电脑教程 m.aspxhome.com