You are on page 1of 43

Linux

CLU Commands And How To Use


Them
by Dayton Thomas

Table of Contents

1. Linux Commands and How To Use
Them
2. SYM
3. A
4. B
5. C
6. D
7. E
8. F
9. G
10. H
11. I
12. J
13. K
14. L

15. M
16. N
17. O
18. P
19. Q
20. R
21. S
22. T
23. U
24. V
25. W
26. X
27. Y
28. Z
29. INTERVIEW PRACTICE TEST
30. Note From Author

1. Linux Commands and How To Use


Them

Linux Commands and How To Use Them


WITH INTERVIEW READY QUESTIONS
Author: Dayton Thomas

2. SYM

SYM
. Run a command script in the current shell
!! Run the last command again
### Comment / Remark

3. A

A
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

4. B

B
basename Strip directory and suffix from filenames
bash GNU Bourne-Again SHell
bc Arbitrary precision calculator language
bg Send to background
bind Set or display readline key and function bindings
break Exit from a loop
builtin Run a shell builtin
bzip2 Compress or decompress named file(s)

5. C

C
cal Display a calendar
case Conditionally perform a command
cat Concatenate and print (display) the content of files
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
curl Transfer data from or to a server
cut Divide a file into several parts

6. D

D
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

7. E

E
echo Display message on screen
egrep Search file(s) for lines that match an extended expression
eject Eject removable media
enable Enable and disable builtin 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

8. F

F
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

9. G

G
gawk Find and Replace text within file(s)
getopts Parse positional parameters
grep Search file(s) for lines that match a given pattern
groupadd Add a user security group
groupdel Delete a group
groupmod Modify a group
groups Print group names a user is in
gzip Compress or decompress named file(s)

10. H

H
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
htop Interactive process viewer

11. I

I
iconv Convert the character set of a file
id Print user and group ids
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
ip Routing, devices and tunnels

12. J

J
jobs List active jobs
join Join lines on a common field

13. K

K
kill Kill a process by specifying its PID
killall Kill processes by name

14. L

L
less Display output one screen at a time
let Perform arithmetic on shell variables
link Create a link to a file
ln Create a symbolic link to a file
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

15. M

M
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
most Browse or page through a text file
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)

16. N

N
nc Netcat, read and write data across networks
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

17. O

O
open Open a file in its default application
op Operator access

18. P

P
passwd Modify a user password
paste Merge lines of files
pathchk Check file name portability
ping Test a network connection
pkill Kill processes by a full or partial name.
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
pv Monitor the progress of data through a pipe
pwd Print Working Directory

19. Q

Q
quota Display disk usage and limits
quotacheck Scan a file system for disk usage

20. R

R
ram ram disk device
rar Archive files with compression
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)

21. S

S
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)
stat Display file or file system status
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
sync Synchronize data on disk with memory

22. T

T
tail Output the last part of file
tar Store, list or extract files in an archive
tee Redirect output to multiple files
test Evaluate a conditional expression
time Measure Program running time
timeout Run a command with a time limit
times User and system times
touch Change file timestamps
top List processes running on the system
tput Set terminal-dependent capabilities, color, position
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

23. U

U
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
unrar Extract files from a rar archive
unset Remove variable or function names
unshar Unpack shell archive scripts
until Execute commands (until error)
uptime Show uptime
useradd Create new user account
userdel Delete a user account
usermod Modify user account
users List users currently logged in
uuencode Encode a binary file
uudecode Decode a file created by uuencode

24. V

V
v Verbosely list directory contents (`ls -l -b)
vdir Verbosely list directory contents (`ls -l -b)
vi Text Editor
vmstat Report virtual memory statistics

25. W

W
wait Wait for a process to complete
watch Execute/display a program periodically
wc Print byte, word, and line counts
whereis Search the users $path, man pages and source files for a program
which Search the users $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

26. X

X
xargs Execute utility, passing constructed argument list(s)
xdg-open Open a file or URL in the users preferred application.
xz Compress or decompress .xz and .lzma files

27. Y

Y
yes Print a string until interrupted

28. Z

Z
zip Package and compress (archive) files.

29. INTERVIEW PRACTICE TEST


INTERVIEW PRACTICE TEST


Q:1 How would you go about checking the Memory stats and CPU stats ?

Answer: Using commands free or vmstat command you can display the physical and
virtual memory statistics respectively. With the help of the sar command we see the CPU
utilization and other stats.

Q:2 What does Sar provides and at which location Sar logs are stored ?

Answer: Sar Collects, reports, or saves system activity information. The default version of
the sar command (CPU utilization report) might be one of the first facilities the user runs
to begin system activity investigation, because it monitors major system resources. If
CPU utilization is near 100 percent (user + nice + system), the workload sampled is CPUbound.

By default log files of the Sar command is located at /var/log/sa/sadd file, where the dd
parameter indicates the current day.

Q:3 What is umask ?



Answer: umask stands for User file creation mask, which determines the settings of a
mask that controls which file permissions are set for files and directories when they are
created.

Q:4 How to share a directory using nfs ?



