awesome-osx-command-line/README.md

870 lines
18 KiB
Markdown
Raw Normal View History

2015-09-23 19:18:55 -04:00
<img src="https://cdn.rawgit.com/herrbischoff/awesome-osx-command-line/master/assets/logo.svg" width="600">
2015-09-22 17:23:45 -04:00
> A curated list of shell commands and tools specific to OS X.
2015-09-22 17:48:14 -04:00
>
2015-09-24 12:11:34 -04:00
> _“You dont have to know everything. You simply need to know where to find it when necessary.” (John Brunner)_
2015-09-22 17:23:45 -04:00
2015-09-22 17:28:21 -04:00
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2015-09-23 19:20:43 -04:00
If you want to contribute, you are highly encouraged to do so. Please read the [contribution guidelines](contributing.md).
2015-09-22 17:23:45 -04:00
## Table of Contents
2015-09-24 12:11:34 -04:00
- [Appearance](#appearance)
- [Transparency](#transparency)
- [Wallpaper](#wallpaper)
- [Applications](#applications)
- [App Store](#app-store)
- [Apple Remote Desktop](#apple-remote-desktop)
- [Sketch](#sketch)
- [Backup](#backup)
- [Time Machine](#time-machine)
2015-09-24 12:11:34 -04:00
- [Developer](#developer)
- [App Icons](#app-icons)
2015-09-24 12:11:34 -04:00
- [Xcode](#xcode)
- [Disks and Volumes](#disks-and-volumes)
- [Documents](#documents)
2015-09-24 12:11:34 -04:00
- [Finder](#finder)
2015-10-14 19:54:13 -04:00
- [Files and Folders](#files-and-folders)
- [Icons](#icons)
2015-10-16 12:56:46 -04:00
- [Opening Things](#opening-things)
2015-09-24 12:11:34 -04:00
- [Fonts](#fonts)
- [Hardware](#hardware)
- [Hardware Information](#hardware-information)
2015-10-02 16:23:24 -04:00
- [Power Management](#power-management)
2015-09-24 12:11:34 -04:00
- [Input Devices](#input-devices)
- [Keyboard](#keyboard)
- [Media](#media)
- [Audio](#audio)
- [Networking](#networking)
- [Bonjour](#bonjour)
- [DHCP](#dhcp)
- [DNS](#dns)
2015-10-02 19:15:18 -04:00
- [Hostname](#hostname)
2015-09-24 12:11:34 -04:00
- [Networking Tools](#networking-tools)
2015-10-13 17:47:14 -04:00
- [TCP/IP](#tcpip)
2015-09-24 12:11:34 -04:00
- [Wi-Fi](#wi-fi)
- [Package Managers](#package-managers)
- [Printing](#printing)
- [Security](#security)
- [Gatekeeper](#gatekeeper)
2015-09-25 10:17:11 -04:00
- [Passwords](#passwords)
2015-10-14 20:13:52 -04:00
- [Physical Access](#physical-access)
2015-09-24 12:11:34 -04:00
- [Wiping Data](#wiping-data)
- [Search](#search)
2015-10-14 19:46:18 -04:00
- [Find](#find)
- [Locate](#locate)
2015-09-24 12:11:34 -04:00
- [System](#system)
2015-10-13 14:24:24 -04:00
- [AppleScript](#applescript)
2015-09-24 12:11:34 -04:00
- [Basics](#basics)
- [Clipboard](#clipboard)
- [FileVault](#filevault)
2015-10-16 08:39:17 -04:00
- [Information/Reports](#informationreports)
2015-09-25 10:49:17 -04:00
- [Kernel Extensions](#kernel-extensions)
2015-10-13 17:56:00 -04:00
- [LaunchAgents](#launchagents)
- [LaunchServices](#launchservices)
2015-09-24 12:11:34 -04:00
- [Memory Management](#memory-management)
- [Notification Center](#notification-center)
2015-10-02 19:09:54 -04:00
- [QuickLook](#quicklook)
2015-09-24 12:11:34 -04:00
- [Root User](#root-user)
- [Safe Mode Boot](#safe-mode-boot)
2015-09-25 10:48:55 -04:00
- [Software Installation](#software-installation)
2015-10-13 14:20:04 -04:00
- [Spotlight](#spotlight)
2015-10-14 20:04:21 -04:00
- [Terminal](#terminal)
2015-09-24 12:11:34 -04:00
## Appearance
### Transparency
#### Disable Transparency in Menu and Windows
```bash
defaults write com.apple.universalaccess reduceTransparency -bool true
```
#### Enable Transparency in Menu and Windows
```bash
defaults write com.apple.universalaccess reduceTransparency -bool false
```
### Wallpaper
2015-09-25 09:57:47 -04:00
#### Set Wallpaper
2015-09-24 12:11:34 -04:00
```bash
osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/path/to/picture.jpg"'
```
## Applications
### App Store
#### List All Apps Downloaded from App Store
```bash
find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'
```
### Apple Remote Desktop
#### Remove Apple Remote Desktop Settings
```bash
sudo rm -rf /var/db/RemoteManagement
sudo rm /Library/Preferences/com.apple.RemoteDesktop.plist
rm ~/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
```
2015-09-22 17:23:45 -04:00
2015-09-24 12:11:34 -04:00
### Sketch
#### Export Compact SVGs
```bash
defaults write com.bohemiancoding.sketch3 exportCompactSVG -bool yes
```
2015-09-22 17:23:45 -04:00
2015-10-13 17:32:14 -04:00
## Backup
### Time Machine
#### Change Backup Interval
This changes the interval to 30 minutes. The integer value is the time in seconds.
```bash
sudo defaults write /System/Library/Launch Daemons/com.apple.backupd-auto StartInterval -int 1800
```
2015-09-25 10:32:40 -04:00
#### Disable Local Time Machine Backups
2015-09-25 10:30:38 -04:00
```bash
2015-09-25 10:32:40 -04:00
hash tmutil &> /dev/null && sudo tmutil disablelocal
2015-09-25 10:30:38 -04:00
```
2015-09-25 10:32:40 -04:00
#### Prevent Time Machine From Prompting to Use New Hard Drives as Backup Volume
2015-09-25 10:30:38 -04:00
```bash
2015-09-25 10:32:40 -04:00
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true
2015-09-25 10:30:38 -04:00
```
2015-09-25 10:32:40 -04:00
## Developer
### App Icons
2015-10-13 18:06:05 -04:00
#### Create App Icon
Function to quickly create an application icon from 1024px master file.
```bash
function mkicns() {
if [[ -z "$@" ]]; then
echo "Input file missing"
else
filename=${1%.*}
mkdir $filename.iconset
sips -z 16 16 $1 --out $filename.iconset/icon_16x16.png
sips -z 32 32 $1 --out $filename.iconset/icon_16x16@2x.png
sips -z 32 32 $1 --out $filename.iconset/icon_32x32.png
sips -z 64 64 $1 --out $filename.iconset/icon_32x32@2x.png
sips -z 128 128 $1 --out $filename.iconset/icon_128x128.png
sips -z 256 256 $1 --out $filename.iconset/icon_128x128@2x.png
sips -z 256 256 $1 --out $filename.iconset/icon_256x256.png
sips -z 512 512 $1 --out $filename.iconset/icon_256x256@2x.png
sips -z 512 512 $1 --out $filename.iconset/icon_512x512.png
cp $1 $filename.iconset/icon_512x512@2x.png
iconutil -c icns $filename.iconset
rm -r $filename.iconset
fi
}
```
### Vim
#### Compile Sane Vim
2015-10-13 17:39:49 -04:00
Compiling MacVim via Homebrew with all bells and whistles, including overriding system Vim.
```bash
2015-10-15 03:50:20 -04:00
brew install macvim --HEAD --with-cscope --with-lua --with-override-system-vim --with-luajit --with-python
```
### Xcode
#### Install Command Line Tools Without Xcode
```bash
xcode-select --install
```
2015-10-15 10:14:11 -04:00
#### Remove All Unavailable Simulators
```bash
xcrun simctl delete unavailable
```
2015-09-24 12:11:34 -04:00
## Disks and Volumes
2015-09-22 17:23:45 -04:00
2015-09-24 12:11:34 -04:00
#### Disable Sudden Motion Sensor
Leaving this turned on is useless when you're using SSDs.
```bash
sudo pmset -a sms 0
```
#### Eject All Mountable Volumes
The only reliable way to do this is by sending an AppleScript command to Finder.
```bash
osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
```
2015-10-13 14:02:56 -04:00
#### Make Volume OS X Bootable
```bash
bless --folder "/path/to/mounted/volume/System/Library/CoreServices" --bootinfo --bootefi
```
2015-09-25 10:40:55 -04:00
#### Mount Disk Image
```bash
hdiutil attach /path/to/diskimage.dmg
```
2015-09-25 10:43:15 -04:00
#### Unmount Disk Image
```bash
hdiutil detach /dev/disk2s1
```
2015-09-24 12:11:34 -04:00
#### Repair File Permissions
You don't have to use the Disk Utility GUI for this.
2015-09-22 17:23:45 -04:00
```bash
sudo diskutil repairPermissions /
```
2015-10-13 17:32:14 -04:00
#### Set Boot Volume
2015-10-13 14:02:56 -04:00
```bash
bless --mount "/path/to/mounted/volume" --setBoot
```
2015-09-25 10:38:10 -04:00
#### Show All Attached Disks and Partitions
```bash
diskutil list
```
2015-09-23 16:28:51 -04:00
## Documents
#### Convert File to HTML
Supported formats are plain text, rich text (rtf) and Microsoft Word (doc/docx).
```bash
textutil -convert html file.ext
```
2015-10-14 19:46:18 -04:00
2015-09-22 17:23:45 -04:00
## Finder
2015-10-14 19:54:13 -04:00
### Files and Folders
2015-10-14 19:50:32 -04:00
2015-10-14 19:51:07 -04:00
#### Hide Folder in Finder
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
chflags hidden /path/to/folder/
2015-09-22 17:23:45 -04:00
```
#### Show All File Extensions
```bash
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
```
2015-09-22 17:23:45 -04:00
2015-09-24 12:11:34 -04:00
#### Show All Hidden Files
```bash
defaults write com.apple.finder AppleShowAllFiles true
```
#### Restore Default File Visibility
```bash
defaults write com.apple.finder AppleShowAllFiles false
```
2015-09-22 17:23:45 -04:00
2015-09-24 12:11:34 -04:00
#### Unhide User Library folder
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
chflags nohidden ~/Library
2015-09-22 17:23:45 -04:00
```
2015-10-14 19:54:13 -04:00
### Icons
#### Hide All Desktop Icons
```bash
defaults write com.apple.finder CreateDesktop -bool false && killall Finder
```
#### Show All Desktop Icons
```bash
defaults write com.apple.finder CreateDesktop -bool true && killall Finder
```
2015-10-17 13:04:39 -04:00
#### Set Sidebar Icon Size
Sets size to 'medium'.
```bash
defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2
```
2015-10-16 12:56:46 -04:00
### Opening Things
2015-10-16 08:47:07 -04:00
2015-10-16 13:00:44 -04:00
#### Open URL
2015-10-16 08:47:07 -04:00
```bash
open http://www.github.com
```
2015-10-16 09:00:32 -04:00
#### Open File
2015-10-16 08:47:07 -04:00
```bash
open README.md
```
2015-10-16 09:00:32 -04:00
#### Open Applications
2015-10-16 12:56:46 -04:00
You can open applications using `-a`.
2015-10-16 08:47:07 -04:00
```bash
open -a "Google Chrome" http://www.github.com
```
2015-10-16 09:00:32 -04:00
#### Open Directory
2015-10-16 08:47:07 -04:00
```bash
open /path/to/directory
```
2015-10-16 09:00:32 -04:00
#### Open Current Directory
2015-10-16 08:47:07 -04:00
```bash
open .
```
2015-10-16 12:56:46 -04:00
## Fonts
#### Clear Font Cache for Current User
To clear font caches for all users, put `sudo` in front of this command.
```bash
atsutil databases -removeUser && atsutil server -shutdown && atsutil server -ping
```
2015-09-22 17:23:45 -04:00
## Hardware
2015-09-24 12:11:34 -04:00
### Hardware Information
#### List All Hardware Ports
2015-09-22 17:23:45 -04:00
```bash
networksetup -listallhardwareports
```
2015-09-24 12:11:34 -04:00
#### Show Current Screen Resolution
```bash
system_profiler SPDisplaysDataType | grep Resolution
```
2015-10-16 13:55:03 -04:00
#### Show CPU Brand String
```bash
sysctl -n machdep.cpu.brand_string
```
2015-09-24 12:11:34 -04:00
### Power Management
2015-10-02 16:25:34 -04:00
#### Prevent System Sleep
Prevent sleep for 1 hour:
```bash
caffeinate -u -t 3600
```
2015-09-24 12:11:34 -04:00
#### Show All Power Management Settings
2015-09-22 17:23:45 -04:00
```bash
sudo pmset -g
```
2015-09-24 12:11:34 -04:00
#### Put Display to Sleep After 15 Minutes of Inactivity
```bash
sudo pmset displaysleep 15
```
#### Put Computer to Sleep After 30 Minutes of Inactivity
```bash
sudo pmset sleep 30
```
#### Check System Sleep Idle Time
```bash
sudo systemsetup -getcomputersleep
```
#### Set System Sleep Idle Time to 60 Minutes
```bash
sudo systemsetup -setcomputersleep 60
```
#### Turn Off System Sleep Completely
```bash
sudo systemsetup -setcomputersleep Never
```
2015-09-22 17:23:45 -04:00
## Input Devices
2015-09-24 12:11:34 -04:00
### Keyboard
#### Disable Auto-Correct
```bash
2015-09-24 12:11:34 -04:00
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
```
2015-09-24 12:11:34 -04:00
#### Enable Auto-Correct
```bash
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool true
```
#### Show Auto-Correct Setting
```bash
defaults read -g NSAutomaticSpellingCorrectionEnabled
```
2015-09-22 17:23:45 -04:00
## Media
2015-09-24 12:11:34 -04:00
### Audio
#### Convert Audio File to iPhone Ringtone
2015-09-22 17:23:45 -04:00
```bash
afconvert input.mp3 ringtone.m4r -f m4af
```
2015-10-17 13:01:31 -04:00
#### Disable Sound Effects on Boot
``bash`
sudo nvram SystemAudioVolume=" "
```
2015-10-14 20:09:41 -04:00
#### Mute Audio Output
```bash
osascript -e 'set volume output muted true'
```
#### Set Audio Volume
```bash
osascript -e 'set volume 4'
```
2015-09-28 19:50:05 -04:00
#### Play Audio File
You can play all audio formats that are natively supported by QuickTime.
```bash
afplay -q 1 filename.mp3
```
2015-10-13 14:28:32 -04:00
#### Speak Text with System Default Voice
```bash
say 'All your base are belong to us!'
```
2015-09-24 12:11:34 -04:00
2015-09-22 17:23:45 -04:00
## Networking
2015-09-24 12:11:34 -04:00
### Bonjour
2015-09-22 17:23:45 -04:00
2015-09-24 12:11:34 -04:00
#### Disable Bonjour
2015-09-23 16:11:23 -04:00
```bash
defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder ProgramArguments -array "/usr/sbin/mDNSResponder" "-launchd"
```
2015-09-24 12:11:34 -04:00
#### Enable Bonjour
```bash
2015-09-24 12:11:34 -04:00
defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder ProgramArguments -array-add "-NoMulticastAdvertisements"
```
2015-09-24 12:11:34 -04:00
### DHCP
#### Renew DHCP Lease
2015-09-22 17:23:45 -04:00
```bash
sudo ipconfig set en0 DHCP
```
2015-09-24 12:11:34 -04:00
#### Show DHCP Info
2015-09-22 17:23:45 -04:00
```bash
ipconfig getpacket en0
```
2015-09-24 12:11:34 -04:00
### DNS
#### Clear DNS Cache
```bash
sudo dscachutil -flushcache && sudo killall -HUP mDNSResponder
```
2015-10-02 19:14:03 -04:00
### Hostname
#### Set Computer Name/Host Name
2015-10-02 19:14:03 -04:00
You need to run all of the commands since the hostname needs to be changed in three places.
```bash
2015-10-13 17:32:14 -04:00
sudo scutil --set ComputerName "newhostname"
2015-10-02 19:14:03 -04:00
sudo scutil --set HostName "newhostname"
sudo scutil --set LocalHostName "newhostname"
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "newhostname"
2015-10-02 19:14:03 -04:00
```
2015-10-13 17:32:14 -04:00
### Networking Tools
2015-09-24 12:11:34 -04:00
#### Ping a Host to See Whether Its Available
```bash
ping -o github.com
```
#### Troubleshoot Routing Problems
```bash
traceroute github.com
```
2015-10-13 17:45:59 -04:00
### TCP/IP
#### Show Application Using a Certain Port
This outputs all applications currently using port 80.
```bash
sudo lsof -i :80
```
2015-09-24 12:11:34 -04:00
### Wi-Fi
2015-10-02 16:19:51 -04:00
#### Scan Available Access Points
Create a symbolic link to the airport command for easy access:
```bash
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
```
Run a wireless scan:
```bash
airport -s
```
2015-09-24 12:11:34 -04:00
#### Show Wi-Fi Connection History
2015-09-22 17:23:45 -04:00
```bash
defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7
```
2015-09-24 12:11:34 -04:00
#### Show Wi-Fi Network Passwords
2015-09-22 17:23:45 -04:00
```bash
security find-generic-password -ga "ROUTERNAME" | grep "password:"
```
## Package Managers
2015-09-24 12:11:34 -04:00
- [Fink](http://www.finkproject.org) - The full world of Unix Open Source software for Darwin.
- [Homebrew](http://brew.sh) - The missing package manager for OS X.
- [MacPorts](https://www.macports.org) - Compile, install and upgrade either command-line, X11 or Aqua based open-source software.
2015-09-22 17:23:45 -04:00
## Printing
2015-09-24 12:11:34 -04:00
#### Clear Print Queue
2015-09-22 17:23:45 -04:00
```bash
cancel -a -
```
## Security
2015-09-24 12:11:34 -04:00
### Gatekeeper
#### Add Gatekeeper Exception
2015-09-22 17:23:45 -04:00
```bash
spctl --add /path/to/Application.app
```
2015-09-24 12:11:34 -04:00
#### Remove Gatekeeper Exception
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
spctl --remove /path/to/Application.app
2015-09-22 17:23:45 -04:00
```
2015-09-25 10:17:11 -04:00
### Passwords
#### Generate Secure Password and Copy to Clipboard
First, install `pwgen` via Homebrew, etc.
```bash
pwgen -Cs 20 1 | tr -d ' ' | tr -d '\n' | pbcopy
```
2015-10-14 20:13:52 -04:00
### Physical Access
#### Lock Screen
```bash
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
```
2015-09-24 12:11:34 -04:00
### Wiping Data
#### Securely Remove File
2015-09-22 17:23:45 -04:00
```bash
srm /path/to/file
2015-09-24 12:11:34 -04:00
```
#### Securely Remove Directory
```bash
2015-09-22 17:23:45 -04:00
srm -r /path/to/directory/
2015-09-24 12:11:34 -04:00
```
#### Securely Remove Path (Force)
```bash
2015-09-22 17:23:45 -04:00
srm -rf /path/to/complete/destruction
```
2015-09-24 12:11:34 -04:00
## Search
2015-10-14 19:46:18 -04:00
### Find
#### Recursively Delete .DS_Store Files
```bash
find . -type f -name '*.DS_Store' -ls -delete
```
### Locate
#### Build Locate Database
```bash
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
```
#### Search via Locate
The `-i` modifier makes the search case insensitive.
```bash
locate -i *.jpg
```
2015-09-22 17:23:45 -04:00
## System
2015-10-13 14:24:24 -04:00
### AppleScript
#### Execute AppleScript
```bash
osascript /path/to/script.scpt
2015-10-13 17:32:14 -04:00
```
2015-10-13 14:24:24 -04:00
2015-09-24 12:11:34 -04:00
### Basics
#### Restart
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo reboot
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Shutdown
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo poweroff
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Show Build Number of OS
```bash
sw_vers
```
### Clipboard
#### Copy data to Clipboard
2015-09-22 17:23:45 -04:00
```bash
cat whatever.txt | pbcopy
```
2015-09-24 12:55:54 -04:00
#### Convert Tabs to Spaces for Clipboard Content
2015-09-24 12:38:36 -04:00
```bash
pbpaste | expand | pbcopy
```
2015-09-24 12:11:34 -04:00
#### Copy data from Clipboard
2015-09-23 16:18:00 -04:00
```bash
2015-09-24 12:11:34 -04:00
pbpaste > whatever.txt
2015-09-23 16:18:00 -04:00
```
2015-09-24 12:35:59 -04:00
#### Sort and Strip Duplicate Lines from Clipboard Content
```bash
pbpaste | sort | uniq | pbcopy
```
2015-09-24 12:11:34 -04:00
### FileVault
#### Check FileVault Status
2015-09-23 16:23:58 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo fdesetup status
2015-09-23 16:23:58 -04:00
```
2015-09-24 12:11:34 -04:00
### Information/Reports
#### Generate Advanced System and Performance Report
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo sysdiagnose -f ~/Desktop/
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:59:05 -04:00
### Kernel Extensions
#### Load Kernel Extension
```bash
sudo kextload -b com.apple.driver.ExampleBundle
```
#### Unload Kernel Extensions
```bash
sudo kextunload -b com.apple.driver.ExampleBundle
```
2015-10-13 17:56:00 -04:00
### LaunchAgents
#### Periodical Job Template
2015-10-13 17:57:29 -04:00
Run job every 5 minutes.
2015-10-13 17:56:00 -04:00
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.touchsomefile</string>
<key>ProgramArguments</key>
<array>
<string>touch</string>
<string>/tmp/helloworld</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
</dict>
</plist>
```
#### Periodical via Calendar Interval Job Template
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.touchsomefile</string>
<key>ProgramArguments</key>
<array>
<string>touch</string>
<string>/tmp/helloworld</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>45</integer>
<key>Hour</key>
<integer>13</integer>
<key>Day</key>
<integer>7</integer>
</dict>
</dict>
</plist>
```
#### Monitoring Directory Job Template
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example.watchhostconfig</string>
<key>ProgramArguments</key>
<array>
<string>syslog</string>
<string>-s</string>
<string>-l</string>
<string>notice</string>
<string>somebody touched /etc/hostconfig</string>
</array>
<key>WatchPaths</key>
<array>
<string>/etc/hostconfig</string>
</array>
</dict>
</plist>
```
### LaunchServices
#### Rebuild LaunchServices Database
2015-10-14 19:02:36 -04:00
To be independent of OS X version, this relies on `locate` to find `lsregister`. If you do not have your `locate` database built yet, [do it](#build-locate-database).
```bash
sudo $(locate lsregister) -kill -seed -r
```
2015-10-13 17:56:00 -04:00
2015-09-24 12:59:05 -04:00
### Memory Management
2015-09-24 12:11:34 -04:00
#### Purge memory cache
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo purge
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
### Notification Center
#### Disable Notification Center
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && killall -9 NotificationCenter
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Enable Notification Center
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
2015-09-22 17:23:45 -04:00
```
2015-10-02 19:09:54 -04:00
### QuickLook
#### Preview via QuickLook
```bash
qlmanage -p /path/to/file
```
2015-09-24 12:11:34 -04:00
### Root User
#### Enable Root User
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
dsenableroot
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Disable Root User
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
dsenableroot -d
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
### Safe Mode Boot
#### Check Safe Mode Setting
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
nvram boot-args
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Enable Safe Mode
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo nvram boot-args="-x"
2015-09-22 17:23:45 -04:00
```
2015-09-24 12:11:34 -04:00
#### Disable Safe Mode
2015-09-22 17:23:45 -04:00
```bash
2015-09-24 12:11:34 -04:00
sudo nvram boot-args=""
2015-09-22 17:23:45 -04:00
```
2015-09-25 10:48:55 -04:00
### Software Installation
#### Install PKG
```bash
installer -pkg /path/to/installer.pkg -target /
```
2015-10-13 14:20:04 -04:00
### Spotlight
#### Disable Indexing
```bash
mdutil -i off -d /path/to/volume
```
#### Enable Indexing
```bash
mdutil -i on /path/to/volume
```
#### Erase Spotlight Index and Rebuild
```bash
mdutil -E /path/to/volume
```
#### Search via Spotlight
```bash
mdfind -name 'searchterm'
```
2015-10-13 17:32:14 -04:00
2015-10-14 20:04:21 -04:00
## Terminal
#### Ring Terminal Bell
Rings the terminal bell (if enabled) and puts a badge on it.
```bash
tput bel
```
2015-09-22 17:42:05 -04:00
## License
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.