Awesome macOS Command Line

>专门针对OS X的Shell命令和工具的精选列表.

> “您不必了解所有内容. 您只需要知道在必要时在哪里可以找到它.”(John Brunner)

Awesome Build Status

如果您想做出贡献,强烈建议您这样做. 请阅读 contribution guidelines.

有关终端外壳的更多信息,请参见此列表的姐妹列表 Awesome Command Line Apps.

Caffeinating

如果您在这里找到有用的东西,可以给我买杯咖啡. 我花了很多时间和精力来整理这份清单. 让我保持适当的咖啡因会加速事情的发展. 这真的会让我开心. 陌生人之类的善良. 如果您不能或不愿意,那就没有难过的感觉. 由于某种原因,它是完全免费的. 尽管如此,那还是很棒的.

Buy Me A Coffee

Appearance

Transparency

Transparency in Menu and Windows

## Reduce Transparency
默认写com.apple.universalaccess reduceTransparency -bool true

## Restore Default Transparency
默认写com.apple.universalaccess reduceTransparency -bool false

Wallpaper

Set Wallpaper

## Up to Mountain Lion
osascript -e'告诉应用程序“ Finder”将桌面图片设置为POSIX文件“ /path/to/picture.jpg”'

## Since Mavericks
sqlite3〜/ Library / Application \ Support / Dock / desktoppicture.db“更新数据集值='/path/to/picture.jpg'” && killall Dock

Applications

App Store

List All Apps Downloaded from App Store

## Via find
find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'

## Via Spotlight
mdfind kMDItemAppStoreHasReceipt = 1

Show Debug Menu

适用于优胜美地.

## Enable
默认写com.apple.appstore ShowDebugMenu -bool true

## Disable (Default)
默认写com.apple.appstore ShowDebugMenu -bool false

Apple Remote Desktop

Kickstart Manual Pages

sudo /系统/库/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help

Activate And Deactivate the ARD Agent and Helper

## Activate And Restart the ARD Agent and Helper
sudo /系统/库/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -restart -agent -console

## Deactivate and Stop the Remote Management Service
须藤/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart-停用-停止

Enable and Disable Remote Desktop Sharing

## Allow Access for All Users and Give All Users Full Access
sudo /系统/库/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all

## Disable ARD Agent and Remove Access Privileges for All Users
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

Remove Apple Remote Desktop Settings

 须藤rm -rf / var / db / RemoteManagement;  \
 sudo默认删除/Library/Preferences/com.apple.RemoteDesktop.plist;  \
 默认为delete〜/ Library / Preferences / com.apple.RemoteDesktop.plist;  \
sudo rm -r /Library/Application\ Support/Apple/Remote\ Desktop/ ; \
 rm -r〜/ Library / Application \ Support / Remote \ Desktop /;  \
rm -r〜/ Library / Containers / com.apple.RemoteDesktop

Contacts

Debug Mode

## Enable
默认写com.apple.addressbook ABShowDebugMenu -bool true

## Disable (Default)
默认写com.apple.addressbook ABShowDebugMenu -bool false

Google

Uninstall Google Update

〜/ Library / Google / GoogleSoftwareUpdate / GoogleSoftwareUpdate.bundle / Contents / Resources / ksinstall --nuke

iTunes

Keyboard Media Keys

这适用于优胜美地. El Capitan中引入了系统完整性保护,可防止卸载系统启动代理.

## Stop Responding to Key Presses
launchctl卸载-w /System/Library/LaunchAgents/com.apple.rcd.plist

## Respond to Key Presses (Default)
launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist

从El Capitan开始,您可以禁用SIP或诉诸某种黑客手段,这将使任何用户都无法访问iTunes,从而有效地阻止了iTunes自身或助手的启动. 请注意,出于所有目的和目的,这将破坏iTunes的安装,并可能与以后的OS更新冲突.

sudo chmod 0000 /应用程序/iTunes.app

Mail

Show Attachments as Icons

默认写com.apple.mail DisableInlineAttachmentViewing -bool是

Vacuum Mail Index

下面的AppleScript代码将退出Mail,清理SQLite索引,然后重新打开Mail. 在尚未经过优化的大型电子邮件数据库上,这可以显着提高响应速度和速度.

(*
通过清除信封索引来加速Mail.app
来自以下网址的代码:http://web.archive.org/web/20071008123746/http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/
最初由“ pmbuko”修改,由Romulo修改
由Brett Terpstra更新于2012
由MathiasTörnblom2015更新,以支持El Capitan中的V3,并且仍保持向后兼容性
由Andrei Miclaus 2017更新,以支持Sierra中的V4
*)

告诉应用程序“邮件”退出
设置os_version以执行shell脚本“ sw_vers -productVersion
将mail_version设置为“ V2
考虑数字字符串
    如果“ 10.10 <= os_version,则将mail_version设置为“ V3
    如果“ 10.12 <= os_version,则将mail_version设置为“ V4
    如果“ 10.13 <= os_version,则将mail_version设置为“ V5
    如果“ 10.14 <= os_version,则将mail_version设置为“ V6
结束考虑

设置sizeBefore做外壳程序脚本“ ls -lnah/ Library / Mail /”和mail_version&“ / MailData | grep -E'信封索引$'| awk {'print $ 5'}”
做shell脚本“ / usr / bin / sqlite3/ Library / Mail /”和mail_version和“ / MailData / Envelope \\ Index vacuum

设置sizeAfter做外壳程序脚本“ ls -lnah/ Library / Mail /”和mail_version&“ / MailData | grep -E'信封索引$'| awk {'打印$ 5'}”

显示对话框(“之前的邮件索引:”&sizeBeforereturn&“之后的邮件索引:”&sizeAfterreturnreturn&“享受新速度!”)

告诉应用程序“邮件”激活

