10 (MORE) Essential IBM i Commands

  • Home
  • /
  • Blog
  • /
  • 10 (MORE) Essential IBM i Commands

May 26, 2026

New to the IBM-i platform? Read on…
Experienced IBM-i Admin? Don’t bother!

10 (MORE) Essential IBM i Commands

If you are Older, Experienced, Gray Haired and Grumpy on the IBM-i platform, like me, then stop reading now because this stuff is for beginners. If you know your way around the IBM-i command line, you will definitely know each of these commands in details, so I suggest you go and enjoy a nice cup of tea in the garden instead.

If you’re still here, and you’ve powered through my previous post (10 Essential IBM i Commands Every Beginner Must Master) and you’re starting to feel more at home on the green screen, then it’s time to take a few more steps into the IBM-i pond.

You’ve learned some of the most commonly used IBM-i commands that keep the system running and help you look like you know what you’re doing. Now let’s expand your IBM-i Command vocabulary with another solid set of everyday commands that IBM i programmers use regularly. These aren’t obscure utilities, they are practical, high-frequency commands focused on user management, library handling, compilation, messaging, job control, and system maintenance. Mastering them will make your daily work on IBM i smoother, faster, and more professional.

CAVEAT EMPTOR: I asked AI what the ten most used commands were, globally and this is what it gave me. So don’t yell at me if you disagree with this list. I disagree with this list as well. Instead, leave a comment with the commands you would like me to cover? Having moaned about this myself, let’s dive in.

Another Ten IBM i commands every aspiring IBM i Techie should know

WRKUSRPRF Work with User Profiles

WRKUSRPRF is the central command for viewing, managing, and maintaining user profiles the objects that define how a person or job interacts with the system. It provides a single panel where you can list all profiles, drill into attributes like passwords, special authorities, initial menus, job descriptions, group memberships, and status, and perform actions such as creating, changing, disabling, enabling, or deleting profiles. Administrators use WRKUSRPRF constantly because it ties together security, access control, and system behavior: from controlling who can sign on, to what libraries they see, to what commands they’re allowed to run. In short, it’s the IBM i “user management hub,” combining visibility and control in one familiar green‑screen interface.

Manage and view user profiles on the system:


GO Goto Menu

GO is the command that launches any system or custom menu, acting as a fast‑track navigation hub for operators and developers. When you run GO followed by a menu name, such as GO MAIN, GO SECTOOLS, or your own application menu, the system displays a structured list of options that group related commands, tasks, and workflows. It’s essentially IBM i’s built‑in “start menu,” letting you jump into security tools, job management, programming utilities, or application functions without remembering every command. Because menus can be customized, GO also becomes a powerful way to build user‑friendly entry points for business applications, guiding users through tasks while keeping the underlying command complexity hidden.

Display IBM-i Menus and use their options:


WRKLIB Work with Libraries

WRKLIB is the command administrators use to display, explore, and manage libraries, the top‑level containers that hold objects such as files, programs, and service tools. Running WRKLIB LIB(*ALL) (or a specific name or pattern like WRKLIB LIB(MYLIB*)) brings up a list of matching libraries along with options to view attributes, rename, delete, change authorities, or drill into their contents. It’s essentially the “library control panel” of the system, giving you quick visibility into where application objects live, how libraries are organized, and what storage or security settings they use. For anyone maintaining IBM i environments, WRKLIB is a daily driver because it ties together object management, troubleshooting, and system organization in one clean interface.

Display and manage libraries.


DSPLIB Display Library

DSPLIB shows you a detailed view of the objects inside a specific library, making it one of the simplest ways to inspect what an application or system library actually contains. When you run DSPLIB LIB(MYLIB) the system lists every object in that library along with its type, attribute, and size, and you can drill into individual objects for more information. It is a read focused command, perfect for quick audits, troubleshooting, or confirming that a program, file, or service object exists where you expect it to be. While WRKLIB gives you a list of libraries, DSPLIB takes you one level deeper and shows the contents of a single library in a clean, easy to navigate format.

List objects within a specific library.


DSPMSG Display Messages

DSPMSG shows you the messages waiting in a specific message queue, most commonly your own workstation message queue. When you run DSPMSG the system displays a list of messages that may include informational notices, escape messages, job errors, system warnings, or replies required by running jobs. From the panel you can read full message text, view message details, send replies, or delete messages you no longer need. It is one of the core tools for monitoring what the system is trying to tell you, making it essential for operators and developers who need to keep an eye on job activity, errors, and system events.

Display and View messages in a message queue (general use)


WRKMSGD Work with Message Descriptions

