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 usage examples, and how they help developers and system administrators efficiently manage processes, files, and system resources.

Efficient Ops
Efficient Ops
Efficient Ops
10 Essential Linux Commands Every Developer Should Master

According to the speaker, 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 enterprises are choosing Linux for servers, making it essential for learners to understand Linux fundamentals.

01 pgrep

The pgrep command, related to processes, lists process IDs matching a pattern. $ pgrep -u hchen22441 22444 This is equivalent to:

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

02 pstree

pstree

displays processes 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
     |         |-kjournald*6
     |         |-kmirrord
     |         |-kpsmoused
     |         |-kseriod
     |         |-kswapd0
     |         |-pdflush*2
     |         |-scsi_eh_0
     |         |-scsi_eh_1
     |         |-xenbus
     |         `-xenwatch
     |-migration/0
     |-migration/1
     |-mingetty*6
     |-multilog*3
     |-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
     |                     `-supervise*-2[tcpserver]
     |-syslogd
     |-udevd
     |-watchdog/0
     |-watchdog/1
     -xinetd

03 bc

bc

provides high‑precision arithmetic, such as calculating 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

Usage:

[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 Apr 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 May 10 18:34 LF_aa
-rw-r--r-- 1 hchen hchen 52428800 May 10 18:34 LF_ab
... (other parts) ...
-rw-r--r-- 1 hchen hchen 17344374 May 10 18:35 LF_ai

Recombine with:

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

05 nl

nl

numbers lines of a file, similar to 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.

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

Write to the pipe (blocks until read): [hchen@RHELSVR5 ~]# ls -al > /tmp/hchenpipe Read from another shell to unblock:

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

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) ...

08 col

col

converts man page output 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.xmlcocre.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 10767 hchen 3u IPv6 160731956 TCP 210.51.0.232->123.117.239.68:31810 (ESTABLISHED)

Source: WeChat 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.

linuxShellcommand-lineUnix
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

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.