Answer: To share a directory using nfs , first edit the configuration file /etc/exportfs , add
a entry like
/<directory-name> <ip or Network>(Options) and then restart the nfs service.

Q:5 What is Network Bonding ?



Answer: Network bonding is the aggregation of multiple Lan cards into a single bonded
interface to provide fault tolerance and high performance. Network bonding is also known
as NIC Teaming.

Q:6 How to check default route and routing table ?



Answer: Using the Commands netstat -nr and route -n we can see the default route and
routing tables.

Q:7 How to enable a service at a particular run level ?



Answer: We can enable a service using the Command chkconfig <Service-Name> on
level 3

Q:8 How to add & change the Kernel parameters ?



Answer: To Set the kernel parameters in linux , first edit the file /etc/sysctl.conf after
making the changes save the file and run the command sysctl -p , this command will
make the changes permanently without rebooting the machine.

Q:9 What are manifests in Puppet ?



Answer: Manifests in Puppet are the files in which the client configuration is specified.

Q:10 What is load average in a linux ?



Answer: Load Average is defined as the average sum of the number of process waiting in
the run queue and number of process currently executing over the period of 1,5 and 15
minutes. Using the top and uptime command we find the load average of a linux sever.

Q:11 What is initrd image and what is its function in the linux booting process ?

Answer: The initial RAM disk (initrd) is an initial root file system that is mounted prior to
when the real root file system is available.The initrd is bound to the kernel and loaded as
part of the kernel boot procedure. The kernel then mounts this initrd as part of the twostage boot process to load the modules to make the real file systems available and get at
the real root file system. Thus initrd image plays a vital role in linux booting process.

Q:12 Explain the terms suid, sgid and sticky bit ?



Answer: In addition to the basic file permissions in Linux, there are few special
permissions that are available for executable files and directories.

SUID : If setuid bit is set, when the file is executed by a user, the process will have the
same rights as the owner of the file being executed.

SGID : Same as above, but inherits group previleges of the file on execution, not user
previleges. Similar way when you create a file within directory,it will inherit the group
ownership of the directories.

Sticky bit : Sticky bit was used on executables in linux so that they would remain in the
memory more time after the initial execution, hoping they would be needed in the near
future. But mainly it is on folders, to imply that a file or folder created inside a stickybit
enabled folder could only be deleted by the owner. A very good implementation of sticky
bit is /tmp ,where every user has write permission but only users who own a file can delete
them.

Q:13 List out few of the differences between Softlink and Hardlink
Answer:
a) Hardlink cannot be created for directories. Hard link can only be created for a file.

b) Symbolic links or symlinks can link to a directory.

c) Removing the original file that your hard link points to does not remove the hardlink
itself; the hardlink still provides the content of the underlying file.

d) If you remove the hard link or the symlink itself, the original file will stay intact.

e) Removing the original file does not remove the attached symbolic link or symlink, but
without the original file, the symlink is useless

Q:14 How do you sent a mail attachment via bash console ?


Answer: mutt is an opensource tool for sending emails with attachments from the linux
bash command line. We can install mutt from the binary rpm or via packagemanager.

For Ubuntu / Debian based destros.

# apt-get install mutt

For Redhat / Fedor based destros,

# yum install mutt

Usage :

# mutt -s Subject of Mail -a path of attachment file email address of recipient <
message text containing body of the message

Eg : mutt -s Backup Data -a /home/backup.tar.gz admin@mywebsite.com <
/tmp/message.txt

Q:15 What are the run levels in linux and how to change them ?
Answer: A run level is a state of init and the whole system that defines what system
services are operating and they are identified by numbers.There are 7 different run levels
present (run level 0-6) in Linux system for different purpose. The descriptions are given
below.

0: Halt System (To shutdown the system)
1: Single user mode
2: Basic multi user mode without NFS

3: Full multi user mode (text based)


4: unused
5: Multi user mode with Graphical User Interface
6: Reboot System

To change the run level, edit the file /etc/inittab and change initdefault entry (
id:5:initdefault:). If we want to change the run level on the fly, it can be done using init
command.

For example, when we type init 3 in the commandline , this will move the system from
current runlevel to runlevl 3. Current level can be listed by typing the command who -r

Q:16 What are inodes in Linux ? How to find the inode associated with a file ?
Answer: An inode is a data structure on a filesystem on Linux and other Unix-like
operating systems that stores all the information about a file except its name and its actual
data. When a file is created, it is assigned both a name and an inode number, which is an
integer that is unique within the filesystem. Both the file names and their corresponding
inode numbers are stored as entries in the directory that appears to the user to contain the
files. The concept of inodes is particularly important to the recovery of damaged
filesystems. When parts of the inode are lost, they appear in the lost+found directory
within the partition in which they once existed.

The following will show the name of each object in the current directory together with its
inode number:

# ls -i

The avialble number inodes in a filesystem can be found using the below command :

# df -i

The other way we can get the inode details of a file by using the stat commmand.

Usage : # stat <file name>

Example :

