Common administrative commands in Red Hat Enterprise Linux 5, 6, 7, and 8
System basics
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
View subscription information | /etc/sysconfig/rhn/systemid |
/etc/sysconfig/rhn/systemid subscription-manager identity |
subscription-manager identity | |
Configure subscription | rhn_register1 |
rhn_register rhnreg_ks subscription-manager |
subscription-manager2 rhn_register 3 |
|
View RHEL version information | /etc/redhat-release | |||
View system profile |
sosreport dmidecode hwbrowser |
sosreport dmidecode lstopo lscpu |
sosreport dmidecode lstopo lscpu cat /proc/cpuinfo lshw |
Basic configuration
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Graphical configuration tools | system-config-* | gnome-control-center | ||
Text-based configuration tools | system-config-*-tui | |||
Configure printer | system-config-printer | gnome-control-center | ||
Configure network | system-config-network |
nmcli nmtui nm-connection-editor |
nmcli nmtui nm-connection-editor gnome-control-center |
|
Configure system language | system-config-language | localectl | localectl gnome-control-center |
|
Configure time and date | system-config-date date |
timedatectl date |
timedatectl date gnome-control-center |
|
Synchronize time and date |
ntpdate /etc/ntp.conf |
timedatectl /etc/chrony.conf ntpdate |
timedatectl date /etc/chrony.conf chronyc |
|
Configure keyboard | system-config-keyboard | localectl | localectl gnome-control-center |
|
Configure SSH |
/etc/ssh/ssh_config /etc/ssh/sshd_config ~/.ssh/config ssh-keygen |
Jobs and services
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
List all services |
chkconfig --list ls /etc/init.d/ |
systemctl -at service ls /etc/systemd/system/*.service ls /usr/lib/systemd/system/*.service |
systemctl list-units -at service find /etc/systemd/ /usr/lib/systemd/ /run/systemd/ -name *.service" |
|
List running services | service --status-all | systemctl -t service --state=active | ||
Start/stop service | service name start service name stop |
systemctl start name.service systemctl stop name.service |
||
Enable/disable service | chkconfig name on chkconfig name off |
systemctl enable name.service systemctl disable name.service |
||
View service status | service name status | systemctl status name.service | ||
Check if service is enabled | chkconfig name --list | systemctl is-enabled name | ||
Create new service file or modify configuration | chkconfig --add |
systemctl daemon-reload /etc/systemd/system/*.service |
||
View run level/target |
runlevel who -r |
systemctl get-default who -r |
||
Change run level/target | /etc/inittab init run_level |
systemctl isolate name.target systemctl set-default |
||
Configure logging | /etc/syslog.conf | /etc/rsyslog.conf |
/etc/rsyslog.conf /etc/rsyslog.d/*.conf /var/log/journal systemd-journald.service |
|
View logs | /var/log |
/var/log journalctl |
||
Configure system audit |
add audit=1 to kernel cmdline auditctl /etc/audit/auditd.conf /etc/audit/audit.rules authconfig /etc/pam.d/system-auth pam_tty_audit kernel module |
add audit=1 to kernel cmdline auditctl /etc/audit/auditd.conf /etc/audit/audit.rules authconfig /etc/pam.d/system-auth tlog |
||
View audit output |
aureport /var/log/faillog |
|||
Schedule/batch tasks |
cron at batch |
cron at batch systemd-run --on-calendar |
||
Find file by name | locate | |||
Find file by characteristic | find | |||
Create archive |
tar cpio zip xz |
Kernel, boot, and hardware
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Single user/rescue mode | append 1 or s or init=/bin/bash to kernel cmdline | append 1 or s or rd.break or init=/bin/bash to kernel cmdline | ||
Shut down system | shutdown | |||
Power off system | poweroff |
poweroff systemctl poweroff |
||
Halt system | halt |
halt systemctl halt |
||
Reboot system | reboot |
reboot systemctl reboot |
||
Configure default run level/target | /etc/inittab | systemctl set-default | ||
Configure GRUB bootloader | /boot/grub/grub.conf |
/etc/default/grub grub2-mkconfig grub-set-default |
||
Configure kernel module | modprobe | |||
View hardware configured | hwbrowser | lshw (in EPEL) | lshw | |
Configure hardware device | udev | |||
View kernel parameters |
sysctl -a cat /proc/cmdline |
|||
Load kernel module | modprobe | |||
Remove kernel module | modprobe -r | |||
View kernel version |
rpm -q kernel uname -r |
Software management
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Install software |
yum install yum groupinstall |
yum install yum group install |
||
View software info |
yum info yum groupinfo |
yum info yum group info |
||
Update software | yum update | |||
Upgrade software | yum upgrade | |||
Configure software repository |
subscription-manager repos /etc/yum.repos.d/*.repo |
|||
Find package owning file |
rpm -qf filename yum provides filename-glob |
|||
View software version | rpm -q packagename |
yum list installed packagename rpm -q packagename |
||
View installed software |
rpm -qa yum list installed |
|||
Install a module | yum module install module_name | |||
View info on a module | yum module info module_name | |||
View a module's streams | yum module info module_name | |||
Change module streams | yum module remove module_name:stream yum module reset module:stream yum module install module:new_stream |
|||
List available modules | yum module list |
User management
Task | RHEL5 | RHEL6 | RHEL7 | RHEL7 | |
---|---|---|---|---|---|
Graphical user management | system-config-users | gnome-control-center | |||
Create user account | useradd | ||||
Delete user account | userdel | ||||
View/change user account details |
usermod /etc/passwd vipw id |
||||
Create user group | groupadd | ||||
Delete user group | groupdel | ||||
Change group details |
groupmod /etc/group |
||||
Change user password | passwd | ||||
Change user permissions |
usermod visudo |
||||
Change group permissions |
groupmod visudo |
||||
Change password policy | chage | ||||
View user sessions | w |
File systems, volumes, and disks
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Default file system | ext3 | ext4 | xfs | |
Create/modify disk partitions |
fdisk parted |
fdisk gdisk parted ssm create |
parted fdisk gdisk ssm_create |
|
Format disk partition |
mkfs.filesystem_type (ext4, xfs) mkswap |
mkfs.filesystem_type (ext4, xfs) mkswap ssm create |
||
Defragment disk space |
copy data to new file system fsck (look for 'non-contiguous inodes') |
copy data to new file system fsck (look for 'non-contiguous inodes') xfs_fsr |
||
Mount storage |
mount /etc/fstab |
mount /etc/fstab ssm mount |
||
Mount and activate swap |
/etc/fstab swapon -a |
|||
Configure static mounts | /etc/fstab | |||
View free disk space | df | |||
View logical volume info |
lvdisplay lvs vgdisplay vgs pvdisplay pvs |
|||
Create physical volume | pvcreate |
pvcreate ssm create (if backend is lvm) |
||
Create volume group | vgcreate |
vgcreate ssm create (if backend is lvm) |
||
Create logical volume | lvcreate |
lvcreate ssm create (if backend is lvm) |
||
Enlarge volumes formatted with default file system |
vgextend lvextend resize2fs |
vgextend lvextend xfs_growfs ssm resize |
||
Shrink volumes formatted with default file system |
resize2fs lvreduce vgreduce |
XFS cannot currently be shrunk; copy desired data to a smaller file system. | ||
Check/repair file system | fsck |
fsck ssm check |
||
View NFS share |
showmount -e mount |
|||
Configure NFS share |
/etc/exports service nfs reload |
/etc/exports systemctl reload nfs.service |
||
Configure on-demand auto-mounts |
/etc/auto.master.d/*.autofs /etc/auto.* |
|||
Change file permissions |
chmod chown chgrp umask (future file creation) |
|||
Change file attributes | chattr | |||
Change access control list | setfacl |
Networking
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Configure name resolution |
/etc/hosts /etc/resolv.conf |
/etc/hosts /etc/resolv.conf nmcli con mod |
||
Configure hostname | /etc/sysconfig/network |
hostnamectl /etc/hostname nmtui |
||
View network interface info |
ip addr ifconfig brctl |
ip addr nmcli dev show teamdctl brctl bridge |
||
Configure network interface | /etc/sysconfig/network-scripts/ifcfg-* |
/etc/sysconfig/network-scripts/ifcfg-* nmcli con [add|mod|edit] nmtui nm-connection-editor |
||
View routes | ip route | |||
Configure routes |
ip route add system-config-network /etc/sysconfig/route-iface |
ip route add nmcli nmtui nm-connection-editor /etc/sysconfig/route-iface |
||
Configure firewall |
iptables and ip6tables /etc/sysconfig/ip*tables |
iptables and ip6tables /etc/sysconfig/ip*tables system-config-firewall |
firewall-cmd firewall-config |
firewall-cmd firewall-config nftables |
View ports/sockets |
ss lsof netstat |
ss lsof netstat |
ss lsof netstat pcp-dstat --socket |
Security and identity
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Configure system security |
/etc/selinux/config chcon restorecon semanage setsebool system-config-selinux |
|||
Report on system security | sealert | |||
LDAP, SSSD, Kerberos |
authconfig authconfig-tui authconfig-gtk |
authselect | ||
Network users | getent |
Resource management
Task | RHEL5 | RHEL6 | RHEL7 | RHEL8 |
---|---|---|---|---|
Trace system calls | strace | |||
Trace library calls | ltrace | |||
Change process priority | nice renice |
|||
Change process run location | taskset | |||
Kill a process |
kill pkill killall |
|||
View system usage |
top ps sar iostat netstat vmstat mpstat numastat |
top ps sar iostat netstat ss vmstat mpstat numastat tuna |
top ps sar iostat ss vmstat mpstat numastat tuna |
pcp atop top ps sar iostat ss vmstat mpstat numastat tuna |
View disk usage | df |
df iostat |
pcp-dstat pmiostat df iostat |
-
Be aware of potential issues when using subscription-manager on Red Hat Enterprise Linux 5: https://access.redhat.com/solutions/129003. ↩
-
subscription-manager is used for Satellite 6, Satellite 5.6 with SAM and newer, and Red Hat's CDN.
↩ -
RHN tools are deprecated on Red Hat Enterprise Linux 7. rhn_register should be used for Satellite server 5.6 and newer only. For details, see: What's the difference between management services provided by Red Hat Network (RHN) Classic and Red Hat Customer Portal Subscription Management/RHSM?, Transition of Red Hat Network Classic Hosted to Red Hat Subscription Management, and Satellite 5.6 unable to register RHEL 7 client system due to rhn-setup package not included in Minimal installation. ↩
72 Comments
A quick update to let you all know that a printable poster of these commands is now available under Attachments.
Ms. Bailey,
Does the copyright on the poster allow the .pdf to be distributed? When I transition to 7 I'm going to hang copies in my computer labs, but knowing the students they're going to ask for copies of the file.
David Winters
Hi David, unfortunately the copyright does not allow that, but let me see what I can wrangle for you.
Hello,
Any update, what are the license of theses documents (page and pdf)
Can i hand out copy of them ?
Can i use them for teaching purpose ?
Thanks for the feedback
Hi Thomas, at present the license does not allow copying or use for teaching purposes, as this is available only to subscribers. I've passed on the request, though, so please stay tuned.
Hi Thomas, just letting you know that we've made this publicly available -- so, while you still can't technically copy it for teaching purposes, you can certainly link your students to this page, and they should be able to see it now that a subscription is not required. Hope this helps!
Very helpful for me. Liked the poster, too. Thanks!
Why lot many differences in RHEL7 ?
i like to study it soon
Thanks for the document, very helpful for my team.
Thanks for putting this together. Very useful. Thanks for sharing.
Thanks for this, always great having a quick reference guide!
Any chance of the printable document being in a 2 page format? Unless you have an A2 printer its a little small to read.
One of our graphic designers is working on some more compact versions as I type; I'll see what we can wrangle.
Many thanks. The exact same format would be perfect, just in 2 pages it then fits perfectly on 2x a3 pages.
Hi Warren, our graphic designer is still working on a split-page version, but I wanted to let you know that the poster has been updated and should now be a little easier to read on a single A3 page. It should also split a little more nicely over two pages if you do need it larger. :) I'll let you know when a multi-page option is available.
Hi Warren, just letting you know that there's a multi-page version available now — it was designed for A3, but it'll still work just fine at A4. :)
Lot of Changes in RHEL7 Commands . Need to go through the referance guide and start learn it right now
Thanks for the Great reference sheet
Thanks
thank you very much!
scared about RHEL7!
helpfull to bootstrap RHEL 7, thanks
Wow, that's a lot of changes. Anybody ever consider that if you need to create a knowledgebase article and a reference poster to go from one version of RHEL to another that you may be changing too many things too drastically? That's when stable and dependable products become unreliable.
These are not all changes which Red Hat pushed. Keep in mind: when you use any Linux distribution, you're benefiting from countless man hours of work contributed by countless members of various communities. We at Red Hat would not be able to make RHEL on our own; it's made up of hundreds and hundreds of projects which, over time, evolve and change.
I understand that a lot of these changes came from upstream, but surely Red Hat has a lot of clout in the community to nudge the direction of things at least. There are still a few distributions going their own way when the upstream changes are unpopular with their communities, and Red Hat is in a unique position with more resources than many of these. For one example, look to the very short-lived existence of upstart. I'm not sure what happened behind the scenes there, but Red Hat's implementation was very non-intrusive and wholly backwards compatible with SysV init to the extent that you could run a RHEL server and not even realize that upstart was there. Now it's been tossed to the side as quickly as it appeared.
From what I've seen/heard of 8, I'm questioning if Red Hat has lost the script. It's been my preferred enterprise distro for years because it did what it does very well with rock solid dependability and a core focus. Maybe its time to split into a few products and introduce a RHEL Classic with all the flavour your remember from way back when.
I hear you John. While I wasn't in a position to make any decisions regarding RHEL7, I have been using Fedora on my personal systems for years and years so none of these changes came as a shock to me; however, I have many colleagues (sysadmins or not) who have expressed similar feelings about RHEL7.
As a sysadmin, support tech, and teacher-trainer, I'm always focused on learning new things -- grow or die, IMHO -- but I know many people just want to get on with their jobs and their lives. That said, in dealing with my colleagues, so far, not one of them has held on to their scepticism about a particular RHEL7 component (e.g., systemd, firewalld, grub2, new-anaconda, targetcli, NetworkManager) once they've actually taken the time to learn about the how/what/why of it.
Of course the natural response to my statement might be "but we don't want/have the time!" ... To which I can only say: RHEL6 isn't going anywhere.
PS regarding upstart in RHEL6: I can see why you'd say that Red Hat's implementation was non-intrusive -- after all we kept the whole SysV init rc structure completely intact! Keep in mind however that in doing so we didn't take advantage of any of the job-control or event-based parallelization features upstart had to offer. It was great that most people didn't have to learn anything new, but most people also didn't notice any improvement over init from RHEL5.
...and this is a handy chart/poster. I'm just amazed that it's necessary.
Thank you for your efforts --
However, it is a absurd waste of systems administrators time to learn all new commands to do same-old same-old tasks. Clearly Red Hat leadership in User Experience is absent for those customers committed to managing Red Hat environments. For this effort, does it mean RHEL 7 will deliver 400% productivity improvement? Otherwise, it will delay moves to RHEL 7 or changes in platforms.
On the plus side, this documentation -- both in this format and the PDF poster size was done very weel. It certainly will allow anyone who uses their own automation scripts and tools to discover the command line equivalents quickly and update their scripts to avoid the very commands being replaced and their new replacements.
P.S. The 27" x 36" = 7 sq foot and depending on the FedEx/Kinko's will cost $5.25 to print out ($0.75/sq foot).
Far too many command changes in RHEL 7. Its very annoying. i.e ifconfig doesn't exist.
For 20 years I have been using ifconfg. why change it.
Its very very annoying.
For the record,
ifconfig
is still fully-available in RHEL7 (What happened to ifconfig in RHEL 7?); however, it was deprecated years ago (in the the RHEL5 days) in favor ofip
. Feel free to keep usingifconfig
until it no longer works for you (e.g., until you have a system whose interfaces have multiple non-alias IP addresses, whichifconfig
has never been able to see).Thank you for this very well documented quick cheat sheet, it is really appreciated. It will be handy soon when we are to go to RHEL 7.
I have a request however, would it be possible to have this document also in a printable format, the way it currently is showing here above, but one that can actually download so that it would be easily referred to when we do not have access to the web? The printable poster version is really nice as well, but our multi-function printer can only support up to 11" x 17" and even at that size the print is really small to read!
Thank you again, it is really appreciated.
Hi Elie, our graphic designer is looking into a 2-3 page version that could be printed on more common paper sizes; I'll update this article when it becomes available.
Thank you very much Laura for looking into this for us, it is really appreciated.
Hi Elie, just letting you know that Jess Schaefer has updated the poster so that it doesn't require quite as much space.Let us know what you think!
Thank you Laura and Jess for updating the poster, it looks great, and I was able to successfully print it on 8.5" x 11" paper without a problem.
Thank you again for all your help with this, this document will be very handy going on to RHEL 7.
Hi Elie, just checking back to let you know that the multi-page version of the 'poster' is now available. Let us know what you think!
Thank you Laura, it looks great, it is really appreciated.
Hi Laura,
Thanks for providing the updated version. I was able to print the A3 version using 'Fit' option from Adobe Acrobat to normal 8.5 x 11 paper.
While there is certainly a need for A4, A3 and other metric standards, why isn't there an equal need for Red Hat to provide a standard US Letter and/or US Legal format?
The tough thing about Excellence is thinking it through and getting it right.
That's a good point, Larry. We can probably resize the A3 poster so that it's good to print on both A3 and US Tabloid (11x17), and can scale down nicely for A4 and US Letter/Legal. Let me check with Jess on that and I'll get back to you.
Very Nice document, helpful in quickly understand & learning.
Thank you.
A print this page button would be awesome, so that we can get a nicely formatted view of this.
There is an attached printable poster in PDF format which is good enough as a reminder.
Agreed; I've come across this as a useful addition a few times. I'll talk to the Portal team about it.
Just letting you know that there's now a multi-page version of the 'poster', so you can download and print a nicely formatted version at home. This should work nicely on A3 and A4.
Users should not edit /etc/sudoers directly! They should run visudo instead.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/chap-Security_Guide-General_Principles_of_Information_Security.html
Good point, thanks for the catch.
The attached PDF poster has not been updated about visudo usage.
Updates on the PDF will be a few days behind updates to the article itself, but should be on their way shortly.
Good morning Laura,
Thanks for taking the time and being responsive to input to make the multiple PDF versions. The initial investment to making each format will have so many of us OCD types from re-formatting the same material to a locally useable size before we can even review it 8^) Seriously, I made a suggestion and thank you and the Red Hat team for taking such a helpful document and putting into a format everyone can use and focus on right away (to her or his liking).
Glad to help, Larry. :) Most of the credit here goes to our fabulous designer Jess Schaefer.
Mike, Alessandro, the poster has been updated with visudo instead of /etc/sudoers now; thanks again for the catch on this.
Thanks, Laura!
Thanks Laura. This is helpful.
Many commands are missed in RHEL6?
Hi Nilaj,
If there are any commands you want added, just let me know, and I'll see about getting them added.
I think you might be talking about the commands that are the same in RHEL 5 and RHEL 6, though — the current Portal style doesn't include vertical table dividers. I have a bug raised to help with this, but in the mean time, check out the downloadable PDF files — I think these are much clearer at the moment.
Cheers,
Laura B
Hi Laura,
I don't know if you are still getting these comments, but I would like to way in. Thanks for the posters by the way. They are very helpful. I've been using Fedora as a desktop since Fedora 12 and liked it from the start. I've also used RHEL4 and up in production environments over the years. Both OSes have some interesting features and I know that that there are a lot of software contributors to their development.
When you start to taking things from a desktop OS and implementing them on a server OS, you might be asking for trouble. Microsoft found out the hard way (ie., Start Menu) that wasn't the best idea. In my experience a desktop OS and server OS should not be mixed.
A server has one purpose....To serve.... It is not a desktop.
I know that things need to change, but changing things just because somebody didn't like the way it was in RHEL5/6 for the sake of change to me doesn't make sense. You mentioned in a previous post that things need to evolve. I agree, but part of evolution is learning that somethings don't work and aren't as efficient as some might think. I know that RHEL7 is still an infant yet and still has some maturing to do.
Cheers,
Hi Doug,
Glad you're finding the posters useful. I think the comment on evolution was actually from another Red Hatter, but to your point: I agree! For a change to stick, it needs to be useful to the rest of the 'organism' — or in this case, its users.
Is there anything you're finding particularly difficult (or nonsensical) to adjust to?
Cheers,
Laura B
The command 'grub-set-default' does not exist in RHEL7. The proper command should be 'grub2-set-default'.
All the possible resources for sys admin can be found under RH's documentation or in the knowledgebase, but we could use a directory w/ quick links for the pdf's. But mostly the whole documentation is sooooo nifty!
Is it mandatory to evaluate the OS versions for using knowledgebase? Anyone has any idea of a RH archive with technical documentation?
Tnx all!
Until RH gets a coherent administrative tool like YAST then this is absolutely necessary. Thanks. Hopefully for not much longer.
Hello,
In the attachment "rhel_5_6_7_cheatsheet_a4_1114_jcs.pdf" on the last page is the command "systemctl shutdown" mentioned for RHEL 7. But this command is not available in at least RHEL 7.2.
Maybe this error could be corrected.
Kind regards, Joerg
Jörg thanks for the note, good catch. We'll queue up a correction to show which versions of RHEL support the "poweroff" command.
This an awesome straight forward cheat sheet...
helpful
lshw package is also in rhel-7-server-rpms channel
Very informative and interesting
lshw is part of the rhel-7-server-rpms repository, you do not need EPEL anymore on RHEL 7.
Hi Laura,
Can we expect a printable poster ones RHEL 8 has become GA?
Regards,
Jan Gerrit
Hi Jan! I'm no longer on that docs team, but I know that they are aware of this and keen to get RHEL8 details added - not sure if it will happen for GA, though. I'll see if I can get someone from the team to respond with more information. :)
Just in case you're not getting updates on this document, the RHEL8 details have been added! Not sure when you can expect the printed posters but I'm sure they're in progress.
Hello Laura,
Thank you for the update.
A printable poster would be great. Hope it would be available when RHEL8 GA is going to be released.
Thanks,
Joerg
+1 for updating the attachments to include RHEL 8
Thanks for the attachments. Unfortunately the links are broken ... they point to the old version "rhel_5_6_7_cheatsheet_XXXXX_0417.pdf".
Pages