Operations 11 min read

10 Essential Linux Commands Every Developer Should Master

This tutorial 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 on Linux.

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.

More enterprises are adopting Linux for servers, making it essential for learners to understand its features.

This article collects ten useful Linux commands to help readers deepen their understanding of Linux.

01 pgrep

pgrep lists process IDs matching a pattern, similar to using ps -ef | egrep '^hchen' | awk '{print $2}'.

$ pgrep -u hchen22441 22444

02 pstree

pstree displays the process hierarchy as a tree.

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 provides high‑precision arithmetic, useful for calculations like square roots. Below is a simple script named sqrt that uses bc.

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

Example usage:

$ ./sqrt 36
6
$ ./sqrt 2.0000
1.4142
$ ./sqrt 10.0000
3.1622

04 split

split divides a large file into smaller pieces.

$ ls -l largefile.tar.gz
-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz
$ split -b 50m largefile.tar.gz LF_
$ 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:

$ cat LF_* > largefile.tar.gz

05 nl

nl numbers the lines of a file, similar to cat but adds line numbers.

$ 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) for inter‑process communication.

$ mkfifo /tmp/hchenpipe
$ ls -l /tmp
prw-rw-r-- 1 hchen hchen 0 05-10 18:58 hchenpipe

Writing to the pipe blocks until another process reads from it: $ ls -al > /tmp/hchenpipe # blocks Reading from the pipe in another terminal releases the block:

$ head /tmp/hchenpipe
... (output of ls -al) ...

07 ldd

ldd shows the shared libraries required by an executable.

$ 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)
    librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x009c8000)
    libdl.so.2 => /lib/libdl.so.2 (0x008b5000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00bee000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00aa7000)
    libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x0022f000)
    libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00127000)
    /lib/ld-linux.so.2 (0x00214000)

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, reporting any malformed tags.

$ curl 'https://coolshell.cn/?feed=rss2' > cocre.xml
$ xmlwf cocre.xml
$ perl -i -pe 's@<link>@<br>@g' cocre.xml
$ xmlwf cocre.xmlcocre.xml:13:23: mismatched tag

10 lsof

lsof lists open files and the processes using them.

$ lsof | grep TCPhttpd
548    apache    4u   IPv6 14300967 TCP *:http (LISTEN)
... (other entries) ...
11095  root    3u   IPv4 152157957 TCP *:ftp (LISTEN)
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.

Shellcommand-lineUnixSystem Administration
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.