Mac常用命令
序言
熟练使用Mac终端操作的常用命令,可以让你更快、更加高效地进行系统操作,shell就是你的瑞士军刀
隐藏“允许任何来源的应用”选项问题
新的系统安装好后,通常你打开一个dmg文件准备安装的时候,系统会提示你
不允许打开未知来源的应用
,这是因为从macOS Sierra开始增强了GateKeeper的安全性,所以“允许任何来源的应用
”选项被隐藏,目的在于避免除Mac AppStore和正规签名外的未知或未签名App在系统内被任意执行,从而威胁用户隐私和系统安全。但这也造成了很多不便。
操作方法:打开终端,输入命令:
1 | sudo spctl --master-disable |
验证口令后即可。
重建缓存的命令
打开终端,输入命令:
1 |
|
磁盘分区的基本操作:教你将U盘上的EFI复制到磁盘的EFI分区
新的系统安装成功后,EFI还位于U盘里,总不能一直挂着U盘使用系统吧。这个时候如果你想将U盘里的EFI复制到磁盘的EFI分区里,却苦于找不到看不见EFI分区,这个时候是该让
diskutil
登场了。
diskutil
命令的基本用法:
查看磁盘分区表
1 | diskutil list |
/dev/disk0(internal, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 256 GB | disk0 | |
1: | EFI | EFI | 200 MB | disk0s1 |
2: | Apple_HFS | MAC | 128 GB | disk0s2 |
3: | Microsoft Basic Data | WIN10 | 127.7 GB | disk0s3 |
/dev/disk1(internal, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 16 GB | disk1 | |
1: | EFI | EFI | 200 MB | disk1s1 |
2: | Apple_HFS | Install macOS Sierra | 15.8 GB | disk1s2 |
挂载磁盘EFI分区
1 | diskutil mount disk0s1 |
挂载U盘EFI分区
1 | diskutil mount disk1s1 |
打开Finder,注意后面有个.
1 | open . |
左侧会显示挂载了两个EFI分区,将U盘EFI目录全部复制到磁盘的EFI分区即可。
收工
磁盘分区的进阶操作:教你将apfs分区转换回hfs+
随着macOS High Sierra发布日期的临近,苹果公司新推出的
apfs
文件格式已经频繁地出现在我们的面前,假如你还不了解apfs
文件的前世今生,请阅读苹果文件系统。友情提示:APFS
在 macOS High Sierra(10.13)之后将成为默认的文件格式
那么问题来了,万一我的分区格式已经是apfs
,我想转换成HFS+
有什么办法吗?当然可以了,只是这个命令隐藏得比较深,这个命令还是:diskutil
diskutil命令的进阶操作
查看磁盘分区表:
1 | diskutil list |
/dev/disk0(internal, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 512 GB | disk0 | |
1: | EFI | EFI | 200 MB | disk0s1 |
2: | Apple_HFS | MAC | 128 GB | disk0s2 |
… | … | … | … | … |
10: | Apple_APFS | Container disk1 | 29.2 GB | disk0s10 |
/dev/disk1 (synthesized):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | APFS Container Scheme | - Physical Store disk0s5 | +29.2 GB | disk1 |
1: | APFS Volume | test | 9.8 GB | disk1s1 |
2: | APFS Volume | Preboot | 20.6 MB | disk1s2 |
3: | APFS Volume | Recovery | 519.6 MB | disk1s3 |
4: | APFS Volume | VM | 1.1 GB | disk1s4 |
查看apfs
分区表
1 | diskutil apfs list |
显示结果:
1 | APFS Containers (2 found) |
以我的磁盘为例:我的磁盘中存在两个APFS
容器,分别是:Container disk1
和Container disk2
,disk1对应的是我的test卷,它是我测试用的,我演示下使用diskutil
命令将apfs
转换为hfs+
,并且将转换的hfs+
分区重新命名为:test
[提示:]执行该命令之前请保存你的数据,该命令会直接删除之前该分区存在的数据
命令:
1 | diskutil apfs deleteContainer disk1 test |
显示结果:
1 | Started APFS operation on disk1 |
检查:
1 | diskutil list |
/dev/disk0(internal, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 512 GB | disk0 | |
1: | EFI | EFI | 200 MB | disk0s1 |
2: | Apple_HFS | MAC | 128 GB | disk0s2 |
… | … | … | … | … |
8: | Apple_HFS | test | 29.1 GB | disk0s10 |
可以看到test的分区格式已经变回hfs+
了。
本教程结束,更多的命令用法请使用命令:man diskutil
收工
如何开启原生SSD Trim功能
1 | sudo trimforce enable |
因为是系统原生工具,此方法无需开启rootless=0,更不会改变已有驱动的签名,也就是说不需要kext-dev-mode=1,白果也可用此方法开启Trim。
不使用任何程序教你提取显示器的EDID,解决笔记本显示器内屏黑屏/花屏的问题
经常有网友需要解决笔记本显示器内屏黑屏问题,尤其新发布的10.13的系统会出现睡眠唤醒后屏幕花屏问题。
目前最简单的方案就是通过clover注入显示器的EDID信息,之前网上的教程都是使用Windows下的应用程序进行操作。
其实显示器的EDID信息都会在显卡正确驱动后存在于ioreg中的。
最简单的命令是:
1 | ioreg -lw0 | grep -i "IODisplayEDID" | sed -e 's/.*<//' -e 's/>//' |
显示信息如下:
00ffffffffffff000daee01500000000161a0104952213780228659759548e271e505400000001010101010101010101010101010101b43b804a713834405036680058c11000001ac32f804a713834405036680058c11000001a000000fe0035324b4636803135364843410a000000000000413196011000000a010a202000e8
接着输入下面的两条命令:
1 | ioreg -l | grep "DisplayVendorID" |
其中<>里面的内容就是显示器的EDID信息,将提取出来的EDID信息粘贴到clover的 config.plist
中,顺便将 VendorID
和 ProductID
填入相应的位置,然后保存重启你的电脑。
MacOS系统下导出man手册内容
经常使用shell命令的时候需要翻看man查询命令的用法以及参数,想把使用手册导出来查看。比如我想查看10.13系统下 log show
命令的具体用法,使用以下命令:
1 | man log | col -b > ~/Desktop/log_manual.txt |
- 命令中
col -b
是导出一个纯文本版本格式的手册且显示正常
使用log show检查AppleALC和Lilu是否工作正常
(内容暂未添加)
命令格式:log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "AppleALC" OR eventMessage CONTAINS "Lilu")' --style syslog --source
一条命令教你如何确认自己的机型及如何开启 HWP
HWP是什么?HWP是Hardware Work Package的简称,翻译过来叫做:硬件标准部件
在macOS下,HWP是指Intel SpeedShift,开启全功率的电源管理,更多的解释请参阅原文
用到的工具:
freqVectorsEdit.sh
用法:
- 打开终端,复制下面命令:
cd /tmp && curl -s https://raw.githubusercontent.com/Piker-Alpha/freqVectorsEdit.sh/master/freqVectorsEdit.sh > /tmp/freqVectorsEdit.sh && chmod +x freqVectorsEdit.sh && /tmp/freqVectorsEdit.sh && sudo rm -rf /tmp/freqVectorsEdit.sh && sudo rm -rf /tmp/Mac-*.bin
- 注意上面的命令为一条,须全部复制
- 系统会使用
curl
自动下载一个程序,保存到/tmp
,之后自动执行,期间需要你输入自己的用户密码,程序执行完后会自动清除临时文件; - 屏幕会输出40个机型,其中亮白加粗为你当时设置的机型,带
绿色
显示的那三行前面括号里的机型为可选机型,带HWP
字样的为可以开启HWPEnable
- 输入方括号里面的数字并回车,可以修改相对应的机型,同时开启
HWP
- 本文不讨论开启
HWP
的步骤及用法,更多的信息请参阅其它文章
检查自己的显卡驱动所使用的platform-id
打开终端,输入命令:
1 | ioreg -l | grep -y platform-id |
显示输出信息:
1 | | | | | "AAPL,ig-platform-id" = <00001659> |
进行一次小端转换,就是:59160000
,也就是七代核显Intel HD Graphics 620
的显卡注入信息.
笔记本开启插电源出提示音:
开启:
打开终端,输入以下命令:
1 | defaults write com.apple.PowerChime ChimeOnAllHardware -bool true; open /System/Library/CoreServices/PowerChime.app & |
关闭:
打开终端,输入以下命令:
1 | defaults write com.apple.PowerChime ChimeOnAllHardware -bool false; killall PowerChime |
如何去掉apfs.efi
最新版本的日志调试显示
打开终端,输入以下命令:
1 | cd ~/Desktop # 进入当前用户桌面 |
将生成的apfs.efi复制到/EFI/CLOVER/drivers64UEFI
目录下,重启测试
查看声卡型号及注入的ID以及ConfigData
1 | ioreg -l | grep ALC | grep HDAConfigDefault |
屏幕输出:
1 | "HDAConfigDefault" = ({"AFGLowPowerState"=<03000000>,"CodecID"=283902550,"ConfigData"=<01470c02>,"FuncGroup"=1,"Codec"="DalianSky - Realtek ALC256 (3246) for Dell 7000 Series","WakeVerbReinit"=Yes,"LayoutID"=7,"BootConfigData"=<01271c3001271d0101271ea601271f9001371cf001371d0001371e0001371f4001471c1001471d0101471e1701471f9001470c0201871cf001871d0001871e0001871f4001971c4001971d1001971e8101971f0201a71cf001a71d0001a71e0001a71f4001b71cf001b71d0001b71e0001b71f4001d71cf001d71d0001d71e0001d71f4001e71cf001e71d0001e71e0001e71f4002171c2002171d1002171e2102171f0202170c02>}) |
一键查询硬件信息:
打开终端,输入命令:
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/daliansky/dell7000/master/Tools/archey)" |
输出结果:
备注:脚本中调用了bdmesg获取主板型号,所以使用前请勾选安装CLOVER的RC Scripts
收工
———— 未完待续 ————
关于打赏
您的支持就是我更新的动力!
如果不希望看到博主停更的话,请点击下方的 打赏
支持一下,有钱的捧个钱场,没钱的捧个人场,谢谢大家!