# Get Help in Red Hat Enterprise Linux ## Dennis Kibbe ### Mesa Community College Note: This slide presentation was created using [Reveal.js](https://revealjs.com/). You can access a transcript of this presentation by pressing S for speaker notes. You can access navigation help by pressing the question mark key. Audio for this presentation is artificially generated. --- # Module Outline 1. Introduction 1. Read Manual Pages 1. Guided Exercise 1. Release Notes and Changelogs 1. Key Takeaways 1. Resources 1. Graded Lab Note: --- # Learning Objectives *After completing the work in this module you will be able to:* 1. Use Linux man pages to find options for commands. 1. Describe the layout of a man page. 1. Use the `-k` option to the `man` command to find a command. --- # Introduction ## Get Help in Red Hat Enterprise Linux ![help buttun clipart](../images/help_button-200.png) Note: Linux has too many commands for any system administrator to remember. Fortunately, Red Hat Enterprise Linux has good documentation. Both on the system and through the Red Hat Customer Portal. In this module you will learn how to use Linux manual pages to be more productive when working on the command line. --- # Linux Manual Pages ![image of a manual page](../images/manpage_example.png) Note: Every command on a Linux system should have a man page which describes the command and lists the options the command accepts. Here is the man page for the `mkdir` command for creating directories. --- # Manual Page Sections 1. **Executable programs or shell commands** 1. System calls (functions provided by the kernel) 1. Library calls (functions within program libraries) 1. Special files (usually found in /dev) 1. **File formats and configuration files (/etc/passwd)** 1. Games 1. Miscellaneous 1. **System administration commands (usually only for root)** 1. Kernel routines Note: Manual pages cover more than just commands. Similar manual pages are grouped into sections. For this class we will focus on the sections for executable programs, configuration files, and system administration commands. --- # Parts of a Manual Page - NAME - SYNOPSIS - DESCRIPTION - OPTIONS - EXAMPLES - FILES - SEE ALSO Note: A man page itself is divided into topics. The most important being Name, Synopsis (or summary), and Description. --- # Navigate Manual Pages ![Screenshot of man page navigation commands](../images/man_page_navigation_dark.png) Note: Manual pages use a program called a pager to display the text on the screen and enable you to navigate to the part of the page you want. Here are some common navigation commands for the `less` pager. --- # Search for man Pages by Keyword ``` [user@host ~]$ man -k passwd chgpasswd (8) - update group passwords in batch mode chpasswd (8) - update passwords in batch mode fgetpwent_r (3) - get passwd file entry reentrantly getpwent_r (3) - get passwd file entry reentrantly ... passwd (1) - update user's authentication tokens passwd (1ossl) - OpenSSL application commands passwd (5) - password file passwd2des (3) - RFS password encryption` ``` Note: Use the -k option with a keyword to easily search for the manpage you are looking for. See quiz in Canvas. --- # Search within a Manual Page ![Screenshot of searching within a manual page](../images/man_page_search_dark.png) Note: To quickly find the option you are looking for within a manual page press the forward slash character followed by the term you are looking for. If the first hit is not what you want press n on the keyboard to search further down the page. --- # The /usr/share/doc/ directory ``` [user@host ~]$ ls /usr/share/doc/nano/examples/ sample.nanorc ``` Note: This directory contains technical information about system packages. It includes change logs, contact information for the maintainer of the package, and sometimes configuration templates. Here is listed a sample nano configuration file that can be copied to the user's home directory and customized. --- # Guided Exercise ## Read Manual Pages ![Clipart of two students studying](../images/homework.png) Note: In this exercise, you practice finding relevant information by using man options and arguments. --- # Release Notes ![Screenshot of Red Hat Release Notes](../images/release_note_example.png) Note: Every new version of Red Hat Enterprise Linux comes with release notes that describe new features, removed programs, and other important information. --- # Changelogs ![Image of a changelog](../images/changelog_example.png) Note: A new version of a program comes with a changelog that describes new features, bugs that were squashed , and other important information. --- # Key Takeaways 1. The `man` command is used to display the manual page for commands and configuration files. 1. Manual pages are group by type and can be referenced by the section number. 1. The `-k` option to the `man` command is used to find commands by keyword. 1. Inside a manual page you can search for a term using the / character. 1. Each new release of Red Hat Enterprise Linux comes with Release Notes which details new features and changes. 1. The `mandb` command updates the manual page index. 1. Release Notes and Changelogs provide important information about the latest release of a Linux operating system or program. Note: --- # Resources - [man(1)](https://www.man7.org/linux/man-pages/man1/man.1.html) - [mandb(8)](https://www.man7.org/linux/man-pages/man8/mandb.8.html) - [man-pages(7)](https://man7.org/linux/man-pages/man7/man-pages.7.html) - [Linux Man Pages - A Quick Tutorial](https://man7.org/linux/man-pages/man7/man-pages.7.html) - [Product Documentation for Red Hat Enterprise Linux 9](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9) - [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) Note: Here are some resources to help you with this module. --- # Graded Lab ## Get Help in Red Hat Enterprise Linux ![Clipart of technicians in white lab coats](../images/lab_techs.png) Note: In this lab, you look up documentation to help you complete tasks. When you complete the lab submit a screenshot of the output of the `lab grade help-review` command. The screenshot shown here is for reference only. --- ![Mesa Community College logo](../images/mcc_logo.png "Mesa Community College")