Operations 11 min read

10 Essential Linux Commands Every Developer Should Master

This guide introduces ten fundamental Linux commands—pgrep, pstree, bc, split, nl, mkfifo, ldd, col, xmlwf, and lsof—explaining their purposes, typical use‑cases, and providing clear code examples to help developers and sysadmins work more efficiently on Linux systems.

Open Source Linux
Open Source Linux
Open Source Linux
10 Essential Linux Commands Every Developer Should Master

According to Lao Jiu Master, Linux is the most suitable operating system for development because it gives users full control, offering openness, freedom, and honesty, which are its greatest charms.

More and more enterprises are choosing Linux as their server platform, making it essential for learners to understand Linux fundamentals.

Below are ten useful Linux commands that help you grasp key Linux features more deeply.

01 pgrep

The pgrep command lists process IDs that match a given pattern, similar to combining ps, egrep, and awk. $ pgrep -u hchen22441 22444 This is equivalent to:

ps -ef | egrep '^hchen' | awk '{print $2}'

02 pstree

pstree

displays the process hierarchy in a tree format.

hchen@RHELSVR5 ~]$ pstree
init-+-acpid
     |-auditd-+-python
     |        `-{auditd}
     |-automount---4*[{automount}]
     |-backup.sh---sleep
     |-dbus-daemon
     |-events/0
     |-events/1
     |-hald---hald-runner---hald-addon-acpi
     |-httpd---10*[httpd]
     |-irqbalance
     |-khelper
     |-klogd
     |-ksoftirqd/0
     |-ksoftirqd/1
     |-kthread-+-aio/0
     |         |-aio/1
     |         |-ata/0
     |         |-ata/1
     |         |-ata_aux
     |         |-cqueue/0
     |         |-cqueue/1
     |         |-kacpid
     |         |-kauditd
     |         |-kblockd/0
     |         |-kblockd/1
     |         |-kedac
     |         |-khubd
     |         |-6*[kjournald]
     |         |-kmirrord
     |         |-kpsmoused
     |         |-kseriod
     |         |-kswapd0
     |         |-2*[pdflush]
     |         |-scsi_eh_0
     |         |-scsi_eh_1
     |         |-xenbus
     |         `-xenwatch
     |-migration/0
     |-migration/1
     |-6*[mingetty]
     |-3*[multilog]
     |-mysqld_safe---mysqld---9*[{mysqld}]
     |-smartd
     |-sshd---sshd---sshd---bash---pstree
     |-svscanboot---svscan-+-3*[supervise---run]
     |                     |-supervise---qmail-send-+-qmail-clean
     |                     |                        |-qmail-lspawn
     |                     |                        `-qmail-rspawn
     |                     `-2*[supervise---tcpserver]
     |-syslogd
     |-udevd
     |-watchdog/0
     |-watchdog/1
     |-xinetd

03 bc

bc

is a high‑precision calculator useful for mathematical operations such as square roots. Example script sqrt:

#!/bin/bash
if [ $# -ne 1 ]
then
    echo 'Usage: sqrt number'
    exit 1
else
    echo -e "sqrt($1)
quit
" | bc -q -i
fi

Running the script:

[hchen@RHELSVR5]$ ./sqrt 36
6
[hchen@RHELSVR5]$ ./sqrt 2.0000
1.4142
[hchen@RHELSVR5]$ ./sqrt 10.0000
3.1622

04 split

split

divides a large file into smaller pieces.

[hchen@RHELSVR5 applebak]# ls -l largefile.tar.gz
-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz

[hchen@RHELSVR5 applebak]# split -b 50m largefile.tar.gz LF_

[hchen@RHELSVR5]# ls -l LF_*
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab
... (other parts) ...
-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai

To recombine the parts:

[hchen@RHELSVR5]# cat LF_* > largefile.tar.gz

05 nl

nl

works like cat but adds line numbers.

[hchen@RHELSVR5 include]# nl stdio.h | head -n 10
     1  /* Define ISO C stdio on top of C++ iostreams.
     2  Copyright (C) 1991,1994-2004,2005,2006 Free Software Foundation, Inc.
     3  This file is part of the GNU C Library.
     4  The GNU C Library is free software; you can redistribute it and/or
     5  modify it under the terms of the GNU Lesser General Public
     6  License as published by the Free Software Foundation; either
     7  version 2.1 of the License, or (at your option) any later version.
     8  The GNU C Library is distributed in the hope that it will be useful,
     9  ...

06 mkfifo

mkfifo

creates a named pipe (FIFO). Example:

[hchen@RHELSVR5 ~]# mkfifo /tmp/hchenpipe

[hchen@RHELSVR5 ~]# ls -l /tmp
prw-rw-r-- 1 hchen hchen 0 05-10 18:58 hchenpipe

Writing to the pipe (will block until read): [hchen@RHELSVR5 ~]# ls -al > /tmp/hchenpipe Reading from another terminal:

[hchen@RHELSVR5 ~]# head /tmp/hchenpipe
drwx------ 8 hchen hchen 4096 05-10 18:27 .
... (listing output) ...

07 ldd

ldd

shows the shared libraries required by an executable.

[hchen@RHELSVR5 ~]# ldd /usr/bin/java
linux-gate.so.1 => (0x00cd9000)
libgij.so.7rh => /usr/lib/libgij.so.7rh (0x00ed3000)
libgcj.so.7rh => /usr/lib/libgcj.so.7rh (0x00ed6000)
libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000)
... (other libraries) ...
/lib/ld-linux.so.2 (0x00214000)

08 col

col

converts man pages to plain text.

# PAGER=cat man less | col -b > less.txt

09 xmlwf

xmlwf

validates an XML document.

[hchen@RHELSVR5 ~]# curl 'https://coolshell.cn/?feed=rss2' > cocre.xml
... (download output) ...
[hchen@RHELSVR5 ~]# xmlwf cocre.xml
[hchen@RHELSVR5 ~]# perl -i -pe 's@<link>@<br>@g' cocre.xml
[hchen@RHELSVR5 ~]# xmlwf cocre.xml
cocre.xml:13:23: mismatched tag

10 lsof

lsof

lists open files and the processes using them.

[root@RHELSVR5 ~]# lsof | grep TCPhttpd
548    apache    4u   IPv6 14300967 TCP *:http (LISTEN)
... (other entries) ...
sshd    10735  root    3u   IPv6 160731956 TCP 210.51.0.232:ssh->123.117.239.68:31810 (ESTABLISHED)

Source: Lao Jiu Classroom public account.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

UnixSystem AdministrationBashcommand-line
Open Source Linux
Written by

Open Source Linux

Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.