Safari

Change Default Fonts

默认写入com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily乔治亚
默认写入com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16
默认写com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo
默认写com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14

Enable Develop Menu and Web Inspector

默认写com.apple.Safari IncludeInternalDebugMenu -bool true && \
默认写com.apple.Safari IncludeDevelopMenu -bool true && \
默认写com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true && \
默认写com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true && \
默认写-g WebKitDeveloperExtras -bool true

Get Current Page Data

其他选项:“获取来源”,“获取文字”.

osascript -e'告诉应用程序“ Safari”以获取前窗当前选项卡的URL”

Use Backspace/Delete to Go Back a Page

## Enable
默认写com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool是

## Disable
默认写入com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool否

Sketch

Export Compact SVGs

默认写com.bohemiancoding.sketch3 exportCompactSVG -bool是

Skim

Turn Off Auto Reload Dialog

删除对话框,默认为自动重新加载.

默认为write -app Skim SKAutoReloadFileUpdate -boolean true

Terminal

Focus Follows Mouse

## Enable
默认设置为com.apple.Terminal FocusFollowsMo​​use -string是

## Disable
默认写com.apple.Terminal FocusFollowsMo​​use -string NO

TextEdit

Use Plain Text Mode as Default

默认写com.apple.TextEdit RichText -int 0

Visual Studio Code

Fix VSCodeVim Key Repeat

默认写入com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Backup

Time Machine

Change Backup Interval

这会将间隔更改为30分钟. 整数值是以秒为单位的时间.

sudo默认写/System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800

Local Backups

Time Machine备份卷不可用时,Time Machine是否执行本地备份.

## Status
默认阅读/Library/Preferences/com.apple.TimeMachine MobileBackups

## Enable (Default)
须藤tmutil enablelocal

## Disable
须藤tmutil disablelocal

从High Sierra开始,您不能禁用本地快照. 现在,Time Machine始终创建本地APFS快照,并使用该快照作为数据源来创建常规备份,而不是像HFS格式化磁盘那样使用活动磁盘作为源.

Prevent Time Machine from Prompting to Use New Hard Drives as Backup Volume

sudo默认写入/Library/Preferences/com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true

Show Time Machine Logs

这个小脚本将输出Time Machine活动的最后12个小时,然后输出实时活动.

#!/bin/sh

filter ='processImagePath包含“ backupd”,并且子系统以“ com.apple.TimeMachine”开头

## show the last 12 hours
start =“ $(date -j -v-12H +'%Y-%m-%d%H:%M:%S')”

回声“”
回声“ [历史(从$开始)]”
回声“”

日志显示--style syslog --info --start“ $ start”-谓词“ $ filter”

回声“”
回声“ [以下]”
回声“”

日志流--style syslog --info --predicate“ $ filter”

Toggle Backup While on Battery

## Status
sudo默认阅读/Library/Preferences/com.apple.TimeMachine需要ACPower

## Enable (Default)
sudo默认写入/Library/Preferences/com.apple.TimeMachine RequiresACPower -bool true

## Disable
sudo默认写入/Library/Preferences/com.apple.TimeMachine要求ACPower -bool false

Verify Backup

从OS X 10.11开始,Time Machine记录复制到快照中的文件的校验和. 对于由早期版本的OS X复制的文件,不会追溯计算校验和.

sudo tmutil verifychecksums /路径/到/备份

Developer

Vim

Compile Sane Vim

通过Homebrew编译MacVim的所有代码,包括覆盖系统Vim.

brew install macvim --HEAD

Neovim

通过Homebrew安装现代的Vim替代方案.

brew install neovim

Xcode

Install Command Line Tools without Xcode

xcode-select-安装

Remove All Unavailable Simulators

xcrun simctl删除不可用

Dock

Add a Stack with Recent Applications

 默认写com.apple.dock持久其他-array-add'{“ tile-data” = {“” list-type“ = 1;  };  “ tile-type” =“最近的瓷砖”;  }'&& \
杀人码头

Add a Nameless Stack Folder and Small Spacer

 默认写com.apple.dock持久其他-array-add'{“ tile-data” = {};  “ tile-type” =“小垫片-瓷砖”;  }'&& \
杀人码头

Add a Space

默认写com.apple.dock持久应用程序-array-add'{“ tile-type” =“ spacer-tile”;}'&& \
杀人码头

Add a Small Space

默认写com.apple.dock持久应用程序-array-add'{“ tile-type” =“ small-spacer-tile”;}'&& \
杀人码头

Auto Rearrange Spaces Based on Most Recent Use

## Enable (Default)
默认写com.apple.dock mru-spaces -bool true && \
杀人码头

## Disable
默认写com.apple.dock mru-spaces -bool false && \
杀人码头

Autohide

bash

Enable

默认写com.apple.dock autohide -bool true && \ 杀人码头

Disable (Default)

默认写com.apple.dock autohide -bool false && \ 杀人码头