-sh-4.1$ stat note.txt
File: `note.txt
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd05h/64773d Inode: 8655235 Links: 1
Access: (0644/-rw-rr) Uid: (69548/nixuser) Gid: (25000/ UNKNOWN)
Access: 2014-06-29 15:27:56.299214865 +0000
Modify: 2014-06-29 15:28:28.027093254 +0000
Change: 2014-06-29 15:28:28.027093254 +0000

Q:17 Explain briefly a procedure for re-installing Grub in Linux ?


Answer:
1) Download Ubuntu Installation / Live cd

2) Boot from Ubuntu Installation / Live cd - usb, burned cd etc.
3) During boot select Try Ubuntu , Dont select install !
4) Mount your Linux root partition
sudo mount /dev/sda6 /mnt ( Assuming /dev/sda6 is the Linux root partition)
5) Install / reinstall grub
$ sudo grub-install root-directory=/mnt/ /dev/sda ( where /dev/sda is your primary disk)
Installation finished. No error reported.

6) Reboot your system, remove bootable CD and we should have the boot menu ready
when the system starts.

Q:18 Explain the fields in /etc/passwd and /etc/shadow ?
Answer: Here is the explanation of each field.

User name : Your login name

Password: Your encrypted password.


Last password change : Days since Jan 1, 1970 that password was last changed

Minimum: The minimum number of days required between password changes.

Maximum: The maximum number of days the password is valid.

Warn : The number of days before password is to expire that user is warned that his/her
password must be changed

Inactive : The number of days after password expires that account is disabled

Expire : days since Jan 1, 1970 that account is disabled. It indicates an absolute date
specifying when the login may no longer be used

The /etc/passwd file stores essential information, which is required during login
/etc/passwd is a text file, that contains a list of user account related parameters like user
ID, group ID, home directory, shell, etc.

Here is the sample entry from /etc/passwd file

steve:x:6902:6902::/home/steve:/bin/bash

Username: Users login name.

Password: An x character indicates that encrypted password is stored in /etc/shadow file.

User ID (UID): Each user must be assigned a user ID (UID). UID 0 (zero) is reserved for
root.

Group ID (GID): The primary group ID

User Info: The comment field. It allow you to add extra information about the user.


Home directory: The absolute path to the directory the user will be in when they log in.

Command/shell: The absolute path of a command or shell (/bin/bash).

Q:19 How do you boot your system into the following modes, when you are in some
trouble ?
Answer: a) Rescue mode
b) Single user mode
c) Emergency mode

Rescue mode provides the ability to boot a small Linux environment from an external
bootable device like a CD-ROM, or USB drive instead of the systems hard drive.Rescue
mode is provided to help you with your system from repairing the file system or fixing
certain issues which prevent your normal operations.

In order to get into the rescue mode, change the BIOS settings of the machine to boot from
the external media. Once the system started booting using bootable disk, add the keyword
rescue as a kernel parameter or else you can give the parameter linux rescue in the
graphical boot interface.

In single-user mode, the system boots to runlevel 1, but it will have many more additional
functionalities compared to switching to runlevel 1 from other levels.

The local file systems can be mounted in this mode, but the network is not activated.

Use the following steps to boot into single-user mode:

1) At the GRUB splash screen during the booting process, press any key to enter the
GRUB interactive menu.
2) Select the proper version of kernel that you wish to boot and type a to append the
line.
3) Go to the end of the line and type single as a separate word.
4) Press Enter to exit edit mode and type b to boot into single usermode now.

In emergency mode, you are booting into the most minimal environment possible. The
root file system is mounted read-only and almost nothing is set up. The main advantage of
emergency mode over single-user mode is that the init files are not loaded. If the init is
corrupted , you can still mount file systems to recover data that could be lost during a reinstallation. To boot into emergency mode, use the same method as described for singleuser mode, with one exception, replace the keyword single with the keyword
emergency.

Q:20 What is drop cache in Linux and how do you clear it ?


Answer:
Cache in Linux memory is where the Kernel stores the information it may need later, as
memory is incredible faster than disk.

It is great that the Linux Kernel takes care about that.Linux Operating system is very
efficient in managing your computer memory, and will automatically free the RAM and
drop the cache if some application needs memory.

Kernels 2.6.16 and newer provide a mechanism to have the kernel drop the page cache
and/or inode and dentry caches on command, which can help free up a lot of memory.
Now we can throw away that script that allocated a ton of memory just to get rid of the
cache.

To free pagecache:

# echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:

# echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:

echo 3 > /proc/sys/vm/drop_caches
This is a non-destructive operation in normal scenarios and will only free things that are
completely unused. Dirty objects will continue to be in use until written out to disk and are
not freeable. However it is always preferred to run sync first to flush useful things out to

disk.

30. Note From Author




With the little help of this book you are on your way to mastering all the ins and outs of
using linux. A+ Linux was a class I did very well in and thought I would share some
knowledge. The QnA at the end will surely land you a job in any CLI based career, as a lot
of these commands stay the same in networking. I hope you enjoyed reading, and use this
book as your pocket guide!

Dayton Thomas

You might also like