WRKMSGD is the command you use to browse, create, change, or delete message descriptions stored in message files. A message description defines the text, severity, substitution variables, help text, and other attributes for a specific message ID such as CPF9898 or RPG0005. When you run WRKMSGD MSGF(MYMSGF) the system lists all message IDs in that message file and lets you drill into each one to edit wording, add second level text, or adjust how programs receive and display the message. It is an essential tool for application developers who maintain custom message files because it centralizes all message text in one place, keeps programs clean, and supports multilingual or environment specific messaging without changing code.

Browse or maintain message files.


CRTCLPGM Create CL Program

CRTCLPGM compiles a CL source member into an executable program object, turning your CL commands into a runnable program that can be called from menus, jobs, or other programs. When you run CRTCLPGM PGM(MYLIB/MYCLPGM) SRCFILE(MYLIB/QCLSRC) the system reads the source, checks syntax, resolves commands, and produces a program object of type *CLP or *CLLE depending on the source type. It supports options like debugging views, optimization levels, and activation groups, making it flexible for both traditional OPM CL and modern ILE CL. Developers use CRTCLPGM whenever they update automation scripts, job control logic, menu drivers, or system utilities, because it is the essential step that transforms CL source code into something the system can execute.

Compile a Control Language (CL) source member into a program object


DLTUSRPRF Delete User Profile

DLTUSRPRF removes a user profile from the system and optionally handles all of the objects owned by that profile. When you run DLTUSRPRF USRPRF(MYUSER) the system deletes the profile itself, but you must choose what to do with its objects using the OWNOBJOPT parameter which lets you delete them, transfer them to another user, or keep them orphaned for later reassignment. The command is powerful and potentially destructive because user profiles often own libraries, files, job descriptions, output queues, and other critical objects. Administrators typically use DLTUSRPRF when cleaning up old accounts, decommissioning contractors, or tightening security, and they always double check object ownership before running it to avoid accidental data loss.

Remove a user profile from the system.


CHGUSRPRF Change User Profile

CHGUSRPRF is the command used to modify the attributes of an existing user profile, letting administrators update security settings, passwords, group memberships, job descriptions, initial menus, special authorities, and dozens of other characteristics without recreating the profile. When you run CHGUSRPRF USRPRF(MYUSER) you can adjust anything from password rules to library lists to whether the user can run commands or access system functions. It is one of the core security and system management tools because user profiles define how every person and job interacts with the system. CHGUSRPRF keeps those profiles current as roles change, permissions evolve, or security policies tighten, making it essential for day to day administration on IBM i.

Modify attributes of an existing user profile.


WRKSBMJOB Work with Submitted Jobs

WRKSBMJOB (Work with Submitted Jobs) on IBM i lets you view and manage all jobs that have been submitted to batch but have not yet completed. When you run WRKSBMJOB the system shows a list of submitted jobs along with their current status such as scheduled, waiting, or running, and you can drill into each job to see details like job queue, job description, user, and parameters. From the same panel you can hold, release, change, or even cancel submitted jobs, making it a key tool for operators who need to control batch workloads. WRKSBMJOB is especially useful when troubleshooting jobs that are stuck in a queue, verifying that scheduled tasks were submitted correctly, or monitoring batch activity during heavy processing windows.

Manage your own batch/submitted jobs.


DSPPTF Display Program Temporary Fix

DSPPTF shows you all PTFs that are loaded or applied on the system, making it the go to command for checking system maintenance and patch levels. When you run DSPPTF LICPGM(*ALL) the system lists every installed licensed program along with the PTFs applied to each one, including their status such as applied, temporarily applied, or superseded. You can drill into individual PTFs to see details like release level, APAR information, and whether a system IPL is required. Operators and administrators rely on DSPPTF to verify that fixes have been applied correctly, confirm prerequisites before installing new software, troubleshoot issues related to missing or partial PTFs, and maintain a clean, fully patched IBM i environment.

View installed PTFs and system fixes.


And that wraps it up for today!

If you made it this far, congratulations, you now know more IBM i commands than most developers who still think SEU is cutting‑edge technology. Go forth and WRK, DSP, CHG, and DLT with confidence. Just remember, every time you tidy up a user profile or peek inside a library, an old RPG program somewhere emits a quiet F‑spec sigh of approval.

Until next time, keep coding, keep laughing at your typos, and may your job queues always run clean.

NickLitten


IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Shameless Trekkie, Belligerent Nerd, Englishman Abroad and Passionate Eater of Cheese and Biscuits.

Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day.

Enjoy your stay, feel free to comment and remember: If at first you don't succeed then skydiving probably isn't a hobby you should look into.

Nick Litten

related posts:

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Subscribe NOW
7-day free trial

Take This Course with ALL ACCESS

Unlock your Learning Potential with instant access to every course and all new courses as they are released.
 [ For Serious Software Developers only ]

Online Learning for IBM i Software Technology Professionals

“The more that you read, the more things you will know. The more that you learn, the more places you’ll go.” – Dr. Seuss

>