#### Icon Bounce
全局设置当相应的应用程序需要您关注时,是否应停靠Dock图标.
```bash
## Enable (Default)
默认写com.apple.dock不反弹-bool true && \
杀人码头

## Disable
默认写com.apple.dock不反弹-bool false && \
杀人码头

Lock the Dock Size

## Enable
默认写com.apple.Dock大小不可变-bool是&& \
杀人码头

## Disable (Default)
默认写com.apple.Dock大小不可变-bool否&& \
杀人码头

Reset Dock

默认删除com.apple.dock && \
杀人码头

Resize

完全调整码头的大小. 要调整大小,请将“ 0”值更改为整数.

默认写com.apple.dock tileize -int 0 && \
杀人码头

Scroll Gestures

使用触摸板或鼠标滚轮与Dock项进行交互. 允许您使用向上滚动手势来打开堆栈. 在正在运行的应用程序上使用相同的手势将调用Exposé/ Mission Control.

## Enable
默认写com.apple.dock滚动到打开-bool true && \
杀人码头

## Disable (Default)
默认写com.apple.dock滚动到打开-bool false && \
杀人码头

Set Auto Show/Hide Delay

浮点数定义了显示/隐藏延迟(以毫秒为单位).

默认写com.apple.dock autohide-time-modifier -float 0.4 && \
默认写com.apple.dock autohide-delay -float 0 && \
杀人码头

Show Hidden App Icons

## Enable
默认写com.apple.dock showhidden -bool true && \
杀人码头

## Disable (Default)
默认写com.apple.dock showhidden -bool false && \
杀人码头

Show Only Active Applications

## Enable
默认写com.apple.dock仅静态-bool true && \
杀人码头

## Disable (Default)
默认写com.apple.dock仅静态-bool false && \
杀人码头

Single App Mode

单击Dock中的应用程序图标时,将出现相应的窗口 到最前面,但所有其他应用程序窗口将被隐藏.

## Enable
defaults write com.apple.dock single-app -bool true && \
杀人码头

## Disable (Default)
默认写com.apple.dock单应用程序-bool false && \
杀人码头

Documents

Convert File to HTML

支持的格式为纯文本,富文本(rtf)和Microsoft Word(doc / docx).

textutil-转换html file.ext

Files, Disks and Volumes

Create an Empty File

创建一个空的10 GB测试文件.

mkfile 10g / path / to / file

Disable Sudden Motion Sensor

使用SSD时,将其保持打开状态是没有用的.

须藤pmset -a sms 0

Eject All Mountable Volumes

唯一可靠的方法是将AppleScript命令发送到Finder.

osascript -e'告诉应用程序“ Finder”弹出(每个可弹出的磁盘为true的磁盘)”

Repair File Permissions

您不必为此使用“磁盘工具” GUI.

sudo diskutil repairPermissions /
>从OS X El Capitan开始,系统文件权限得到自动保护. 不再需要使用“磁盘工具”来验证或修复权限. (Source)

Set Boot Volume

## Up to Yosemite
保佑--mount“ / path / to / mount / volume” --setBoot

## From El Capitan
sudo systemsetup -setstartupdisk /系统/库/ CoreServices

Show All Attached Disks and Partitions

有争议的艺术

View File System Usage

文件系统访问信息的连续流.

须藤fs_usage

APFS

自High Sierra开始提供. 没有中央实用程序,用法不一致,因为大多数功能都已整合到tmutil中.

Convert Volume from HFS+ to APFS

/System/Library/Filesystems/apfs.fs/Contents/Resources/hfs_convert / path / to / file / system

Create New APFS Filesystem

/System/Library/Filesystems/apfs.fs/Contents/Resources/newfs_apfs / path / to / device

Create Snapshot

tmutil localsnapshot

Delete Snapshot

tmutil deletelocalsnapshots com.apple.TimeMachine.2018-01-26-044042
````

#### List Snapshots
```bash
tmutil listlocals快照/

Mount Snapshot

快照是只读的.

mkdir〜/ mnt
/System/Library/Filesystems/apfs.fs/Contents/Resources/mount_apfs -s com.apple.TimeMachine.2018-01-26-044042 /〜/ mnt

Disk Images

hdiutil create -volname“卷名” -srcfolder / path / to / folder -ov diskimage.dmg

如果要加密磁盘映像:

hdiutil create -encryption -stdinpass -volname“卷名” -srcfolder / path / to / folder -ov crypto.dmg

默认情况下,系统会提示您输入密码. 您可以通过输入密码来自动执行此操作:

 echo -n YourPassword |  hdiutil create -encryption -stdinpass -volname“卷名” -srcfolder / path / to / folder -ov crypto.dmg

Burn Disk Images to DVD

此命令适用于.iso,.img和.dmg图像.

hdiutil刻录/ path / to / image_file

Disable Disk Image Verification

默认写com.apple.frameworks.diskimages skip-verify -bool true && \
默认写com.apple.frameworks.diskimages skip-verify-locked -bool true && \
默认写com.apple.frameworks.diskimages skip-verify-remote -bool true

Make Volume OS X Bootable

bless --folder“ /路径/到/已挂载/卷/系统/库/ CoreServices” --bootinfo --bootefi

Mount Disk Image

hdiutil附加/path/to/diskimage.dmg

Unmount Disk Image

hdiutil分离/ dev / disk2s1

Write Disk Image to Volume

就像磁盘工具的“还原”功能.

须藤ASR -restore -noverify -source /path/to/diskimage.dmg -target /体积/ VolumeToRestoreTo

Finder

Desktop

Show External Media

外部HD,拇指驱动器等

## Enable
默认写com.apple.finder ShowExternalHardDrivesOnDesktop -bool true && \
Killall搜寻器

## Disable (Default)
默认写com.apple.finder ShowExternalHardDrivesOnDesktop -bool false && \
Killall搜寻器

Show Internal Media

内置HD或SSD.

## Enable
默认写com.apple.finder ShowHardDrivesOnDesktop -bool true && \
Killall搜寻器

## Disable (Default)
默认写com.apple.finder ShowHardDrivesOnDesktop -bool false && \
Killall搜寻器

Show Removable Media

CD,DVD,iPod等

## Enable
默认写com.apple.finder ShowRemovableMediaOnDesktop -bool true && \
Killall搜寻器

## Disable (Default)
默认写com.apple.finder ShowRemovableMediaOnDesktop -bool false && \
Killall搜寻器

Show Network Volumes

AFP,SMB,NFS,WebDAV等

## Enable
默认写com.apple.finder ShowMountedServersOnDesktop -bool true && \
Killall搜寻器

