Pure Storage CLI Commands Cheatsheet

Photo of author
Written By Amit Singh

I am a technology enthusiast with 15 years of experience in SAN and NAS Storage. 

Access: SSH to the array VIP as pureuser (or via physical controller IPs). No local CLI install required — the shell is on the controllers.
Help:purehelp lists all top-level commands; pureman <command> opens the man page; <command> -h shows quick usage.


1. General & System

Table

CommandDescriptionExample Output
pureversionPurity OS version, model, and serialProduct: FlashArray
Model: FA-X20
Version: Purity//FA 6.2.0
purehelpList all available CLI commandspureadmin, purealert, purearray, purecert, pureconfig, puredns, puredrive, purehgroup, purehost, purehw, purelog, pureman, puremessage, purenetwork, purepgroup, purepod, pureport, puresnmp, puresubnet, puresw, purevol
pureman <command>Open man page for a command
pureconfig listGenerate a script to recreate the array configpurevol create my_volume --size 1T
purehost create app_server
purevol connect my_volume --host app_server
pureconfig list --objectObject-only config (volumes, hosts, groups, pods)
pureconfig list --allFull config including network, policies, support

2. Array Management (purearray)

Table

CommandDescriptionExample Output
purearray listArray name, serial, firmware, uptimeName Model Serial Version Uptime
Flash1 FlashArray FA-12345 Purity//FA 6.2 120 days
purearray list --spaceCapacity and data reductionTotal Used Free Data Reduction
50TB 20TB 30TB 3.0:1
purearray list --space --historical 30dCapacity trend over last 30 days
purearray list --controllerControllers, model, status, firmware
purearray list --connectRemotely connected arrays for replication
purearray list --connect --pathReplication connection paths
purearray list --connect --throttleReplication throttle limits
purearray list --ntpserverConfigured NTP servers
purearray list --syslogserverConfigured syslog servers
purearray list --phonehomePhoneHome/dial-home status
purearray list --connection-keyConnection key for remote array pairing
purearray monitor --interval 4 --repeat 5Array-wide I/O performance every 4s, 5 times
purearray rename <newname>Rename the arrayArray renamed to MYARRAY001
purearray setattr --ntpserver time.google.comSet NTP server
purearray setattr --syslogserver log.server.comSet syslog server
purearray setattr --idle-timeout 30CLI idle timeout (minutes)
purearray enable phonehomeEnable PhoneHome
purearray disable phonehomeDisable PhoneHome
purearray enable console-lock / disable console-lockConsole lock settings
purearray remoteassist --statusCheck Remote Assist statusactive or inactive
purearray connect --management-address <ip> --type async-replication --connection-keyConnect to remote array for async replicationPrompts for connection key
purearray connect --management-address <ip> --type sync-replication --connection-keyConnect for sync replicationPrompts for connection key
purearray disconnect <ip>Disconnect remote array

3. Volume Management (purevol)

Table

