Difference between revisions of "Mac Commandline Tools"
Line 1: | Line 1: | ||
− | + | =System Management= | |
+ | |||
'''systemsetup''' | '''systemsetup''' | ||
Line 58: | Line 59: | ||
passwd username | passwd username | ||
+ | |||
+ | But all of this is simplified by our in-house [[Mac_OSX_adduser_script| adduser script]]. | ||
---- | ---- | ||
Line 89: | Line 92: | ||
sysctl -a | grep hw.memsize # list the amount of memory in the system | sysctl -a | grep hw.memsize # list the amount of memory in the system | ||
+ | ---- | ||
+ | |||
+ | =File Management= | ||
− | |||
'''chflags''' | '''chflags''' | ||
Line 107: | Line 112: | ||
---- | ---- | ||
+ | '''mdutil/mdfind''' | ||
+ | |||
+ | Manage Spotlight and search it's cache | ||
+ | |||
+ | mdutil -s / # show indexing status on root drive | ||
+ | |||
+ | mdfind -name "filename" # similar to find, check the cache for a specified file or directory | ||
+ | ---- | ||
+ | |||
+ | =Storage Management= | ||
+ | |||
'''diskutil''' | '''diskutil''' | ||
Line 140: | Line 156: | ||
drutil status # show detailed information about drives and media | drutil status # show detailed information about drives and media | ||
+ | ---- | ||
+ | |||
+ | =Misc= | ||
− | |||
'''open''' | '''open''' | ||
Line 158: | Line 176: | ||
ls | pbcopy # copy dir listing to clipboard | ls | pbcopy # copy dir listing to clipboard | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
Line 185: | Line 194: | ||
say -v Bruce "Zip zop zoo bitty bop" | say -v Bruce "Zip zop zoo bitty bop" | ||
+ | |||
+ | [[category:Macintosh]] |
Revision as of 02:01, 10 April 2012
System Management
systemsetup
Manage a variety of configuration stuff.
sudo systemsetup -getdate # view system date systemsetup -getcomputername # display computer name
softwareupdate
Execute Apple Software update from the commandline
softwareupdate -l # list available updates sudo softwareupdate -i -a # install all available updates
networksetup
Manage the network configuration
sudo networksetup -listallhardwareports # list all network interfaces with MAC addresses sudo networksetup -switchtolocation home # switch network locations
dscl
Directory service management, for example users, groups etc. – complex stuff, mostly for use on OSX server
dscl localhost -list /Local/Default/Users # list all local users
Users are added from the command line with dscl. In OSX, it is done as such:
dscl . -create /Users/username # creates the new user entry. The "." specifies the local machine and "-create" is the verb which directs the command. dscl . -create /Users/username UserShell /bin/bash # sets the default shell for said user dscl . -create /Users/username Realname "user name" # the alternative name used optionally by OSX to log in dscl . -create /Users/username UniqueID 503 # set a unique number id for the user dscl . -create /Users/username PrimaryGroupID 1000 # sets the primary group id. In OSX the admin groups are usually either administrator or staff. dscl . -create /Users/username NFSHomeDirectory /Local/Users/username # sets the user's home directory dscl . -passwd /Users/username password # sets the user's password dscl . -append /Groups/admin GroupMembership username
As a note, to list all available groups and their ids, you can type
dscacheutil -q group
And passwords can be set or changed in the traditional linux way with
passwd username
But all of this is simplified by our in-house adduser script.
dscacheutil
Manage DNS cache
dscacheutil -flushcache # clear local DNS cache
system_profiler
View system information (Like SystemProfiler.app in Utilities)
system_profiler # list all information on system available. It is A LOT OF INFO!! system_profiler -detaillevel basic # lists only hardware and network information system_profiler SPHardwareDataType # lists a hardware overview of the local system system_profiler SPSoftwareDataType # lists a software overview of the local system system_profiler -xml filename >/Users/username/Documents/sys-info.xml # generates an xml file rather than plain text output.
sysctl
Display or set the kernel state. Commonly used to retrieve information on the system such as
sysctl -n machdep.cpu.brand_string # display information on the processor sysctl -a | grep hw.memsize # list the amount of memory in the system
File Management
chflags
Change file flags, like “hidden”, “archived”..
chflags -R -V hidden /some/file.txt # hides the specified file from the gui ls -l0 # View flags in the current directory
GetFileInfo
View extended file attributes, like icon, creator and so on. To write these attributes use SetFileInfo
GetFileInfo any.txt # list the attributes of a specified file
mdutil/mdfind
Manage Spotlight and search it's cache
mdutil -s / # show indexing status on root drive mdfind -name "filename" # similar to find, check the cache for a specified file or directory
Storage Management
diskutil
Manage local disks
diskutil list # list local drives and partitions diskutil activity # monitor activity on the local disk diskutil repairvolume disk0s1 # attempt to repair the specified partition diskutil checkraid # display status of local RAID arrays diskutil appleRAID update AutoRebuild 1 disk0 # set the specified disk path to automatically be rebuild if the array is broken sudo diskutil repairPermissions / # repair any improper permissions caused by third-party software or updates
hdiutil
Manage disk images
hdiutil burn animage.dmg # burn imagefile to cd/dvd hdiutil create -srcfolder path any.dmg # create dmg-image from folder
drutil
Interact with CD/DVD drives
drutil eject # eject media drutil status # show detailed information about drives and media
Misc
open
Open a file with a given application in the gui.
open example.txt # opens the file in the default text editor open . # opens a new finder window with the current commandline path open -a Safari # opens Safari
pbcopy/pbpaste
Access OSX clipboard
ls | pbcopy # copy dir listing to clipboard
periodic
Run periodic system jobs
sudo periodic daily # run daily stuff
However, any such tasks can be done traditionally with cron as well.
say
Have the local machine speak to you.
say "I am way cool" say -v Bruce "Zip zop zoo bitty bop"