Shell Commands

NØNOS Shell Command Reference

Version 0.8.0 | March 2026

The NØNOS shell provides over 100 commands for system administration, file operations, networking, cryptography, and more. This reference documents all available commands.

Shell Features

The NØNOS shell supports:

  • Command history with up/down arrow recall
  • Tab completion for commands and paths
  • Aliases for custom shortcuts
  • Pipelines with | for chaining commands
  • Redirection with < and > for input/output
  • Environment variables with $VAR expansion
  • Globbing with *, ?, [abc], {a,b,c}
  • Job control with background (&) and foreground jobs

Command Categories

File Operations

CommandDescription
lsList directory contents
llLong listing format (alias for ls -l)
cdChange directory
pwdPrint working directory
mkdirCreate directory
rmdirRemove empty directory
touchCreate file or update timestamp
rmRemove files
cpCopy files
mvMove or rename files
lnCreate links
findSearch for files
fileDetermine file type
statDisplay file status
chmodChange file permissions
chownChange file owner
duDisk usage
dfDisk free space

Text Processing

CommandDescription
catDisplay file contents
headShow first N lines
tailShow last N lines
wcWord, line, character count
grepSearch text patterns
sedStream editor
trTranslate characters
cutExtract columns
sortSort lines
uniqRemove duplicate lines
revReverse lines
teeWrite to file and stdout
xxdHex dump
base64Base64 encode/decode
md5sumMD5 checksum
sha256sumSHA-256 checksum

System Information

CommandDescription
unameSystem information
lsb_releaseDistribution info
hostidHost identifier
uptimeSystem uptime
whoamiCurrent user
hostnameSystem hostname
getconfConfiguration values
timeTime command execution
dateCurrent date and time
calCalendar display
timedatectlTime/date control
dmesgKernel message buffer
lspciList PCI devices
lsusbList USB devices
lsmodList loaded modules
lsblkList block devices
lscpuCPU information

Process Management

CommandDescription
psProcess status
topReal-time process viewer
killSend signal to process
killallKill processes by name
niceSet process priority
reniceChange running process priority
bgResume job in background
fgBring job to foreground
jobsList background jobs
waitWait for process completion
execExecute command

Networking

CommandDescription
pingICMP echo test
tracerouteTrace packet route
ifconfigNetwork interface config
ipIP configuration
netstatNetwork statistics
netcat / ncNetwork utility
curlHTTP client
wgetDownload files
sshSecure shell client
telnetTelnet client
ftpFTP client
nslookupDNS lookup
digDNS query tool
whoisDomain lookup
arpARP table
routeRouting table

Hardware & Drivers

CommandDescription
lspciList PCI devices
lsusbList USB devices
lsmodList kernel modules
dmesgKernel messages
hdparmHard drive parameters
lsblkBlock devices
fdiskDisk partitioning
smartctlS.M.A.R.T. status
dmidecodeSMBIOS/DMI info

Cryptography

CommandDescription
opensslOpenSSL utilities
gpgGnuPG encryption
ssh-keygenSSH key generation
md5sumMD5 hash
sha1sumSHA-1 hash
sha256sumSHA-256 hash
hmacHMAC generation
genkeyGenerate cryptographic keys
hashHash files
randomGenerate random data
keyscanKey scanning utility

Vault & Security

CommandDescription
vault statusVault status
vault sealSeal the vault
vault unsealUnseal the vault
vault cryptoVault crypto operations
vault keysKey management
capabilitiesList process capabilities
auditView audit trails

Module Management

CommandDescription
modloadLoad kernel module
modunloadUnload kernel module
modlistList loaded modules
modinfoModule information

Wallet Commands

CommandDescription
wallet accountsList wallet accounts
wallet keysKey management
wallet transactionsTransaction history
wallet sendSend transaction
wallet balanceCheck balance
wallet importImport account
wallet exportExport account

Node Commands

CommandDescription
node statusNode status
node networkNetwork info
node stakingStaking operations
node identityNode identity

Package Management

CommandDescription
apt / apt-getAPT package manager
dpkgDebian packages
rpmRPM packages
pacmanArch packages
yumYUM packages
makeBuild system
cargoRust package manager

System Control

CommandDescription
shutdownSystem shutdown
rebootSystem reboot
poweroffPower off system
haltHalt system
systemctlSystem control
serviceService management
initInit system control

Shell Builtins

CommandDescription
echoPrint text
printfFormatted print
readRead user input
exportExport environment variable
unsetUnset variable
aliasCreate command alias
unaliasRemove alias
source / .Execute script in current shell
evalEvaluate expression
setSet shell options
shoptShell options
helpDisplay help
historyCommand history
clearClear screen

Variable Expansion

The shell supports several forms of variable expansion:

$VAR          # Simple expansion
${VAR}        # Bracketed expansion
${VAR:-default}  # Default if unset
${#VAR}       # Length of variable

Command Substitution

Capture command output:

$(command)    # Modern syntax
`command`     # Legacy syntax

Arithmetic

Perform arithmetic operations:

$((expression))   # Arithmetic expansion
((expression))    # Arithmetic evaluation

Control Flow

The shell supports conditionals and loops:

# Conditionals
if [ condition ]; then
    commands
elif [ condition ]; then
    commands
else
    commands
fi

# For loops
for item in list; do
    commands
done

# While loops
while [ condition ]; do
    commands
done

Functions

Define reusable functions:

function_name() {
    commands
    return value
}

# Call function
function_name arg1 arg2

Examples

File Operations

# Create directory structure
mkdir -p projects/nønos/src

# Find all Rust files
find . -name "*.rs"

# Copy with progress
cp -v large_file.bin /mnt/usb/

# Show disk usage sorted by size
du -sh * | sort -h

Text Processing

# Search for pattern in files
grep -r "TODO" src/

# Count lines in all .rs files
find . -name "*.rs" | xargs wc -l

# Extract specific columns
cat data.csv | cut -d',' -f1,3

# Sort and remove duplicates
sort file.txt | uniq

Networking

# Check connectivity
ping -c 4 example.com

# Download file
wget https://example.com/file.tar.gz

# HTTP request with curl
curl -X GET https://api.example.com/data

# Show network interfaces
ifconfig -a

Security

# Generate SHA-256 checksum
sha256sum kernel.bin

# Generate random 32 bytes (hex)
random 32 | xxd -p

# Check vault status
vault status

# List capabilities
capabilities

Process Management

# Show all processes
ps aux

# Kill process by name
killall firefox

# Run command in background
long_running_task &

# Bring to foreground
fg %1

Environment Variables

Key environment variables:

VariableDescription
HOMEUser home directory
PATHCommand search path
PWDCurrent working directory
USERCurrent username
SHELLCurrent shell path
TERMTerminal type
EDITORDefault editor
LANGLocale setting

Exit Codes

Commands return exit codes:

CodeMeaning
0Success
1General error
2Misuse of command
126Permission denied
127Command not found
128+NKilled by signal N

Check exit code with $?:

command
echo $?  # Print exit code

AGPL-3.0 | Copyright 2026 NØNOS Contributors