CommandDescriptionExample Output
purevol listAll volumesName Size Source Connected Hosts
my_volume 1TB - 2
data_vol 500GB - 1
purevol list --spaceVolumes with space details
purevol list --snapAll snapshotsName Size Parent Volume
my_volume.snap1 1TB my_volume
purevol list --pendingAll volumes including destroyed (pending eradication)
purevol list --pending-onlyOnly destroyed volumes pending eradication
purevol list --filter "size='20T'"Filter volumes by size
purevol list --sort created / --sort created-Sort ascending / descending by created time
purevol list --sort size / --sort size-Sort ascending / descending by size
purevol list --sort serial / --sort serial-Sort by serial number
purevol list <pattern>Wildcard match (e.g., MY_VOL*)
purevol create --size 10G <vol>Create a 10 GB volumeVolume MY_VOLUME_001 created.
purevol create --size 10G <vol1> <vol2>Create multiple volumes
purevol create --size 10G <vol> --bw-limit 10MCreate with bandwidth limit
purevol create --size 1G <pod>::<vol>Create volume inside a pod
purevol setattr --size 2G <vol>Expand volume to 2 GB
purevol setattr --bw-limit 1M <vol>Set bandwidth limit to 1 MB/s
purevol truncate --size 1G <vol>Shrink volume to 1 GB
purevol rename <old> <new>Rename volume
purevol copy <src> <dst>Copy volume to new volume
purevol copy <src> <dst> --overwriteOverwrite existing volume with copy
purevol snap <vol>Create snapshotSnapshot my_volume.snap1 created.
purevol snap <vol> --suffix PRDCreate snapshot with custom suffixmy_volume.PRD
purevol destroy <vol>Destroy volume (24-hr recovery window)
purevol eradicate <vol>Permanently delete destroyed volume
purevol recover <vol>Recover a destroyed volume
purevol move <vol> <pod>Move volume into a non-stretched pod
purevol move <pod>::<vol> ""Move volume out of a pod
purevol connect <vol> --host <host>Connect volume to host
purevol connect <vol> --host <host> --lun 10Connect with specific LUN
purevol connect <vol> --hgroup <hgroup>Connect volume to host group
purevol connect <vol1> <vol2> --host <host>Connect multiple volumes to host
purevol disconnect <vol> --host <host>Disconnect volume from host
purevol disconnect <vol> --hgroup <hgroup>Disconnect from host group
purevol monitor <vol>Display I/O performance for volume

4. Host Management (purehost)

Table

CommandDescriptionExample Output
purehost listAll hosts with WWN/IQN/NQN and groupsName IQN/WWN Volumes Connected
app_server iqn.1991-05.com.example:app1 1
purehost list --allHosts with initiators and target port mappings
purehost list --connectOnly hosts with connected volumes
purehost list --connect --privateHosts with privately connected volumes
purehost list --connect --sharedHosts with shared (host group) volumes
purehost list --personalityShow host personality settings
purehost list --filter "wwn='1000000000000003'"Find host by WWN
purehost list <host>Details for specific host
purehost list <host> --connectVolumes connected to a host
purehost create <host>Create host objectHost app_server created.
purehost create <host> --wwnlist <wwn1>,<wwn2>Create host with WWNs
purehost create <host1> <host2>Create multiple hosts
purehost delete <host>Delete host
purehost rename <old> <new>Rename host
purehost setattr <host> --personality esxiSet personality (esxi, aix, solaris, etc.)
purehost setattr <host> --wwnlist <wwn>Replace all WWNs on host
purehost setattr <host> --addwwnlist <wwn>Add WWN to hostWWN 21000024FF649B3B added to host app_server.
purehost setattr <host> --remwwnlist <wwn>Remove WWN from host
purehost setattr <host> --wwnlist ""Remove all WWNs
purehost connect <host> --vol <vol>Connect host to volume
purehost connect <host> --vol <vol> --lun 10Connect with specific LUN
purehost connect <host1> <host2> --vol <vol>Connect multiple hosts to volume
purehost disconnect <host> --vol <vol>Disconnect host from volume
purehost disconnect <host1> <host2> --vol <vol>Disconnect multiple hosts

5. Host Group Management (purehgroup)

Table

CommandDescription
purehgroup listList all host groups
purehgroup list --connectHost groups with connected volumes
purehgroup list --connect <hgroup>Connected volumes for a specific host group
purehgroup list --spaceHost groups with provisioned capacity and consumption
purehgroup create <hgroup>Create host group
purehgroup delete <hgroup>Delete host group
purehgroup rename <old> <new>Rename host group
purehgroup setattr <hgroup> --hostlist <host1>,<host2>Replace members
purehgroup setattr <hgroup> --addhostlist <host1>,<host2>Add hosts to group
purehgroup setattr <hgroup> --remhostlist <host1>,<host2>Remove hosts from group
purehgroup setattr <hgroup> --hostlist ""Remove all hosts from group
purehgroup connect <hgroup> --vol <vol>Connect volume to host group
purehgroup connect <hgroup> --vol <vol> --lun 10Connect with specific LUN

