General
Identifying your disks
camcontrol devlist #
glabel list ## show UUIDs from partitions
Users
adduser ## wrapper script to add users
chsh ## change user shell and other info
pw groupadd teamtwo ## add a group to the system
pw groupmod teamtwo -m <username> ## add a user to a group
/etc/group ## file to edit groups manually
id ## show group membership for current user
System Configuration
cat /var/run/dmesg.boot ## show boot log with info about disks and pci devices
kenv ## show bios, board and chassi info (dump from kernel env)
pciconf -l -cv ## show info about PCI devices of the machine
camcontrol devlist -v ## list of attached ATA devices
ifconfig ## show and configure network interface parameters
sysctl ## tool to show/set all system/kernel coniguration variables
sysctl -a ## show all system/kernel configuration variables
sysctl hw ## show hardware related info and settings
sysctl net ## show all network related info and settings
sysctl hw.model ## show CPU model
sysctl net.inet.tcp.delayed_ack=0 ## disable delayed ack in tcp
System Statistics
top ## display and update information about the top cpu processes
ps auxwww - grep <processname> ## display process status
CTRL-t ## on running commands will output useful info
systat -vmstat 1 ## show general overview of load, memory, interrupts, disk io
systat -iostat 1 ## show disk throughput
systat -ifstat 1 ## show network throughput for all interfaces
systat -netstat 1 ## show netstat output but automatically refreshed
systat -tcp 1 ## show tcp statistics
ZFS
zfs list ## list all zfs datasets (volumes)
zfs snapshot <pool>/<dataset>@<name> ## generic way of creating a snapshot of a dataset in a storage pool
zfs snapshot -r tank@2014021301 ## create a snapshot of all datasets in the pool "tank"
zfs create <pool>/<dataset> ## create a new dataset
zfs rollback <pool>/<dataset>@name ## rollback of a dataset to a given snapshot
zfs destroy <pool>/<dataset> ## destroy a dataset / remove it from the pool
zfs destroy <pool>/<dataset>@name ## destroy a snapshot
zfs set <key>=<val> <pool>/<dataset> ## generic way of setting options on a given dataset
zfs set compression=lz4 tank/var/log ## enable LZ4 compression on /var/logs
zfs get compressratio <pool>/<dataset> ## show the current compression ratio of a dataset
zfs send -R tank@snapshot - \ ## send all datasets@snapshot recursively to another host
ssh root@[IP] zfs recv -F tank
zfs unmount <pool>/<dataset> ## unmount a zfs dataset
zfs upgrade -r <pool> ## upgrade all volumes in the pool (technically its the root volume e.g. tank)
zpool status ## show health info about currently imported ZFS storage pools
zpool scrub ## check all written blocks for consistency
zpool iostat -v tank ## show more information about the pool including log devices
zpool add <pool> mirror <dev1> <dev1> ## add two disks as mirror to a storage pool
zpool remove <pool> <device> ## remove single devices or mirror sets from the storage pool
zpool upgrade <pool> ## upgrade the storage pool to latest version
Software
## Ports
portsnap fetch ## fetch the latest portfiles
portsnap update ## update the portfiles on disk with the previously fetched portfiles
portsnap update -p /usr/jails/basejail/usr/ports ## update ports tree for jails
whereis <portname> ## show the directory of the portfile
cd /usr/ports/*/<portname> ## find the parent directory of a given portname
locate <portname> - grep ports ## manual way of searching for ports
cd <portdir> && make install ## compile and install a port
cd <portdir> && make config ## re-run configuration of a port when available
cd <portdir> && sudo make deinstall clean reinstall ## upgrade the port
## Packages
pkg search <packagename> ## search for binary packages
pkg install <packagename> ## install binary package and its dependencies
pkg delete <packagename> ## delete an installed package
pkg automremove ## remove unneeded dependencies
pkg info ## show list of currently installed ports/packages with version info
pkg version ## show which ports/packages are outdated and need an update
pkg upgrade <packagename> ## upgrade a packages
pkg which <filename> ## find out which package installed a given file
## System
freebsd-update fetch ## fetch updates from server
freebsd-update -r <target> upgrade ## fetch upgrades to specified version (e.g. '10.1-RELEASE') from server
freebsd-update install ## install downloaded updates/upgrades
Services
service -l ## list all available services
service -e ## list all enabled services
service <servicename> status ## show the status of the service with the given servicename
service <servicename> start ## start the service with the given servicename
service <servicename> stop ## stop the service with the given servicename
service <servicename> restart ## restart the service with the given servicename
service <servicename> reload ## reload the configuration of the service with the given servicename
Network
ifconfig <iface> inet <ip/mask> ## configure IP address on interface
ifconfig <iface> inet <ip/mask> alias ## configure IP address alias on interface
ifconfig <iface> del <ip> ## remove IP address from interface
route add -net default <gw_ip> ## add default route
route add -net <ip/mask> <gw_ip> ## add a custom route for given network
/etc/rc.d/netif restart && \ ## restart networking and routing after changing the configuration
/etc/rc.d/routing restart without rebooting. Execute in tmux or screen session
netstat -rn ## display routing table
netstat -an ## display all connections
netstat -m ## display buffer usage
netstat -Lan ## display status of listen queues
netstat -s ## display extensive statistics per protocol (use -p tcp to only show tcp)
sockstat -l ## display listening sockets, process names and pids
sysctl kern.ipc.numopensockets ## display number of open sockets
vmstat -z - egrep "ITEM|tcpcb" ## number of hash table buckets to handle incoming tcp connections
increase net.inet.tcp.tcbhashsize if hitting the limit
sysctl net.inet.tcp.hostcache.list ## display current content of hostcache with its parameters per IP
Firewall
pfctl -si ## show current state table and counters (useful for tuning)
pfctl -s state ## show current content of state table
IPsec
ipsec start ## start VPN and establish (auto=start) VPN connections
setkey -D ## show extensive Kernel information about current connections
setkey -DP ## show more condensed connection information
ipsec statusall [conn] ## show returns detailed status information either on connection or all
connections if no name is provided
ipsec leases ## show current leases from virtual IP address pool
ipsec rereadsecrets ## flushes and rereads all secrets defined in ipsec.secrets
ipsec rereadall ## flushes and rereads all secrets defined in ipsec.secrets as well as all
certificates and and certificate revocation lists
ipsec update ## sends a HUP signal to the daemon that determines any changes in ipsec.conf
and updates the configuration on the running IKE daemon charon
ipsec reload ## sends a USR1 signal to the daemon that reloads the whole configuration
on the running IKE daemon charon based on the actual ipsec.conf
ipsec restart ## terminates all ipsec connections, sends a TERM signal to the daemon and
restarts it afterwards
ipsec stroke up [conn] ## initiate connection [conn]
ipsec stroke down [conn] ## terminate connection [conn]
ezjail
ezjail-admin start|stop ## start and stop all the jails
ezjail-admin start|stop <JID>|<hostname> ## start and stop individual jail
ezjail-admin list ## list all the jails on the host system
ezjail-admin console <JID>|<hostname> ## open root shell into jail
ezjail-admin create -f exmaple <hostname> <IP> ## create a new jail
ezjail-admin delete -w hostname ## delete the jail (in case you use zfs also delete the volume)
Common sysctl’s to set
hw.usb.no_shutdown_wait=1 ## don't wait for USB devices when shutting down (if your system hangs when rebooting)
kern.maxfiles=204800 ## Increase file descriptor limits
kern.maxfilesperproc=200000