diff --git a/README-tr.md b/README-tr.md new file mode 100644 index 0000000..57f38d0 --- /dev/null +++ b/README-tr.md @@ -0,0 +1,1354 @@ + + +> A curated list of shell commands and tools specific to OS X. +> +> _“You don’t have to know everything. You simply need to know where to find it when necessary.” (John Brunner)_ + +[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/herrbischoff/awesome-osx-command-line) + +If you want to contribute, you are highly encouraged to do so. Please read the [contribution guidelines](contributing.md). + +For more terminal shell goodness, please also see this list's sister list [Awesome Command Line Apps](https://github.com/herrbischoff/awesome-command-line-apps). + +## Table of Contents + +- [Appearance](#appearance) + - [Transparency](#transparency) + - [Wallpaper](#wallpaper) +- [Applications](#applications) + - [App Store](#app-store) + - [Apple Remote Desktop](#apple-remote-desktop) + - [iTunes](#itunes) + - [Mail](#mail) + - [Safari](#safari) + - [Sketch](#sketch) + - [TextEdit](#textedit) +- [Backup](#backup) + - [Time Machine](#time-machine) +- [Developer](#developer) + - [App Icons](#app-icons) + - [Vim](#vim) + - [Xcode](#xcode) +- [Disks and Volumes](#disks-and-volumes) + - [Disk Images](#disk-images) +- [Dock](#dock) +- [Documents](#documents) +- [Finder](#finder) + - [Files and Folders](#files-and-folders) + - [Layout](#layout) + - [Metadata Files](#metadata-files) + - [Opening Things](#opening-things) +- [Fonts](#fonts) +- [Functions](#functions) +- [Hardware](#hardware) + - [Hardware Information](#hardware-information) + - [Power Management](#power-management) +- [Input Devices](#input-devices) + - [Keyboard](#keyboard) +- [Media](#media) + - [Audio](#audio) + - [Video](#video) +- [Networking](#networking) + - [Bonjour](#bonjour) + - [DHCP](#dhcp) + - [DNS](#dns) + - [Hostname](#hostname) + - [Networking Tools](#networking-tools) + - [TCP/IP](#tcpip) + - [Wi-Fi](#wi-fi) +- [Package Managers](#package-managers) +- [Printing](#printing) +- [Security](#security) + - [Application Firewall](#application-firewall) + - [Gatekeeper](#gatekeeper) + - [Passwords](#passwords) + - [Physical Access](#physical-access) + - [Wiping Data](#wiping-data) +- [Search](#search) + - [Find](#find) + - [Locate](#locate) +- [System](#system) + - [AirDrop](#airdrop) + - [AppleScript](#applescript) + - [Basics](#basics) + - [Clipboard](#clipboard) + - [FileVault](#filevault) + - [Information/Reports](#informationreports) + - [Kernel Extensions](#kernel-extensions) + - [LaunchAgents](#launchagents) + - [LaunchServices](#launchservices) + - [Login Window](#login-window) + - [Memory Management](#memory-management) + - [Notification Center](#notification-center) + - [QuickLook](#quicklook) + - [Root User](#root-user) + - [Safe Mode Boot](#safe-mode-boot) + - [Screenshots](#screenshots) + - [Software Installation](#software-installation) + - [Software Update](#software-update) + - [Spotlight](#spotlight) + - [System Integrity Protection](#system-integrity-protection) +- [Terminal](#terminal) + - [Alternative Terminals](#alternative-terminals) + - [Shells](#shells) + - [Terminal Fonts](#terminal-fonts) + + +## Appearance + +### Transparency + +#### Transparency in Menu and Windows +```bash +# Reduce Transparency +defaults write com.apple.universalaccess reduceTransparency -bool true + +# Restore Default Transparency +defaults write com.apple.universalaccess reduceTransparency -bool false +``` + + +### Wallpaper + +#### Set Wallpaper +```bash +# Up to Mountain Lion +osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/path/to/picture.jpg"' + +# Since Mavericks +sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/picture.jpg'" && killall Dock +``` + + +## 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 defaults delete /Library/Preferences/com.apple.RemoteDesktop.plist ; \ +defaults 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 +``` + +### iTunes + +#### Keyboard Media Keys +```bash +# Stop Responding to Key Presses +launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist + +# Respond to Key Presses (Default) +launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist +``` + +### Mail + +#### Vacuum Mail Index +The AppleScript code below will quit Mail, vacuum the SQLite index, then re-open Mail. On a large email database that hasn't been optimized for a while, this can provide significant improvements in responsiveness and speed. +```applescript +(* +Speed up Mail.app by vacuuming the Envelope Index +Code from: http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/ +Originally by "pmbuko" with modifications by Romulo +Updated by Brett Terpstra 2012 +Updated by Mathias Törnblom 2015 to support V3 in El Capitan and still keep backwards compability +*) + +tell application "Mail" to quit +set os_version to do shell script "sw_vers -productVersion" +set mail_version to "V2" +considering numeric strings + if "10.10" <= os_version then set mail_version to "V3" +end considering + +set sizeBefore to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}" +do shell script "/usr/bin/sqlite3 ~/Library/Mail/" & mail_version & "/MailData/Envelope\\ Index vacuum" + +set sizeAfter to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}" + +display dialog ("Mail index before: " & sizeBefore & return & "Mail index after: " & sizeAfter & return & return & "Enjoy the new speed!") + +tell application "Mail" to activate +``` + +### Safari + +#### Enable Develop Menu and Web Inspector +```bash +defaults write com.apple.Safari IncludeInternalDebugMenu -bool true && \ +defaults write com.apple.Safari IncludeDevelopMenu -bool true && \ +defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true && \ +defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true && \ +defaults write NSGlobalDomain WebKitDeveloperExtras -bool true +``` + +#### Get Current Page Data +Other options: `get source`, `get text`. +```bash +osascript -e 'tell application "Safari" to get URL of current tab of front window' +``` + +### Sketch + +#### Export Compact SVGs +```bash +defaults write com.bohemiancoding.sketch3 exportCompactSVG -bool yes +``` + +### TextEdit + +#### Use Plain Text Mode as Default +```bash +defaults write com.apple.TextEdit RichText -int 0 +``` + + +## 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 +``` + +#### Prevent Time Machine from Prompting to Use New Hard Drives as Backup Volume +```bash +defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true +``` + +#### Set Status +```bash +# Disable Local Time Machine Backups +hash tmutil &> /dev/null && sudo tmutil disablelocal + +# Enable Local Time Machine Backups (Default) +hash tmutil &> /dev/null && sudo tmutil enablelocal +``` + + +## Developer + +### Vim + +#### Compile Sane Vim +Compiling MacVim via Homebrew with all bells and whistles, including overriding system Vim. +```bash +brew install macvim --HEAD --with-cscope --with-lua --with-override-system-vim --with-luajit --with-python +``` + +#### Neovim +Install the development version of this modern Vim drop-in alternative via Homebrew. +```bash +brew tap neovim/neovim && \ +brew install --HEAD neovim +``` + +### Xcode + +#### Install Command Line Tools without Xcode +```bash +xcode-select --install +``` + +#### Remove All Unavailable Simulators +```bash +xcrun simctl delete unavailable +``` + + +## Disks and Volumes + +#### 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)' +``` + +#### Repair File Permissions +You don't have to use the Disk Utility GUI for this. +```bash +sudo diskutil repairPermissions / +``` +> Beginning with OS X El Capitan, system file permissions are automatically protected. It's no longer necessary to verify or repair permissions with Disk Utility. ([Source](https://support.apple.com/en-us/HT201560)) + +#### Set Boot Volume +```bash +bless --mount "/path/to/mounted/volume" --setBoot +``` + +#### Show All Attached Disks and Partitions +```bash +diskutil list +``` + +#### View File System Usage +A continuous stream of file system access info. +```bash +sudo fs_usage +``` + +### Disk Images + +#### Create Disk Image From Folder Contents +```bash +hdiutil create -volname "Volume Name" -srcfolder /path/to/folder -ov diskimage.dmg +``` + +If you'd like to encrypt the disk image: +```bash +hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg +``` + +By default, you'll be prompted for a password. You can automate that by piping in a password: +```bash +echo -n YourPassword | hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg +``` + +#### Burn Disk Images to DVD +This command applies to .iso, .img and .dmg images. +```bash +hdiutil burn /path/to/image_file +``` + +#### Disable Disk Image Verification +```bash +defaults write com.apple.frameworks.diskimages skip-verify -bool true && \ +defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true && \ +defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true +``` + +#### Make Volume OS X Bootable +```bash +bless --folder "/path/to/mounted/volume/System/Library/CoreServices" --bootinfo --bootefi +``` + +#### Mount Disk Image +```bash +hdiutil attach /path/to/diskimage.dmg +``` + +#### Unmount Disk Image +```bash +hdiutil detach /dev/disk2s1 +``` + +#### Write Disk Image to Volume +Like the Disk Utility "Restore" function. +```bash +sudo asr -restore -noverify -source /path/to/diskimage.dmg -target /Volumes/VolumeToRestoreTo +``` + + +## Dock + +#### Add a Stack with Recent Applications +```bash +defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }' && \ +killall Dock +``` + +#### Add a Space +```bash +defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \ +killall Dock +``` + +#### Set Auto Show/Hide Delay +The float number defines the show/hide delay in ms. +```bash +defaults write com.apple.Dock autohide-delay -float 0 && \ +killall Dock +``` + +#### Show Hidden App Icons +```bash +# Enable +defaults write com.apple.dock showhidden -bool true && \ +killall Dock + +# Disable +defaults write com.apple.dock showhidden -bool false && \ +killall Dock +``` + + +## Documents + +#### Convert File to HTML +Supported formats are plain text, rich text (rtf) and Microsoft Word (doc/docx). +```bash +textutil -convert html file.ext +``` + + +## Finder + +### Files and Folders + +#### Clear All ACLs +```bash +sudo chmod -RN /path/to/folder +``` + +#### Hide Folder in Finder +```bash +chflags hidden /path/to/folder/ +``` +#### Show All File Extensions +```bash +defaults write NSGlobalDomain AppleShowAllExtensions -bool true +``` + +#### Show Hidden Files +```bash +# Show All +defaults write com.apple.finder AppleShowAllFiles true + +# Restore Default File Visibility +defaults write com.apple.finder AppleShowAllFiles false +``` + +#### Remove Protected Flag +```bash +sudo chflags -R nouchg /path/to/file/or/folder +``` + +#### Show Full Path in Finder Title +```bash +defaults write com.apple.finder _FXShowPosixPathInTitle -bool true +``` + +#### Unhide User Library Folder +```bash +chflags nohidden ~/Library +``` + +#### Increase Number of Recent Places +```bash +defaults write .GlobalPreferences NSNavRecentPlacesLimit -int 10 && \ +killall Finder +``` + +### Layout + +#### Smooth Scrolling +Useful if you’re on an older Mac that messes up the animation. +```bash +# Disable +defaults write NSGlobalDomain NSScrollAnimationEnabled -bool false + +# Enable (Default) +defaults write NSGlobalDomain NSScrollAnimationEnabled -bool true +``` + +#### Rubberband Scrolling +```bash +# Disable +defaults write -g NSScrollViewRubberbanding -bool false + +# Enable (Default) +defaults write -g NSScrollViewRubberbanding -bool true +``` + +#### Expand Save Panel by Default +```bash +defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true && \ +defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true +``` + +#### Desktop Icon Visibility +```bash +# Hide Icons +defaults write com.apple.finder CreateDesktop -bool false && \ +killall Finder + +# Show Icons (Default) +defaults write com.apple.finder CreateDesktop -bool true && \ +killall Finder +``` + +#### Path Bar +```bash +# Show +defaults write com.apple.finder ShowPathbar -bool true + +# Hide (Default) +defaults write com.apple.finder ShowPathbar -bool false +``` + +#### Scrollbar Visibility +Possible values: `WhenScrolling`, `Automatic` and `Always`. +```bash +defaults write NSGlobalDomain AppleShowScrollBars -string "Always" +``` + +#### Status Bar +```bash +# Show +defaults write com.apple.finder ShowStatusBar -bool true + +# Hide (Default) +defaults write com.apple.finder ShowStatusBar -bool false +``` + +#### Save to Disk by Default +Sets default save target to be a local disk, not iCloud. +```bash +defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false +``` + +#### Set Current Folder as Default Search Scope +```bash +defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" +``` + +#### Set Default Finder Location to Home Folder +```bash +defaults write com.apple.finder NewWindowTarget -string "PfLo" && \ +defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}" +``` + +#### Set Sidebar Icon Size +Sets size to 'medium'. +```bash +defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2 +``` + +### Metadata Files + +#### Disable Creation of Metadata Files on Network Volumes +Avoids creation of `.DS_Store` and AppleDouble files. +```bash +defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true +``` + +#### Disable Creation of Metadata Files on USB Volumes +Avoids creation of `.DS_Store` and AppleDouble files. +```bash +defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true +``` + +### Opening Things + +#### Change Working Directory to Finder Path +If multiple windows are open, it chooses the top-most one. +```bash +cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')" +``` + +#### Open URL +```bash +open http://www.github.com +``` + +#### Open File +```bash +open README.md +``` + +#### Open Applications +You can open applications using `-a`. +```bash +open -a "Google Chrome" http://www.github.com +``` + +#### Open Folder +```bash +open /path/to/folder/ +``` + +#### Open Current Folder +```bash +open . +``` + + +## 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 +``` + + +## Functions + +Please see [this file](functions.md). + + +## Hardware + +### Hardware Information + +#### List All Hardware Ports +```bash +networksetup -listallhardwareports +``` + +#### Remaining Battery Percentage +```bash +pmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f1 -d';' +``` + +#### Remaining Battery Time +```bash +pmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f3 -d';' +``` + +#### Show Connected Device's UDID +```bash +system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' +``` + +#### Show Current Screen Resolution +```bash +system_profiler SPDisplaysDataType | grep Resolution +``` + +#### Show CPU Brand String +```bash +sysctl -n machdep.cpu.brand_string +``` + +### Power Management + +#### Prevent System Sleep +Prevent sleep for 1 hour: +```bash +caffeinate -u -t 3600 +``` + +#### Show All Power Management Settings +```bash +sudo pmset -g +``` + +#### 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 +``` + +#### Automatic Restart on System Freeze +```bash +sudo systemsetup -setrestartfreeze on +``` + +#### Chime When Charging +Play iOS charging sound when MagSafe is connected. +```bash +# Enable +defaults write com.apple.PowerChime ChimeOnAllHardware -bool true && \ +open /System/Library/CoreServices/PowerChime.app + +# Disable (Default) +defaults write com.apple.PowerChime ChimeOnAllHardware -bool false && \ +killall PowerChime +``` + + +## Input Devices + +### Keyboard + +#### Auto-Correct +```bash +# Disable +defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false + +# Enable (Default) +defaults write -g NSAutomaticSpellingCorrectionEnabled -bool true + +# Show Status +defaults read -g NSAutomaticSpellingCorrectionEnabled +``` + +#### Key Repeat +Disable the default "press and hold" behavior. +```bash +# Enable Key Repeat +defaults write -g ApplePressAndHoldEnabled -bool false + +# Disable Key Repeat +defaults write -g ApplePressAndHoldEnabled -bool true +``` + +#### Key Repeat Rate +Sets a very fast repeat rate, adjust to taste. +```bash +defaults write NSGlobalDomain KeyRepeat -int 0.02 +``` + + +## Media + +### Audio + +#### Convert Audio File to iPhone Ringtone +```bash +afconvert input.mp3 ringtone.m4r -f m4af +``` + +#### Disable Sound Effects on Boot +```bash +sudo nvram SystemAudioVolume=" " +``` + +#### Mute Audio Output +```bash +osascript -e 'set volume output muted true' +``` + +#### Set Audio Volume +```bash +osascript -e 'set volume 4' +``` + +#### Play Audio File +You can play all audio formats that are natively supported by QuickTime. +```bash +afplay -q 1 filename.mp3 +``` + +#### Speak Text with System Default Voice +```bash +say 'All your base are belong to us!' +``` + +### Video + +#### Auto-Play Videos in QuickTime Player +```bash +defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1 +``` + + +## Networking + +### Bonjour + +#### Bonjour Service +```bash +# Disable +sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder ProgramArguments -array-add "-NoMulticastAdvertisements" + +# Enable (Default) +sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder ProgramArguments -array "/usr/sbin/mDNSResponder" "-launchd" +``` + +### DHCP + +#### Renew DHCP Lease +```bash +sudo ipconfig set en0 DHCP +``` + +#### Show DHCP Info +```bash +ipconfig getpacket en0 +``` + +### DNS + +#### Clear DNS Cache +```bash +sudo dscacheutil -flushcache && \ +sudo killall -HUP mDNSResponder +``` + +### Hostname + +#### Set Computer Name/Host Name +```bash +sudo scutil --set ComputerName "newhostname" && \ +sudo scutil --set HostName "newhostname" && \ +sudo scutil --set LocalHostName "newhostname" && \ +sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "newhostname" +``` + +### Networking Tools + +#### Ping a Host to See Whether It’s Available +```bash +ping -o github.com +``` + +#### Troubleshoot Routing Problems +```bash +traceroute github.com +``` + +### TCP/IP + +#### Show Application Using a Certain Port +This outputs all applications currently using port 80. +```bash +sudo lsof -i :80 +``` + +#### Show External IP Address +```bash +dig +short myip.opendns.com @resolver1.opendns.com +``` + +### Wi-Fi + +#### Join a Wi-Fi Network +```bash +networksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD +``` + +#### 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 +``` + +#### Show Current SSID +```bash +/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}' +``` + +#### Show Local IP Address +```bash +ipconfig getifaddr en0 +``` + +#### Show Wi-Fi Connection History +```bash +defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7 +``` + +#### Show Wi-Fi Network Passwords +Exchange SSID with the SSID of the access point you wish to query the password from. +```bash +security find-generic-password -D "AirPort network password" -a "SSID" -gw +``` + +#### Turn on Wi-Fi Adapter +```bash +networksetup -setairportpower en0 on +``` + +## Package Managers + +- [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. + + +## Printing + +#### Clear Print Queue +```bash +cancel -a - +``` + +#### Expand Print Panel by Default +```bash +defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true && \ +defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true +``` + +#### Quit Printer App After Print Jobs Complete +```bash +defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true +``` + + +## Security + +### Application Firewall + +#### Firewall Service +```bash +# Show Status +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate + +# Enable +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on + +# Disable (Default) +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off +``` + +#### Add Application to Firewall +```bash +sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/file +``` + +### Gatekeeper + +#### Add Gatekeeper Exception +```bash +spctl --add /path/to/Application.app +``` + +#### Remove Gatekeeper Exception +```bash +spctl --remove /path/to/Application.app +``` + +### 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 +``` + +### Physical Access + +#### Launch Screen Saver +```bash +open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app +``` + +#### Lock Screen +```bash +/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend +``` + +### Wiping Data + +#### Securely Remove File +```bash +srm /path/to/file +``` + +#### Securely Remove Folder +```bash +srm -r /path/to/folder/ +``` + +#### Securely Remove Path (Force) +```bash +srm -rf /path/to/complete/destruction +``` + + +## Search + +### 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 +``` + + +## System + +### AirDrop + +#### Enable AirDrop over Ethernet and on Unsupported Macs +```bash +defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true +``` + +### AppleScript + +#### Execute AppleScript +```bash +osascript /path/to/script.scpt +``` + +### Basics + +#### Restart +```bash +sudo reboot +``` + +#### Shutdown +```bash +sudo poweroff +``` + +#### Show Build Number of OS +```bash +sw_vers +``` + +#### Uptime +How long since your last restart. +```bash +uptime +``` + +### Clipboard + +#### Copy data to Clipboard +```bash +cat whatever.txt | pbcopy +``` + +#### Convert Clipboard to Plain Text +```bash +pbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy +``` + +#### Convert Tabs to Spaces for Clipboard Content +```bash +pbpaste | expand | pbcopy +``` + +#### Copy data from Clipboard +```bash +pbpaste > whatever.txt +``` + +#### Sort and Strip Duplicate Lines from Clipboard Content +```bash +pbpaste | sort | uniq | pbcopy +``` + +### FileVault + +#### Automatically Unlock FileVault on Restart +If FileVault is enabled on the current volume, it restarts the system, bypassing the initial unlock. The command may not work on all systems. +```bash +sudo fdesetup authrestart +``` + +#### FileVault Service +```bash +# Status +sudo fdesetup status + +# Enable +sudo fdesetup enable + +# Disable (Default) +sudo fdestatus disable +``` + +### Information/Reports + +#### Generate Advanced System and Performance Report +```bash +sudo sysdiagnose -f ~/Desktop/ +``` + +### Kernel Extensions + +#### Display Status of Loaded Kernel Extensions +```bash +sudo kextstat -l +``` + +#### Load Kernel Extension +```bash +sudo kextload -b com.apple.driver.ExampleBundle +``` + +#### Unload Kernel Extensions +```bash +sudo kextunload -b com.apple.driver.ExampleBundle +``` + +### LaunchAgents + +Please see [this file](launchagents.md). + + +### LaunchServices + +#### Rebuild LaunchServices Database +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 +``` + +### Login Window + +#### Set Login Window Text +```bash +sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Your text" +``` + +### Memory Management + +#### Purge memory cache +```bash +sudo purge +``` + +#### Show Memory Statistics +```bash +# 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 +```bash +# Disable +launchctl unload -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 +```bash +qlmanage -p /path/to/file +``` + +### Root User + +```bash +# Enable +dsenableroot + +# Disable +dsenableroot -d +``` + +### Safe Mode Boot + +```bash +# Status +nvram boot-args + +# Enable +sudo nvram boot-args="-x" + +# Disable +sudo nvram boot-args="" +``` + +### Screenshots + +#### Take Delayed Screenshot +Takes a screenshot as JPEG after 3 seconds and displays in Preview. +```bash +screencapture -T 3 -t jpg -P delayedpic.jpg +``` + +#### Save Screenshots to Given Location +Sets location to `~/Desktop`. +```bash +defaults write com.apple.screencapture location ~/Desktop && \ +killall SystemUIServer +``` + +#### Save Screenshots in Given Format +Sets format to `png`. Other options are `bmp`, `gif`, `jpg`, `jpeg`, `pdf`, `tiff`. +```bash +defaults write com.apple.screencapture type -string "png" +``` + +#### Disable Shadow in Screenshots +```bash +defaults write com.apple.screencapture disable-shadow -bool true && \ +killall SystemUIServer +``` + +#### Set Default Screenshot Name +Date and time remain unchanged. +```bash +defaults write com.apple.screencapture name "Example name" && \ +killall SystemUIServer +``` + +### Software Installation + +#### Install PKG +```bash +installer -pkg /path/to/installer.pkg -target / +``` + +### Software Update + +#### Install All Available Software Updates +```bash +sudo softwareupdate -ia +``` + +#### Set Software Update Check Interval +Set to check daily instead of weekly. +```bash +defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1 +``` + +#### Show Available Software Updates +```bash +sudo softwareupdate -l +``` + +#### Set Software Update Server +This should only be done for testing purposes or unmanaged clients. To use network-wide, either correctly set up DNS along with [Apple SUS service](http://krypted.com/mac-security/using-the-software-update-service-on-mountain-lion-server/) and bind your clients via OpenDirectory. Alternatively, use [Reposado](https://github.com/wdas/reposado) together with correct network DNS settings to make resolution transparent. [Margarita](https://github.com/jessepeterson/margarita) looks nice to have as well. +```bash +# Use own SUS +sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog + +# Reset to Apple SUS +sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL +``` + +### Spotlight + +#### Spotlight Indexing +```bash +# Disable +mdutil -i off -d /path/to/volume + +# Enable (Default) +mdutil -i on /path/to/volume +``` + +#### Erase Spotlight Index and Rebuild +```bash +mdutil -E /path/to/volume +``` + +#### Search via Spotlight +```bash +mdfind -name 'searchterm' +``` + +### System Integrity Protection + +#### Disable System Integrity Protection +Reboot while holding Cmd + R, open the Terminal application and enter: +```bash +csrutil disable && reboot +``` + +#### Enable System Integrity Protection +Reboot while holding Cmd + R, open the Terminal application and enter: +```bash +csrutil enable && reboot +``` + + +## Terminal + +#### Ring Terminal Bell +Rings the terminal bell (if enabled) and puts a badge on it. +```bash +tput bel +``` + +### Alternative Terminals + +- [iTerm 2](https://iterm2.com) - A better Terminal.app. +- [TotalTerminal](http://totalterminal.binaryage.com) - A system-wide terminal available on a hot-key. + +### Shells + +#### Bash +Install the latest version and set as current users' default shell: +```bash +brew install bash && \ +sudo echo $(brew --prefix)/bin/bash >> /etc/shells && \ +chsh -s $(brew --prefix)/bin/bash +``` + +- [Homepage](https://www.gnu.org/software/bash/) - The default shell for OS X and most other Unix-based operating systems. + +#### fish +Install the latest version and set as current users' default shell: +```bash +brew install fish && \ +chsh -s $(brew --prefix)/bin/fish +``` + +- [Homepage](http://fishshell.com) - A smart and user-friendly command line +shell for OS X, Linux, and the rest of the family. +- [The Fishshell Framework](https://github.com/oh-my-fish/oh-my-fish) - Provides core infrastructure to allow you to install packages which extend or modify the look of your shell. + +#### Zsh +Install the latest version and set as current users' default shell: +```bash +brew install zsh && \ +sudo sh -c 'echo $(brew --prefix)/bin/zsh >> /etc/shells' && \ +chsh -s $(brew --prefix)/bin/zsh +``` + +- [Homepage](http://www.zsh.org) - Zsh is a shell designed for interactive use, although it is also a powerful scripting language. +- [Oh My Zsh](http://ohmyz.sh) - An open source, community-driven framework for managing your Zsh configuration. +- [Prezto](https://github.com/sorin-ionescu/prezto) - A speedy Zsh framework. Enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes. +- [zgen](https://github.com/tarjoilija/zgen) - Another open source framework for managing your zsh configuration. Zgen will load oh-my-zsh compatible plugins and themes and has the advantage of both being faster and automatically cloning any plugins used in your configuration for you. + +### Terminal Fonts + +- [Anonymous Pro](http://www.marksimonson.com/fonts/view/anonymous-pro) - A family of four fixed-width fonts designed with coding in mind. +- [DejaVu Sans Mono](http://dejavu-fonts.org/wiki/Main_Page) - A font family based on the Vera Fonts. +- [Hack](http://sourcefoundry.org/hack/) - Hack is hand groomed and optically balanced to be your go-to code face. +- [Inconsolata](http://levien.com/type/myfonts/inconsolata.html) - A monospace font, designed for code listings and the like. +- [Input](http://input.fontbureau.com) - A flexible system of fonts designed specifically for code. +- [Meslo](https://github.com/andreberg/Meslo-Font) - Customized version of Apple's Menlo font. +- [Powerline Fonts](https://github.com/powerline/fonts) - Repo of patched fonts for the Powerline plugin. +- [Source Code Pro](https://adobe-fonts.github.io/source-code-pro/) - A monospaced font family for user interfaces and coding environments. + + +## License + +Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. diff --git a/assets/logo-tr.png b/assets/logo-tr.png new file mode 100644 index 0000000..ba56d7a Binary files /dev/null and b/assets/logo-tr.png differ