6. Pod Management (purepod)

Table

CommandDescription
purepod listList all pods and their arrays/status
purepod list --mediatorPods with mediator connectivity status
purepod list --failover-preferencePods with failover preference
purepod list --footprintPhysical capacity footprint per pod
purepod list --pendingInclude destroyed pods
purepod list --pending-onlyOnly destroyed pods
purepod list --on <array>Pods on a specific remote array
purepod list <pod>Details for specific pod
purepod listobj --type array <pod>Arrays in a pod
purepod listobj --type vol <pod>Volumes in a pod
purepod create <pod>Create pod
purepod create <pod1> <pod2>Create multiple pods
purepod destroy <pod>Destroy pod (must be empty/unstretched; 24-hr window)
purepod eradicate <pod>Permanently delete pod
purepod recover <pod>Recover destroyed pod
purepod rename <old> <new>Rename pod
purepod clone <src> <dst>Clone pod (new serials/WWNs)
purepod demote <pod>Demote pod
purepod add --array <remote> <pod>Stretch pod to remote array
purepod remove --array <remote> <pod>Unstretch pod from remote array
purepod setattr --failover-preference <array> <pod>Set failover preference
purepod replica-link create <pod> --remote <array> --remote-pod <pod>Create Active/DR replica link
purepod replica-link delete <pod> --remote-pod <pod>Delete replica link
purepod replica-link listList replica links
purepod replica-link pause <pod> --remote <array> --remote-pod <pod>Pause replication
purepod replica-link resume <pod> --remote <array> --remote-pod <pod>Resume replication
purepod replica-link monitor --replicationMonitor replication throughput

7. Protection Group Management (purepgroup)

Table

CommandDescription
purepgroup listList all protection groups
purepgroup create <pgroup>Create protection group
purepgroup create --hgrouplist <hg1>,<hg2> <pgroup>Create with host groups
purepgroup create --vollist <v1>,<v2> <pgroup>Create with volumes
purepgroup destroy <pgroup>Destroy protection group
purepgroup eradicate <pgroup>Permanently delete
purepgroup recover <pgroup>Recover destroyed group
purepgroup rename <old> <new>Rename protection group
purepgroup schedule --snap-frequency 1h --replicate-frequency 4h <pgroup>Set snapshot and replication schedule
purepgroup retain --per-day 4 --all-for 1d --days 7 --target-per-day 4 --target-all-for 1d --target-days 7 <pgroup>Set retention policy
purepgroup setattr <pgroup> --addvollist <v1>Add volumes to group
purepgroup setattr <pgroup> --remvollist <v1>Remove volumes from group

8. Hardware & Drive Management

Drives (puredrive)

Table

CommandDescriptionExample Output
puredrive listAll drivesBay Type Capacity Status
1 NVMe 3.84TB Healthy
puredrive list --totalDrives with total capacity
puredrive list <bay>Specific drive details
puredrive admitAdmit unadmitted drivesDrive in Bay 4 admitted.

Hardware (purehw)

Table

CommandDescriptionExample Output
purehw listAll hardware components and statusComponent Status Model Serial
Controller 0 OK FA-X20 CT0SN12345
purehw list --specDetailed specs (model, part number, serial)Model: FlashArray-X20
Firmware: Purity//FA 6.2.0
purehw list --type bayDrive modules only
purehw list --type bay --specDrive modules with part/serial
purehw list --type ctControllers only
purehw list --type ethEthernet ports
purehw list --type fcFC ports with status and speed
purehw list <component>Specific component (e.g., CT0, CT0.FC0)
purehw list <component> --specSpecs for specific component

9. Port Management (pureport)

Table

