Bash shell commands for Linux

My useful crib-list of Bash shell commands for Linux

adduser  Add a user to the system
addgroup Add a group to the system
alias    Create an alias
apropos  Search Help manual pages (man -k)
apt-get  Search for and install software packages (Debian/Ubuntu)
aptitude Search for and install software packages (Debian/Ubuntu)
aspell   Spell Checker
awk      Find and Replace text, database sort/validate/index

basename Strip directory and suffix from filenames
bash     Bourne-Again SHell
bc       Arbitrary precision calculator language
bg       Send to background
break    Exit from a loop
builtin  Run a shell builtin
bzip2    Compress or decompress named file(s)
cal      Display a calendar
case     Conditionally perform a command
cat      Display the contents of a file
cd       Change Directory
cfdisk   Partition table manipulator for Linux
chgrp    Change group ownership
chmod    Change access permissions
chown    Change file owner and group
chroot   Run a command with a different root directory
chkconfig System services (runlevel)
cksum    Print CRC checksum and byte counts
clear    Clear terminal screen
cmp      Compare two files
comm     Compare two sorted files line by line
command  Run a command – ignoring shell functions
continue Resume the next iteration of a loop
cp       Copy one or more files to another location
cron     Daemon to execute scheduled commands
crontab  Schedule a command to run at a later time
csplit   Split a file into context-determined pieces
cut      Divide a file into several parts
date     Display or change the date & time
dc       Desk Calculator
dd       Convert and copy a file, write disk headers, boot records
ddrescue Data recovery tool
declare  Declare variables and give them attributes
df       Display free disk space
diff     Display the differences between two files
diff3    Show differences among three files
dig      DNS lookup
dir      Briefly list directory contents
dircolors Colour setup for `ls’
dirname  Convert a full pathname to just a path
dirs     Display list of remembered directories
dmesg    Print kernel & driver messages
du       Estimate file space usage
echo     Display message on screen
egrep    Search file(s) for lines that match an extended expression
eject    Eject removable media
enable   Enable and disable built in shell commands
env      Environment variables
ethtool  Ethernet card settings
eval     Evaluate several commands/arguments
exec     Execute a command
exit     Exit the shell
expect   Automate arbitrary applications accessed over a terminal
expand   Convert tabs to spaces
export   Set an environment variable
expr     Evaluate expressions
false    Do nothing, unsuccessfully
fdformat Low-level format a floppy disk
fdisk    Partition table manipulator for Linux
fg       Send job to foreground
fgrep    Search file(s) for lines that match a fixed string
file     Determine file type
find     Search for files that meet a desired criteria
fmt      Reformat paragraph text
fold     Wrap text to fit a specified width.
for      Expand words, and execute commands
format   Format disks or tapes
free     Display memory usage
fsck     File system consistency check and repair
ftp      File Transfer Protocol
function Define Function Macros
fuser    Identify/kill the process that is accessing a file

gawk     Find and Replace text within file(s)
getopts  Parse positional parameters
grep     Search file(s) for lines that match a given pattern
groups   Print group names a user is in
gzip     Compress or decompress named file(s)
hash     Remember the full pathname of a name argument
head     Output the first part of file(s)
help     Display help for a built-in command
history  Command History
hostname Print or set system name
id       Print user and group id’s
if       Conditionally perform a command
ifconfig Configure a network interface
ifdown   Stop a network interface
ifup     Start a network interface up
import   Capture an X server screen and save the image to file
install  Copy files and set attributes
jobs     List active jobs •
join     Join lines on a common field
kill     Stop a process from running
killall  Kill processes by name
less     Display output one screen at a time
let      Perform arithmetic on shell variables
ln       Make links between files
local    Create variables •
locate   Find files
logname  Print current login name
logout   Exit a login shell
look     Display lines beginning with a given string
lpc      Line printer control program
lpr      Off line print
lprint   Print a file
lprintd  Abort a print job
lprintq  List the print queue
lprm     Remove jobs from the print queue
ls       List information about file(s)
lsof     List open files
make     Recompile a group of programs
man      Help manual
mkdir    Create new folder(s)
mkfifo   Make FIFOs (named pipes)
mkisofs  Create an hybrid ISO9660/JOLIET/HFS filesystem
mknod    Make block or character special files
more     Display output one screen at a time
mount    Mount a file system
mtools   Manipulate MS-DOS files
mtr      Network diagnostics (traceroute/ping)
mv       Move or rename files or directories
mmv      Mass Move and rename (files)
netstat  Networking information
nice     Set the priority of a command or job
nl       Number lines and write files
nohup    Run a command immune to hangups
notify-send  Send desktop notifications
nslookup Query Internet name servers interactively
open     Open a file in its default application
op       Operator access
passwd   Modify a user password
paste    Merge lines of files
pathchk  Check file name portability
ping     Test a network connection
pkill    Stop processes from running
popd     Restore the previous value of the current directory
pr       Prepare files for printing
printcap Printer capability database
printenv Print environment variables
printf   Format and print data
ps       Process status
pushd    Save and then change the current directory
pwd      Print Working Directory
quota    Display disk usage and limits
quotacheck Scan a file system for disk usage
quotactl Set disk quotas
ram      ram disk device
rcp      Copy files between two machines
read     Read a line from standard input
readarray Read from stdin into an array variable
readonly Mark variables/functions as readonly
reboot   Reboot the system
rename   Rename files
renice   Alter priority of running processes
remsync  Synchronize remote files via email
return   Exit a shell function
rev      Reverse lines of a file
rm       Remove files
rmdir    Remove folder(s)
rsync    Remote file copy (Synchronize file trees)
screen   Multiplex terminal, run remote shells via ssh
scp      Secure copy (remote file copy)
sdiff    Merge two files interactively
sed      Stream Editor
select   Accept keyboard input
seq      Print numeric sequences
set      Manipulate shell variables and functions
sftp     Secure File Transfer Program
shift    Shift positional parameters
shopt    Shell Options
shutdown Shutdown or restart linux
sleep    Delay for a specified time
slocate  Find files
sort     Sort text files
source   Run commands from a file
split    Split a file into fixed-size pieces
ssh      Secure Shell client (remote login program)
strace   Trace system calls and signals
su       Substitute user identity
sudo     Execute a command as another user
sum      Print a checksum for a file
suspend  Suspend execution of this shell
symlink  Make a new name for a file
sync     Synchronize data on disk with memory
tail     Output the last part of files
tar      Tape ARchiver
tee      Redirect output to multiple files
test     Evaluate a conditional expression
time     Measure Program running time
times    User and system times
touch    Change file timestamps
top      List processes running on the system
traceroute Trace Route to Host
trap     Run a command when a signal is set(bourne)
tr       Translate, squeeze, and/or delete characters
true     Do nothing, successfully
tsort    Topological sort
tty      Print filename of terminal on stdin
type     Describe a command
ulimit   Limit user resources
umask    Users file creation mask
umount   Unmount a device
unalias  Remove an alias
uname    Print system information
unexpand Convert spaces to tabs
uniq     Uniquify files
units    Convert units from one scale to another
unset    Remove variable or function names
unshar   Unpack shell archive scripts
until    Execute commands (until error)
useradd  Create new user account
usermod  Modify user account
users    List users currently logged in
uuencode Encode a binary file
uudecode Decode a file created by uuencode
v        Verbosely list directory contents (`ls -l -b’)
vdir     Verbosely list directory contents (`ls -l -b’)
vi       Text Editor
vmstat   Report virtual memory statistics
watch    Execute/display a program periodically
wc       Print byte, word, and line counts
whereis  Search the user’s $path, man pages and source files for a program
which    Search the user’s $path for a program file
while    Execute commands
who      Print all usernames currently logged in
whoami   Print the current user id and name (`id -un’)
Wget     Retrieve web pages or files via HTTP, HTTPS or FTP
write    Send a message to another user
xargs    Execute utility, passing constructed argument list(s)
xdg-open Open a file or URL in the user’s preferred application.

yes      Print a string until interrupted
.        Run a command script in the current shell
###      Comment or Remark


Linux and unix shell jokes

Unix c shell jokes for when you’re having a bad day and need a boost.  Some I have modded, some are lying round on post-it notes, some I have been sent by people who know me.

PCRMB Mantra: You don’t have to be a geek to work here but it helps…..

% rm google-ethics
rm: google-ethics nonexistent
% ar m God
ar: God does not exist
% “How would you rate your incompetence?
Unmatched “.
% ^How did the sex changeSHIFT6 operation go?
Modifier failed.

Note: replace the SHIFT6 above with ^

% make love
Make: Don’t know how to make love. Stop.
% sleep with me
bad character
% got a light?
No match.
% man: why did you get a divorce?
man:: Too many arguments.
% ^What is saccharine?
Bad substitute.
% %blow
%blow: No such job.

% If I had a ( for every $ my wife spends,what would I have?
Too many (‘s.

Here’s a few Bourne shell classics:

$ PATH=pretending! /usr/ucb/which sense
no sense in pretending!
$ drink < bottle ; opener
bottle: cannot open
opener: not found
$ mkdir matter; cat >matter
matter: cannot create

Any more to help while away the hours?