Difference between revisions of "Mac Commandline Tools"
(Created page with "---- '''systemsetup''' Manage a variety of configuration stuff. sudo systemsetup -getdate # view system date systemsetup -getcomputername # display computer name -…") |
|||
Line 104: | Line 104: | ||
View extended file attributes, like icon, creator and so on. To write these attributes use SetFileInfo | View extended file attributes, like icon, creator and so on. To write these attributes use SetFileInfo | ||
− | GetFileInfo any.txt # list the attributes | + | GetFileInfo any.txt # list the attributes of a specified file |
---- | ---- | ||
Line 111: | Line 111: | ||
Manage local disks | Manage local disks | ||
− | diskutil list # list local drives and partitions | + | diskutil list # list local drives and partitions |
− | sudo diskutil repairPermissions / # repair permissions | + | |
+ | 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 | ||
---- | ---- | ||
Line 119: | Line 128: | ||
Manage disk images | Manage disk images | ||
− | hdiutil burn animage.dmg # burn imagefile to cd/dvd | + | hdiutil burn animage.dmg # burn imagefile to cd/dvd |
− | hdiutil create -srcfolder path any.dmg # create dmg-image from folder | + | hdiutil create -srcfolder path any.dmg # create dmg-image from folder |
---- | ---- | ||
Line 128: | Line 137: | ||
Interact with CD/DVD drives | Interact with CD/DVD drives | ||
− | drutil eject # eject media | + | drutil eject # eject media |
− | drutil status # show detailed information about drives and media | + | drutil status # show detailed information about drives and media |
---- | ---- | ||
'''open''' | '''open''' | ||
− | Open a file with a given application. | + | Open a file with a given application in the gui. |
− | open example.txt # opens the file in the default text editor | + | open example.txt # opens the file in the default text editor |
+ | |||
+ | open . # opens a new finder window with the current commandline path | ||
− | open | + | open -a Safari # opens Safari |
---- | ---- | ||
Line 146: | Line 157: | ||
Access OSX clipboard | Access OSX clipboard | ||
− | ls | pbcopy # copy dir listing to clipboard | + | ls | pbcopy # copy dir listing to clipboard |
---- | ---- | ||
Line 153: | Line 164: | ||
Manage Spotlight and search it's cache | Manage Spotlight and search it's cache | ||
− | mdutil -s / # show indexing status on root drive | + | mdutil -s / # show indexing status on root drive |
− | mdfind -name "filename" | + | mdfind -name "filename" # similar to find, check the cache for a specified file or directory |
---- | ---- | ||
Line 162: | Line 173: | ||
Run periodic system jobs | Run periodic system jobs | ||
− | sudo periodic daily # run daily stuff | + | 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" |
Revision as of 16:20, 8 April 2012
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
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
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
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
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
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
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"