## Disable (Default)
默认写com.apple.finder ShowMountedServersOnDesktop -bool false && \
Killall搜寻器

Files and Folders

Clear All ACLs

须藤chmod -RN / path / to / folder

Hide Folder in Finder

chflags隐藏/ path / to / folder /

Show All File Extensions

默认写-g AppleShowAllExtensions -bool true

Show Hidden Files

## Show All
默认写入com.apple.finder AppleShowAllFiles true

## Restore Default File Visibility
默认写com.apple.finder AppleShowAllFiles false

Remove Protected Flag

sudo chflags -R nouchg /路径/到/文件/或/文件夹

Show Full Path in Finder Title

默认写com.apple.finder _FXShowPosixPathInTitle -bool true

Unhide User Library Folder

chflags nohidden〜/库

Increase Number of Recent Places

默认写-g NSNavRecentPlacesLimit -int 10 && \
Killall搜寻器

Layout

Show "Quit Finder" Menu Item

可以使用默认的快捷键Cmd + Q来查看Finder菜单项“ Quit Finder”.

## Enable
默认写com.apple.finder QuitMenuItem -bool true && \
Killall搜寻器

## Disable (Default)
默认写com.apple.finder QuitMenuItem -bool false && \
Killall搜寻器

Smooth Scrolling

如果您使用的旧Mac会使动画混乱,则很有用.

## Disable
默认为write -g NSScrollAnimationEnabled -bool false

## Enable (Default)
默认为write -g NSScrollAnimationEnabled -bool true

Rubberband Scrolling

## Disable
默认为write -g NSScrollViewRubberbanding -bool false

## Enable (Default)
默认为write -g NSScrollViewRubberbanding -bool true

Expand Save Panel by Default

默认写-g NSNavPanelExpandedStateForSaveMode -bool true && \
默认写-g NSNavPanelExpandedStateForSaveMode2 -bool true

Desktop Icon Visibility

## Hide Icons
默认写com.apple.finder CreateDesktop -bool false && \
Killall搜寻器

## Show Icons (Default)
默认写com.apple.finder CreateDesktop -bool true && \
Killall搜寻器

Path Bar

## Show
默认写com.apple.finder ShowPathbar -bool true

## Hide (Default)
默认写com.apple.finder ShowPathbar -bool false

Scrollbar Visibility

可能的值:“ WhenScrolling”,“ Automatic”和“ Always”.

defaults write -g AppleShowScrollBars -string "Always"

Status Bar

## Show
默认写com.apple.finder ShowStatusBar -bool true

## Hide (Default)
默认写com.apple.finder ShowStatusBar -bool false

Save to Disk by Default

将默认保存目标设置为本地磁盘,而不是iCloud.

默认写-g NSDocumentSaveNewDocumentsToCloud -bool false

Set Current Folder as Default Search Scope

默认写com.apple.finder FXDefaultSearchScope -string“ SCcf”

Set Default Finder Location to Home Folder

默认写com.apple.finder NewWindowTarget -string“ PfLo” && \
默认写com.apple.finder NewWindowTargetPath -string“ file:// $ {HOME}

Set Sidebar Icon Size

将尺寸设置为“中”.

默认写-g NSTableViewDefaultSizeMode -int 2

Metadata Files

Disable Creation of Metadata Files on Network Volumes

Avoids creation of .DS_Store and AppleDouble files.

默认写com.apple.desktopservices DSntWriteNetworkStores -bool true

Disable Creation of Metadata Files on USB Volumes

Avoids creation of .DS_Store and AppleDouble files.

默认写入com.apple.desktopservices DSntWriteUSBStores -bool true

Opening Things

Change Working Directory to Finder Path

如果打开了多个窗口,它将选择最上面的一个.

cd“ $(osascript -e'tell app“ Finder”到(插入位置作为别名的)POSIX路径')”

Open URL

打开https://github.com

Open File

打开README.md

Open Applications

您可以使用-a打开应用程序.

打开-a“ Google Chrome” https://github.com

Open Folder

打开/路径/到/文件夹/

Open Current Folder

打开.

Fonts

Clear Font Cache for Current User

要清除所有用户的字体缓存,请在此命令前放置sudo.

atsutil数据库-removeUser && \
atsutil服务器-shutdown && \
atsutil服务器-ping

Get SF Mono Fonts

您需要下载并安装Xcode 8 beta才能正常工作. 之后,它们应该在所有应用程序中可用.

cp -v /Applications/Xcode-beta.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Fonts/SFMono-*〜/ Library / Fonts

从Sierra开始,它们包含在Terminal.app中.

cp -v /应用程序/实用程序/Terminal.app/内容/资源/字体/ SFMono- *〜/库/字体

从Catalina开始,Utilities应用程序(包括Terminal.app)现在位于“ / System”文件夹中.

cp -v /系统/应用程序/实用程序/Terminal.app/内容/资源/字体/ SFMono- *〜/库/字体

Functions

请参见 this file.

Hardware

Bluetooth

## Status
默认读取/Library/Preferences/com.apple.Bluetooth ControllerPowerState

## Enable (Default)
sudo默认写入/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

## Disable
sudo默认写入/Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0 && \
须藤killall -HUP蓝色

Harddisks

Force Enable Trim

为非Apple SSD启用Trim. 自优胜美地以来,此命令可用.

forcetrim

Hardware Information

List All Hardware Ports

networksetup -listall硬件端口

