tools-osx
tools-osx README
by Morgan Aldridge
morgant@makkintosshu.com
OVERVIEW
A small collection of Mac OS X command line tools that I’ve developed over the years. Similar to the NextStep and Mac OS X commands open
, pbcopy
, and pbpaste
, most of these tools are bash
scripts created as an exercise to hone my bash-fu. There are also a number of Perl and Ruby scripts submitted by others.
TOOLS
clipcat
clipcat
prints and concatenates Mac OS text clippings. Submitted by Daphne Preston-Kendal.
dict
dict
performs a look-up in the Mac OS X dictionary. Note: unlike the other scripts provided, this one requires that you have MacRuby installed. Submitted by Daphne Preston-Kendal.
eject
eject
ejects a volume or network volume and all other volumes on the same local device. A shorter, simpler, smarter wrapper of diskutil
’s various eject/unmount options and allows specifying either a full path in /Volumes
or just the volume name.
launch
launch
searches for and launches applications. It’s a slightly smarter wrapper for open -a
with wildcard matching via Spotlight, if available, or find
.
ql
ql
opens files with the Mac OS X Quick Look feature.
swuser
swuser
switches users using the Mac OS X Fast User Switching feature. You can either switch out to the login window or to another user. Note: unfortunately, this is not currently compatible with screen
.
trash
trash
allows trashing of files instead of tempting fate with rm
. Correctly handles trashing files on other volumes, uses the same filename renaming scheme as Finder for duplicate file names, can list trash contents w/disk usage summary, and empty trash (including securely) w/confirmation. Does not require Finder to be running.
with
with
sets the application with which specified documents will be opened. It can even change and open in one fell swoop. Submitted by Daphne Preston-Kendal.
INSTALLATION
Installing from Source
Installing all tools:
- Clone this repository or download and extract the tools.
-
Run
rake
. -
Run
rake install
. (If you don’t have write permission on/usr/local/bin
, you’ll need to prependsudo
.)
Installing one or more specific tools:
- Clone this repository or download and extract the tools.
-
Run
rake
-
Run
rake 'install[ql,trash]'
, specifying individual tools in a comma separated list between the square brackets. (If you don’t have write permission on/usr/local/bin
, you’ll need to prependsudo
.)
zsh
Plugin Manager
Installing Using a Note: You cannot install clipcat
, dict
, or with
using this method.
macOS 10.15 Catalina and newer now use zsh
as the default shell. If you’re using a zsh
plugin manager, you can install individual tools as follows and they’ll be automatically downloaded, installed, and kept up-to-date:
-
Using zinit: Add the following to your
~/.zshrc
file for each tool you wish to install,trash
, for example:
zinit wait'1' lucid light-mode as"program" pick"src/trash" for morgant/tools-osx
OTHER TOOLS
Looking for other Mac OS X-specific command line tools to complement these? Check out the following:
-
appswitch
andlaunch
by Nicholas Riley -
asprint
,icalBuddy
,setWeblocThumb
, andtrash
by Ali Rantakari -
contacts
by Shane Celis -
dark-mode
by Sindre Sorhus -
dockutil
by Kyle Crawford -
duti
by Andrew Mortensen -
get-location
by David Lindes -
iloc
by Nate Weaver -
imsg
by Christian Sampaio -
ithief
by Israel Chauca Fuentes -
osxiconutils (
geticon
,icns2pict
,pict2icns
,seticon
) & osxutils (cpath
,getfcomment
,geticon
,google
,hfsdata
,lsmac
,mkalias
,rcmac
,setfcomment
,setfctypes
,setfflags
,seticon
,setlabel
,setsuffix
,setvolume
,trash
,wiki
,wsupdate
) by Sveinbjorn Thordarson -
pngpaste
by Jerry Chen -
rem
by Kevin Y. Kim -
service
by Daphne Preston-Kendal -
stronghold
andshallow-backup
by Aaron Lichtman -
tag
by James Berry -
trash
by Dave Dribin -
trash
by Sindre Sorhus -
webkit2png
by Paul Hammond
SPECIAL THANKS
Special thanks to: Daphne Preston-Kendal for all her submissions and collaboration; Matt Brictson for his initial relative path bug fix in trash
; huyz for the improved determination of Finder’s PID to prevent possible false-positives in trash
.