module
TLDR
Display available modules
SYNOPSIS
module [switches] sub-command [sub-command-args]
DESCRIPTION
module provides a user interface to the Environment Modules package, enabling dynamic modification of the shell environment through modulefiles. Each modulefile contains configuration for applications, typically modifying PATH, MANPATH, LDLIBRARYPATH, and other environment variables.
The system allows users to load and unload software configurations without manual environment variable management. Modulefiles are interpreted as Tcl scripts and can set variables, create aliases, and define dependencies.
Collections allow saving and restoring sets of loaded modules, useful for switching between project configurations or workflows.
PARAMETERS
avail [_pattern_]
List available modulefiles matching optional patternload _modulefile_...
Load modules into the current environmentunload _modulefile_...
Remove modules from the environmentlist [_pattern_]
List currently loaded modulespurge [-f]
Unload all loaded modulesreload [-f]
Unload then reload all modulesswitch _old_ _new_
Replace one module with anothersave [_collection_]
Save current environment state to collectionrestore [_collection_]
Restore saved environment collectionsavelist
List saved collectionsdisplay _modulefile_
Show modulefile contents and effectswhatis _string_
Search modulefile descriptionsuse _path_...
Add directories to modulefile search path--json, -j
Output in JSON format--long, -l
Long format output--terse, -t
Short format output-v, --verbose
Enable verbose messages
CAVEATS
Modulefiles must begin with the magic cookie #%Module. Loading conflicting modules may cause unexpected behavior unless dependencies are properly defined. The module command modifies the current shell environment; changes are lost when the shell exits unless saved to shell initialization files.
HISTORY
The Environment Modules system originated at DOE computing facilities in the early 1990s. Lmod, a Lua-based implementation, was developed at the Texas Advanced Computing Center (TACC) and is widely used on HPC systems. Both provide compatible user interfaces for managing software environments.
SEE ALSO
modulefile(5), ml(1)


