- List the processes running on the system
- List processes belonging to the current user that
are attached to a terminal (not very useful under OS X)
- ps -x
- List processes belonging to the current user
whether or not they're attached to a terminal
- ps -ax
- List all running processes
- ps -aux
- List all running processes, with additional
information about their resource useage
- List the top CPU-consuming processes running on the
system, along with various other system load statistics. Note: it runs continuously,
updating the stats repeatedly, until you quit it with "q".
- Display a list of processes, highest-process-id (i.e.
most recent) first, updating once a second
- top -us5
- Display processes sorted by CPU
useage, updating every 5 seconds
- Kill (or send other signals to) a process
- kill 220
- Terminate process #220
- kill -9 220
- Terminate process #220 with extreme prejudice
- kill -HUP 220
- Send process #220 a
hangup signal - by
convention, background processes (daemons) treat this as a cue to restart,
and reload their configuration information.
- Set user. Allows you to
temporarily become another user (root is the default). It'll ask for that user's
password. Use the "exit" command to go back to normal.
- You must be a member of the "wheel" group to su to root; under OS X 10.2,
nobody is a member of "wheel" so this is effectively forbidden. Use
- Set user and do.
Execute a single command as another user (root is the default). It will ask for
your password. Access is controlled by a configuration file and can be
made quite complex (see the man page). By default, any administrator use sudo
to perform any command as any user.
- sudo rm /private/var/db/.AppleSetupDone
- Become root
just long enough to delete one file.
- sudo -u george ls ~george/Documents
- Become george and
list the files in his Documents directory.
- sudo -s
- Start a root shell (similar to su,
except that it asks for your password, rather than the root password, and doesn't
requires admin access, not wheel membership).
- List the contents of an
installer's bom (bill of materials) file. This can be
used to find out what files an installer will add/replace in your system
before running it. It can also be used to find out what files a past install
- lsbom /Volumes/Developer\ Tools/Packages/DevTools.pkg/Contents/Resources/DevTools.bom
- List the files that will be installed by the "DevTools" package,
saving the list in a file named contents.txt.
- lsbom /Library/Receipts/Essentials.pkg/Contents/Resources/Essentials.bom | more
- List the files that were installed by the "Essentials" package (and
pipe it through
more to prevent overload).
- List open
files on the system. Normally, it only lists files you (or
processes you own) have open; if run as root, it lists all open files.
- List all files currently open by me and my processes.
- sudo lsof
- List all files currently open on the entire system.
- sudo lsof -i
- List all open network connections on the entire system.
- sudo lsof "/Volumes/FW Drive"
- List all open files on the "FW Drive" volume; useful for figuring out
why you can't eject/dismount a disk because something is using it.
- Configure network
interfaces (e.g. ethernet ports, AirPort
- In general, it's better to adjust the network settings in the Network
pane of System Preferences. ifconfig sometimes allows a little more
control/information, but changes made this way will almost never "stick" when
the computer is rebooted, and may get reset when the network settings change
(e.g. if the location changes, a port gets connected or disconnected, etc).
- Changing the network settings requires root access.
- ifconfig refers to network ports using rather cryptic
identifiers such as:
- The first ethernet interface
(generally, the built-in ethernet port).
- en1, en2, etc
- Additional ethernet interface(s)
and/or AirPort wireless network card(s), firewire, etc.
- The local loopback pseudo-interface, which your computer
uses to talk to itself. Don't worry, this is not a sign of schizophrenia, it's
just the way unix systems work...
- ifconfig -a
- List the computer's network ports and their settings.
- sudo ifconfig en0 media 100baseTX mediaopt full-duplex
- Set the built-in ethernet interface to 100-megabit, full-duplex mode.
Note that this may or may not have any effect, depending on whether the driver
supports this form of configuration-forcing.
- sudo ifconfig en0 alias 10.0.0.150 netmask 255.255.255.0
- Attach an additional IP address (aka an alias or subinterface) to the
built-in ethernet port. Note that (at least as of OS X 10.2) this is probably
better done by simply adding another port configuration in the Network preference
- Provides various utilities for dealing with Apple's disk format options
(HFS+, journaling, RAID, etc). Many options require root access.
- Display a list of diskutil's options.
- diskutil info /
- List information on the boot volume.
- diskutil info /Volumes/Data
- List information on a mounted (non-boot) volume named "Data".
- diskutil info /dev/disk0s9
- List information on partion #9 of disk #0.
- sudo diskutil repairDisk /Volumes/Data
- Repair the file structure on the volume "Data" (note: this unmounts the volume
- sudo diskutil repairPermissions /
- Repair the file permissions on the boot volume.
- sudo diskutil enableJournal /
- Enable HFS+ journaling on the boot volume.
- sudo diskutil disableJournal /
- Disable HFS+ journaling on the boot volume.