CommandDescription
pureport listAll target ports (FC, iSCSI, NVMe) with WWN/IQN/NQN
pureport list --initiatorAll host initiators and eligible target ports
pureport list --initiator --raw --filter "initiator.wwn='...'"Find initiator login port
pureport list --initiator --raw --filter "name='CT0.FC0'"Initiators logged into a specific port
pureport list --raw --filter "name='*ETH*'"All iSCSI ports and IQNs
pureport list --raw --filter "name='*FC*'"All FC ports and WWNs
pureport list --raw --filter "name='CT0.FC*'"FC ports on Controller 0

10. Network Management (purenetwork)

Table

CommandDescription
purenetwork listAll network interfaces
purenetwork list --notitleList without headers (useful for scripting)
purenetwork list --csvCSV output for export

11. Admin & User Management (pureadmin)

Table

CommandDescription
pureadmin listAll local users
pureadmin list --api-tokenUsers with API tokens
pureadmin list --api-token --exposeExpose current user’s API token
pureadmin list --lockoutCurrently locked-out users
pureadmin create <user> --role <role>Create user (readonly, ops_admin, storage_admin, array_admin)
pureadmin create <user> --api-tokenGenerate API token
pureadmin create <user> --api-token --timeout 2hToken valid for 2 hours
pureadmin delete <user>Delete user
pureadmin delete <user> --api-tokenDelete user’s API token
pureadmin delete --api-tokenDelete current user’s API token
pureadmin setattr <user> --passwordChange user password
pureadmin setattr <user> --role array_adminChange user role
pureadmin reset <user> --lockoutUnlock locked user
pureadmin refresh --clearClear permission cache for all users
pureadmin refresh --clear <user>Clear cache for specific user
pureadmin refresh <user>Refresh permission cache for user

Global Admin Settings

Table

CommandDescription
pureadmin global listGlobal attributes (lockout, password policy, SSO)
pureadmin global setattr --min-password-length 8Minimum password length
pureadmin global setattr --max-login-attempts 3Max failed attempts before lockout
pureadmin global setattr --lockout-duration 1mLockout duration
pureadmin global enable --single-sign-onEnable SSO
pureadmin global disable --single-sign-onDisable SSO

12. Alert Management (purealert)

Table

CommandDescriptionExample Output
purealert listAll alertsID Severity Message Time
12345 Critical Volume disconnected 2025-01-17 12:00:00
purealert list --filter "severity='critical'"Critical alerts only
purealert list --filter "state='open'"Open alerts
purealert list --filter "state='closed'"Closed alerts
purealert list --filter "issue='failure'"Failure alerts
purealert list --flaggedFlagged alerts
purealert flag <id>Flag an alert
purealert unflag <id>Unflag an alert
purealert delete <id>Delete an alertAlert ID 12345 deleted.

13. Audit & Logging

Table

CommandDescription
pureaudit listAll administrative audit records
pureaudit list --limit 10First 10 records
pureaudit list --sort userSort by user (default is time)
pureaudit list --filter 'user="root"'Audit records for root
pureaudit list --filter 'command="purepod"'Records for purepod commands
pureaudit list --filter 'command="purepod" and user="pureuser"'Combined filters
puremessage list --auditAudit trail of commands (who did what and when)

14. Software & Certificates

Table

CommandDescription
puresw listSoftware version info
puresw global disable --auto-downloadDisable automatic software downloads
purecert setattr --self-signed --key-size 2048 --organization 'Pure Storage, Inc.' --days 3650Generate self-signed certificate
puredns listDNS configuration
puresnmp listSNMP configuration
puresubnet listSubnet configuration

15. Common Scripting Patterns

Export config for disaster recovery:

bash

pureconfig list --all > array_config_backup.txt

Find who destroyed a volume:

bash

puremessage list --audit | grep -E "ID|vol1"

Get all array IPs for inventory:

bash