Remaining Battery Percentage

 pmset -g batt |  egrep“([[0-9] + \%).*” -o --colour = auto |  切-f1 -d';'

Remaining Battery Time

 pmset -g batt |  egrep“([[0-9] + \%).*” -o --colour = auto |  切-f3 -d';'

Show Connected Device's UDID

 system_profiler SPUSBDataType |  sed -n -e'/ iPad /,/ Serial / p'-e'/ iPhone /,/ Serial / p'

Show Current Screen Resolution

 system_profiler SPDisplaysDataType |  扣押决议

Show CPU Brand String

sysctl -n machdep.cpu.brand_string

Infrared Receiver

## Status
默认读取/Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled

## Enable (Default)
默认写入/Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 1

## Disable
默认写入/Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 0

Power Management

Prevent System Sleep

防止睡眠1小时:

咖啡因-u -t 3600

Show All Power Management Settings

须藤pmset -g

Put Display to Sleep after 15 Minutes of Inactivity

须藤pmset displaysleep 15

Put Computer to Sleep after 30 Minutes of Inactivity

须藤pmset睡眠30

Check System Sleep Idle Time

sudo systemsetup -getcomputersleep

Set System Sleep Idle Time to 60 Minutes

sudo systemsetup -setcomputersleep 60

Turn Off System Sleep Completely

sudo systemsetup -setcomputersleep从不

Automatic Restart on System Freeze

sudo systemsetup -setrestartfreeze在

Chime When Charging

连接MagSafe时播放iOS充电声音.

## Enable
默认写com.apple.PowerChime ChimeOnAllHardware -bool true && \
打开/System/Library/CoreServices/PowerChime.app

## Disable (Default)
默认写com.apple.PowerChime ChimeOnAllHardware -bool false && \
杀死所有力量

Input Devices

Keyboard

Auto-Correct

## Disable
默认为write -g NSAutomaticSpellingCorrectionEnabled -bool false

## Enable (Default)
默认为write -g NSAutomaticSpellingCorrectionEnabled -bool true

## Show Status
默认读取为-g NSAutomaticSpellingCorrectionEnabled

Full Keyboard Access

在模式对话框中启用选项卡.

## Text boxes and lists only (Default)
默认写入NSGlobalDomain AppleKeyboardUIMode -int 0

## All controls
默认写入NSGlobalDomain AppleKeyboardUIMode -int 3

Key Repeat

禁用默认的“按住”行为.

## Enable Key Repeat
默认写-g ApplePressAndHoldEnabled -bool false

## Disable Key Repeat
默认写-g ApplePressAndHoldEnabled -bool true

Key Repeat Rate

设置非常快的重复率,以适应口味.

默认写-g KeyRepeat -int 0.02

Launchpad

Reset Launchpad Layout

您需要重新启动Dock,因为Launchpad已绑定到它.

## Up to Yosemite
rm〜/ Library / Application \ Support / Dock / *.db && \
杀人码头

## From El Capitan
默认写com.apple.dock ResetLaunchPad -bool true && \
杀人码头

Media

Audio

Convert Audio File to iPhone Ringtone

afconvert input.mp3铃声.m4r -f m4af

Create Audiobook From Text

使用“ Alex”语音,这是一种普通的UTF-8编码文本文件,用于输入和AAC输出.

说-v Alex -f file.txt -o“ output.m4a”

Disable Sound Effects on Boot

sudo nvram SystemAudioVolume =“”

Mute Audio Output

osascript -e'设置音量输出静音为真'

Set Audio Volume

osascript -e'设置音量4'

Play Audio File

您可以播放QuickTime本身支持的所有音频格式.

afplay -q 1文件名.mp3

Speak Text with System Default Voice

说“您的所有基地都属于我们!”

Video

Auto-Play Videos in QuickTime Player

默认写入com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1

Networking

Bonjour

Bonjour Service

## Disable
sudo默认写/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add“ -NoMulticastAdvertisements”

## Enable (Default)
sudo默认写/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array“ / usr / sbin / mDNSResponder”“ -launchd”

DHCP

Renew DHCP Lease

sudo ipconfig设置en0 DHCP

Show DHCP Info

ipconfig getpacket zh-CN

DNS

Clear DNS Cache

sudo dscacheutil -flushcache && \
须藤killall -HUP mDNSResponder

Hostname

Set Computer Name/Host Name

sudo scutil --set ComputerName“ newhostname” && \
sudo scutil --set主机名“ newhostname” && \
sudo scutil --set LocalHostName“ newhostname” && \
sudo默认写/Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string“ newhostname”

Network Preferences

Network Locations

在“网络”首选项窗格中创建的网络位置之间切换.

## Status
scselect

## Switch Network Location
scselect LocationNameFromStatus

Set Static IP Address

networksetup -setmanual“ Ethernet” 192.168.2.100 255.255.255.0 192.168.2.1

Networking Tools

Ping a Host to See Whether It’s Available

ping -o github.com

Troubleshoot Routing Problems

traceroute github.com

SSH

Permanently Add Private Key Passphrase to SSH Agent

>在macOS Sierra之前,ssh将显示一个对话框,询问您的密码短语,并提供将其存储到钥匙串中的选项. 此用户界面在一段时间前已过时,已被删除.

>而是在macOS Sierra中引入了新的UseKeychain选项,允许用户指定是否希望将密码存储在钥匙串中. 默认情况下,此选项已在macOS Sierra上启用,这导致所有密码短语都存储在钥匙串中.

>这不是预期的默认行为,因此在macOS 10.12.2中已对此进行了更改. (Source)

ssh-add -K / path / to / private_key
然后添加到〜/ .ssh / config中:
主机server.example.com
    IdentityFile / path / to / private_key
    UseKeychain是

Remote Login

## Enable remote login
sudo launchctl加载-w /System/Library/LaunchDaemons/ssh.plist

## Disable remote login
sudo launchctl卸载-w /System/Library/LaunchDaemons/ssh.plist

TCP/IP

Show Application Using a Certain Port

这将输出当前使用端口80的所有应用程序.

须藤lsof -i:80

Show External IP Address

如果您的ISP不替换DNS请求(不应该),则可以使用.

挖+短myip.opendns.com @ resolver1.opendns.com
适用于所有网络的替代方案.
curl -s https://api.ipify.org &&回声

Show Network Interface Information

scutil命令的未记录标志.

scutil-nwi

TFTP

Start Native TFTP Daemon

文件将从/ private / tftpboot提供.

sudo launchctl加载-F /System/Library/LaunchDaemons/tftp.plist && \
sudo launchctl启动com.apple.tftpd

Wi-Fi

Join a Wi-Fi Network

networksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD

Scan Available Access Points

创建指向airport命令的符号链接,以方便访问:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport / usr / local / bin / airport
运行无线扫描:
机场-s

Show Current SSID

 /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I |  awk'/ SSID / {print substr($ 0,index($ 0,$ 2))}'

Show Local IP Address

ipconfig getifaddr zh-CN0

Show Wi-Fi Connection History

 默认读取/Library/Preferences/SystemConfiguration/com.apple.airport.preferences |  grep LastConnected -A 7

Show Wi-Fi Network Passwords

用您要从中查询密码的接入点的SSID交换SSID.

安全查找通用密码-D“ AirPort网络密码” -a“ SSID” -gw

Turn on Wi-Fi Adapter

启用networksetup -setairportpower en0

Package Managers

  • Fink -用于Darwin的Unix开源软件的完整世界. 有点过时了.
  • Homebrew -缺少OS X的软件包管理器.最受欢迎的选择.
  • MacPorts -编译,安装和升级命令行,基于X11或Aqua的开源软件. 很干净,这就是我用的.

Homebrew

Full Uninstall

ruby -e“ $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”

Printing

Clear Print Queue

取消-a-

Expand Print Panel by Default

默认写-g PMPrintingExpandedStateForPrint -bool true && \
默认写-g PMPrintingExpandedStateForPrint2 -bool true

Quit Printer App After Print Jobs Complete

默认写com.apple.print.PrintingPrefs“完成后退出” -bool true

Security

Application Firewall

Firewall Service

## Show Status
须藤/ usr / libexec / ApplicationFirewall / socketfilterfw --getglobalstate

## Enable
sudo / usr / libexec / ApplicationFirewall / socketfilterfw --setglobalstate在

## Disable (Default)
sudo / usr / libexec / ApplicationFirewall / socketfilterfw --setglobalstate关闭

Add Application to Firewall

须藤/ usr / libexec / ApplicationFirewall / socketfilterfw --add / path / to / file

Gatekeeper

Add Gatekeeper Exception

spctl-添加/path/to/Application.app

Remove Gatekeeper Exception

spctl-删除/path/to/Application.app

Manage Gatekeeper

## Status
spctl-状态

## Enable (Default)
sudo spctl --master-启用

## Disable
sudo spctl --master-禁用

Passwords

Generate Secure Password and Copy to Clipboard

 LC_ALL = C tr -dc“ [:alnum:]</ dev / urandom |  头-c 20 |  pbcopy

Physical Access

Launch Screen Saver

## Up to Sierra
打开/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app

## From High Sierra
/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Lock Screen

/ System / Library / CoreServices / Menu \ Extras / User.menu / Contents / Resources / CGSession -suspend

Screensaver Immediate Lock

## Status
默认读取com.apple.screensaver askForPasswordDelay

## Enable (Default)
默认写com.apple.screensaver askForPasswordDelay -int 0

## Disable (Integer = lock delay in seconds)
默认写com.apple.screensaver askForPasswordDelay -int 10

Screensaver Password

## Status
defaults read com.apple.screensaver askForPassword

## Enable
默认写com.apple.screensaver askForPassword -int 1

## Disable (Default)
默认写com.apple.screensaver askForPassword -int 0

Wiping Data

注意:在Mac OS 10.9之后,似乎已删除了srm命令. 有一个关于 Apple support page 暗示原因: >对于SSD驱动器,“磁盘工具”中不提供“安全擦除”和“擦除可用空间”. SSD驱动器不需要这些选项,因为标准擦除使其很难从SSD恢复数据.

Securely Remove File

srm /路径/到/文件

Securely Remove Folder

srm -r /路径/到/文件夹/

Securely Remove Path (Force)

srm -rf /路径/到/完成/破坏

Find

Recursively Delete .DS_Store Files

 找 .  -type f -name'* .DS_Store'-ls -delete

Locate

Build Locate Database

sudo launchctl加载-w /System/Library/LaunchDaemons/com.apple.locate.plist

Search via Locate

-i修饰符使搜索不区分大小写.

定位-i * .jpg

System

AirDrop

## Enable AirDrop over Ethernet and on Unsupported Macs
默认写com.apple.NetworkBrowser BrowseAllInterfaces -bool true

## Enable (Default)
默认情况下删除com.apple.NetworkBrowser DisableAirDrop

## Disable
默认写com.apple.NetworkBrowser DisableAirDrop -bool是

AppleScript

Execute AppleScript

osascript /path/to/script.scpt

Basics

Compare Two Folders

差异-qr / path / to / folder1 / path / to / folder2

Copy Large File with Progress

确保已安装“ pv”,并用适当的写入设备或文件替换“ / dev / rdisk2”.

 FILE = / path / to / file.iso pv -s $(du -h $ FILE | awk'/.*/ {print $ 1}')$ FILE |  须藤dd of = / dev / rdisk2 bs = 1m

Restore Sane Shell

万一您的shell会话发疯(某些脚本或应用程序将其变成乱码).

斯塔蒂·理智

Restart

须藤重启

Shutdown

须藤断电

Show Build Number of OS

sw_vers

Uptime

自上次重新启动以来已过

uptime

Clipboard

Copy data to Clipboard

 猫what.txt |  pbcopy

Convert Clipboard to Plain Text

 pbpaste |  textutil -convert txt -stdin -stdout -encoding 30 |  pbcopy
 pbpaste |  扩大|  pbcopy

Copy data from Clipboard

pbpaste> what.txt
 pbpaste |  排序  uniq |  pbcopy

FileVault

Automatically Unlock FileVault on Restart

如果在当前卷上启用了FileVault,它将绕过初始解锁重新启动系统. 该命令可能不适用于所有系统.

须藤fdesetup authrestart

FileVault Service

## Status
sudo fdesetup状态

## Enable
sudo fdesetup启用

## Disable (Default)
sudo fdesetup禁用

Information/Reports

Generate Advanced System and Performance Report

sudo sysdiagnose -f〜/桌面/

Install OS

Create Bootable Installer

## Mojave
sudo / Applications / Install \ macOS \ Mojave.app/Contents/Resources/createinstallmedia --volume / Volumes / USB --nointeraction --downloadassets

## High Sierra
sudo / Applications / Install \ macOS \ High \ Sierra.app/Contents/Resources/createinstallmedia --volume / Volumes / USB --applicationpath / Applications / Install \ macOS \ High \ Sierra.app

## Sierra
sudo / Applications / Install \ macOS \ Sierra.app/Contents/Resources/createinstallmedia --volume / Volumes / USB --applicationpath / Applications / Install \ macOS \ Sierra.app

## El Capitan
sudo / Applications / Install \ OS \ X \ El \ Capitan.app/Contents/Resources/createinstallmedia --volume / Volumes / USB --applicationpath / Applications / Install \ OS \ X \ El \ Capitan.app

## Yosemite
sudo / Applications / Install \ OS \ X \ Yosemite.app/Contents/Resources/createinstallmedia --volume / Volumes / USB --applicationpath / Applications / Install \ OS \ X \ Yosemite.app

为了在擦除驱动器之前进行确认,请从命令中删除“ –-nointeraction”. * Mojave中新增了可选的––downloadassets标志. 它会下载安装过程中可能需要的资产,例如更新. 自Mojave以来,不推荐使用––applicationpath标志,如果使用该标志将引发错误.

Kernel Extensions

Display Status of Loaded Kernel Extensions

须藤kextstat -l

Load Kernel Extension

sudo kextload -b com.apple.driver.ExampleBundle

Unload Kernel Extensions

sudo kextunload -b com.apple.driver.ExampleBundle

LaunchAgents

请参见 this file.

LaunchServices

Rebuild LaunchServices Database

为了独立于OS X版本,这依赖于locate查找lsregister. 如果您尚未建立locate数据库, do it.

须藤$(locate lsregister)-kill -seed -r

Login Window

Set Login Window Text

sudo默认写/Library/Preferences/com.apple.loginwindow LoginwindowText“您的文本”

Memory Management

Purge memory cache

须藤吹扫

Show Memory Statistics

## One time
vm_stat

## Table of data, repeat 10 times total, 1 second wait between each poll
vm_stat -c 10 1

Notification Center

Notification Center Service

## Disable
launchctl卸载-w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && \
killall -9 NotificationCenter

## Enable (Default)
launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist

QuickLook

Preview via QuickLook

qlmanage -p /路径/到/文件

Remote Apple Events

## Status
sudo systemsetup -getremoteappleevents

## Enable
sudo systemsetup -setremoteappleevents在

## Disable (Default)
sudo systemsetup -setremoteappleevents关闭

Root User

## Enable
dsenableroot

## Disable
dsenableroot -d

Safe Mode Boot

## Status
nvram引导参数

## Enable
sudo nvram boot-args =“-x”

## Disable
sudo nvram boot-args =“”

Save Dialogs

大大改善了保存对话框中现在比较慢的动画.

默认写入NSGlobalDomain NSWindowResizeTime .001

Screenshots

Take Delayed Screenshot

3秒后以JPEG格式截屏,并显示在“预览”中.

屏幕捕获-T 3 -t jpg -P delaypic.jpg

Save Screenshots to Given Location

将位置设置为“〜/桌面”.

默认写com.apple.screencapture位置〜/ Desktop && \
杀死所有SystemUIServer

Save Screenshots in Given Format

将格式设置为“ png”. 其他选项包括bmpgifjpgjpegpdftiff.

默认写入com.apple.screencapture类型-string“ png”

Disable Shadow in Screenshots

默认写com.apple.screencapture disable-shadow -bool true && \
杀死所有SystemUIServer

Set Default Screenshot Name

日期和时间保持不变.

默认写入com.apple.screencapture名称“示例名称” && \
杀死所有SystemUIServer

Software Installation

Install PKG

安装程序-pkg /path/to/installer.pkg -target /

Software Update

Ignore Specific Software Update

标识符可以通过softwareupdate --list找到. 在下面的示例中,在Mojave上,将忽略对Catalina的所有更新提示,因为后者删除了32位支持.

sudo / usr / sbin / softwareupdate-忽略“ macOS Catalina”

Install All Available Software Updates

sudo软件更新-ia

Set Software Update Check Interval

设置为每天检查,而不是每周检查.

默认写com.apple.SoftwareUpdate ScheduleFrequency -int 1

Show Available Software Updates

sudo softwareupdate-列表

Set Software Update Server

仅应出于测试目的或不受管理的客户端执行此操作. 要在整个网络范围内使用,请正确设置DNS以及 Apple SUS service 并通过OpenDirectory绑定您的客户. 或者,使用 Reposado 加上正确的网络DNS设置以使解析透明. Margarita 看起来也不错.

## Use own SUS
sudo默认值写入/Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog

## Reset to Apple SUS
sudo默认值删除/Library/Preferences/com.apple.SoftwareUpdate CatalogURL

Software Version

Show System Software Version

sw_vers -productVersion

Spotlight

Spotlight Indexing

## Disable
mdutil -i off -d / path / to / volume

## Enable (Default)
在/ path / to / volume上的mdutil -i

Erase Spotlight Index and Rebuild

mdutil -E /路径/到/卷

Search via Spotlight

mdfind -name'searchterm'

Show Spotlight Indexed Metadata

mdls /路径/到/文件

System Integrity Protection

Disable System Integrity Protection

按住Cmd + R重启,打开终端应用程序,然后输入:

csrutil禁用&&重新启动

Enable System Integrity Protection

按住Cmd + R重启,打开终端应用程序,然后输入:

csrutil启用&&重新启动

Date and Time

List Available Timezones

sudo systemsetup -listtimezones

Set Timezone

sudo systemsetup -settimezone欧洲/柏林

Set Clock Using Network Time

## Status
须藤系统设置getusingnetworktime

## Enable (Default)
sudo systemsetup setusingnetworktime on

## Disable
sudo systemsetup setusingnetworktime关闭

Terminal

Ring Terminal Bell

敲响终端铃(如果启用)并在其上贴上徽章.

贝尔

Alternative Terminals

  • Alacritty -跨平台,GPU加速的终端仿真器.
  • iTerm2 -更好的Terminal.app.
  • kitty -先进的GPU加速终端仿真器.

Shells

Bash

安装最新版本并设置为当前用户的默认外壳程序:

brew install bash && \
 echo $(brew --prefix)/ bin / bash |  sudo tee -a / etc / shells && \
chsh -s $(brew --prefix)/ bin / bash

  • Homepage -OS X和大多数其他基于Unix的操作系统的默认外壳.
  • Bash-it -社区Bash框架,例如Bash的Oh My Zsh.

fish

安装最新版本并设置为当前用户的默认外壳程序:

酿造鱼&& \
 echo $(brew --prefix)/ bin / fish |  sudo tee -a / etc / shells && \
chsh -s $(brew --prefix)/ bin /鱼

Zsh

安装最新版本并设置为当前用户的默认外壳程序:

brew install zsh && \
sudo sh -c'echo $(brew --prefix)/ bin / zsh >> / etc / shells'&& \
chsh -s $(brew --prefix)/ bin / zsh

  • Homepage -Zsh是一种设计用于交互式使用的外壳程序,尽管它也是一种功能强大的脚本语言.
  • Oh My Zsh -用于管理Zsh配置的开源,社区驱动的框架.
  • Prezto -快速的Zsh框架. 通过合理的默认值,别名,函数,自动完成和提示主题来丰富命令行界面环境.
  • zgen -另一个用于管理zsh配置的开源框架. Zgen将加载与oh-my-zsh兼容的插件和主题,并具有更快和自动克隆配置中使用的所有插件的优势.

Terminal Fonts

  • Anonymous Pro -四个固定宽度字体家族,在设计时考虑了编码.
  • Codeface -供开发人员使用的等距字体的库和存储库.
  • DejaVu Sans Mono -基于Vera字体的字体家族.
  • Hack -Hack经过手工修饰,并在视觉上保持平衡,可以成为您首选的代码.
  • Inconsolata -等宽字体,设计用于代码清单等.
  • Input -专为代码设计的灵活字体系统.
  • Meslo -Apple的Menlo字体的自定义版本.
  • Operator Mono -等宽字体(商业)的一种令人惊讶的可用替代方法.
  • Powerline Fonts -Powerline插件的修补字体回购.
  • Source Code Pro -用于用户界面和编码环境的等宽字体系列.

Glossary

Mac OS X, OS X, and macOS Version Information

版本 代号 发布日期 最新版本
Rhapsody开发人员发布 Grail1Z4 / Titan1U 1997年8月31日 DR2(1998年5月14日)
Mac OS X服务器1.0 赫拉 1999年3月16日 1.2v3(2000年10月27日)
Mac OS X开发人员预览 不适用 1999年3月16日 DP4(2000年4月5日)
Mac OS X公开Beta版 科迪亚克 2000年9月13日 不适用
Mac OS X 10.0 猎豹 2001年3月24日 10.0.4(2001年6月22日)
Mac OS X 10.1 彪马 2001年9月25日 10.1.5(2002年6月6日)
Mac OS X 10.2 美洲虎 2002年8月24日 10.2.8(2003年10月3日)
Mac OS X 10.3 2003年10月24日 10.3.9(2005年4月15日)
Mac OS X 10.4 老虎 2005年4月29日 10.4.11(2007年11月14日)
Mac OS X 10.5 豹纹 2007年10月26日 10.5.8(2009年8月5日)
Mac OS X 10.6 雪豹 2009年8月28日 10.6.8 v1.1(2011年7月25日)
Mac OS X 10.7 狮子 2011年7月20日 10.7.5(2012年9月19日)
OS X 10.8 山狮 2012年7月25日 10.8.5(12F45)(2013年10月3日)
OS X 10.9 小牛 2013年10月22日 10.9.5(13F1112)(2014年9月18日)
OS X 10.10 优胜美地 2014年10月16日 10.10.5(14F27)(2015年8月13日)
OS X 10.11 埃尔卡皮坦 2015年9月30日 10.11.6(15G31)(2016年7月18日)
macOS 10.12 塞拉利昂 2016年9月20日 10.12.6(16G29)(2017年7月19日)
macOS 10.13 高塞拉利昂 2017年9月25日 10.13.6(17G65)(2018年7月9日)
macOS 10.14 莫哈韦沙漠 2018年9月24日 10.14(18A391)(2018年9月24日)
macOS 10.15 卡塔琳娜 2019年10月7日 10.15.0(19A602)(2019年10月15日)

License

Creative Commons License
这项工作是根据
知识共享署名-相同方式共享4.0国际许可许可的 .