for i in flasharray001 flasharray002; do
  ssh pureuser@$i "purenetwork list --notitle" | cut -d ',' -f4
done

Export hardware serials to CSV:

bash

purehw list --type bay --spec --csv | cut -d ',' -f1,7

Connect via SSH non-interactively:

bash

sshpass -p <password> ssh pureuser@<array_vip> "purevol list"

PureStorage Commands with output

PureStorage General Commands

Command: pureversion

Description: Displays the Purity OS version installed on the array.
Output:

Product:    FlashArray
Model: FA-X20
Version: Purity//FA 6.2.0

Command: pureconfig list

Description: Generates a script to recreate the array configuration.
Output:

purevol create my_volume --size 1T
purehost create app_server
purevol connect my_volume --host app_server
purearray set --ntpserver ntp.example.com

PureStorage Array Management

Command: purearray list

Description: Displays array details like name, serial number, and firmware version.
Output:

Name     Model      Serial     Version        Uptime
-----------------------------------------------------------
Flash1 FlashArray FA-12345 Purity//FA 6.2 120 days

Command: purearray list --space

Description: Shows capacity usage details of the array.
Output:

Total      Used      Free      Data Reduction
---------------------------------------------
50TB 20TB 30TB 3.0:1

PureStorage Volume Management

Command: purevol list

Description: Lists all volumes on the array.
Output:

Name         Size    Source     Connected Hosts
------------------------------------------------
my_volume 1TB - 2
data_vol 500GB - 1

Command: purevol snap my_volume

Description: Creates a snapshot of the specified volume.
Output:

Snapshot my_volume.snap1 created.

Command: purevol list --snap

Description: Lists all snapshots.
Output:

Name              Size    Parent Volume
----------------------------------------
my_volume.snap1 1TB my_volume
data_vol.snap1 500GB data_vol

PureStorage Host Management

Command: purehost list

Description: Lists all hosts connected to the array.
Output:

Name         IQN/WNN                         Volumes Connected
--------------------------------------------------------------
app_server iqn.1991-05.com.example:app1 1
db_server iqn.1991-05.com.example:db1 2

Command: purehost create app_server

Description: Creates a new host.
Output:

Host app_server created.

Command: purehost addwwn app_server --wwn 21000024FF649B3B

Description: Adds a WWN to the specified host.
Output:

WWN 21000024FF649B3B added to host app_server.

PureStorage Drive Management

Command: puredrive list

Description: Lists all drives in the array.
Output:

Bay  Type    Capacity  Status
------------------------------
1 NVMe 3.84TB Healthy
2 NVMe 3.84TB Healthy
3 NVMe 3.84TB Healthy

Command: puredrive admit

Description: Admits unadmitted drives into the array.
Output:

Drive in Bay 4 admitted.

PureStorage Hardware Management

Command: purehw list

Description: Lists all hardware components.
Output:

Component       Status    Model          Serial
-----------------------------------------------
Controller 0 OK FA-X20 CT0SN12345
Controller 1 OK FA-X20 CT1SN12345
Drive Bay 1 OK NVMe BAY1SN123

Command: purehw list --spec

Description: Displays detailed hardware specifications.
Output:

Model:         FlashArray-X20
Firmware: Purity//FA 6.2.0
Part Number: FA-X20-12345
Serial: FA-12345

PureStorage Alert Management

Command: purealert list

Description: Lists all alerts in the array.
Output:

ID      Severity    Message                                   Time
--------------------------------------------------------------------
12345 Critical Volume disconnected unexpectedly 2025-01-17 12:00:00
67890 Warning Latency increased above threshold 2025-01-17 10:00:00

Command: purealert delete 12345

Description: Deletes a specific alert.
Output:

Alert ID 12345 deleted.
Categories SAN

I am a technology enthusiast with 15 years of experience in SAN and NAS Storage. I work with one of the fortune 500 companies as SAN Storage Architect.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.