1) What is UNIX?
It is a portable operating system that is designed
for both efficient multi-tasking and mult-user functions. Its portability
allows it to run on different hardware platforms. It was written is C and lets
user do processing and control under a shell.
2) What are filters?
The term Filter is often used to refer to any program
that can take input from standard input, perform some operation on that input,
and write the results to standard output. A Filter is also any program that can
be used between two other programs in a pipeline.
3) What is a typical syntax being followed when
issuing commands in shell?
Typical command syntax under the UNIX shell follows
the format:
Command [-argument] [-argument] [–argument] [file]
Command [-argument] [-argument] [–argument] [file]
4) Is there a way to erase all files in the current
directory, including all its sub-directories, using only one command?
Yes, that is possible. Use “rm –r *” for this
purpose. The rm command is for deleting files. The –r option will erase
directories and subdirectories, including files within. The asterisk represents
all entries.
5) What is the chief difference between the –v and
–x option s to set?
The –v option echoes each command before arguments
and variables have been substituted for; the –x option echoes the commands
after substitution has taken place.
6) What is Kernel?
Kernel is the UNIX operating system. It is the
master program that controls the computer’s resources, allotting them to
different users and to different tasks. However, the kernel doesn’t deal
directly with a user. Instead, it starts up a separate, interactive program,
called a shell, for each user when he/she logs on.
7) What is Shell?
A shell acts as an interface between the user and
the system. As a command interpreter, the shell takes commands and sets them up
for execution.
8 ) What are the key features of the Korn Shell?
– history mechanism with built-in editor that
simulates emacs or vi
– built-in integer arithmetic
– string manipulation capabilities
– command aliasing
– arrays
– job control
– built-in integer arithmetic
– string manipulation capabilities
– command aliasing
– arrays
– job control
9) What are some common shells and what are their
indicators?
sh – Bourne shell
csh – C SHell
bash – Bourne Again Shell
tcsh – enhanced C Shell
zsh – Z SHell
ksh – Korn SHell
csh – C SHell
bash – Bourne Again Shell
tcsh – enhanced C Shell
zsh – Z SHell
ksh – Korn SHell
10) Differentiate multiuser from multitask.
Multiuser means that more than one person can use
the computer at the same time. Multitask means that even a single user can have
the computer work on more than one task or program at the same time.
11) What is command substitution?
Command substitution is one of the steps being
performed every time commands are processed by the shell. Commands that are
enclosed in backquotes are executed by the shell. This will then replace the
standard output of the command and displayed on the command line.
12) What is a directory?
Every file is assigned to a directory. A directory
is a specialized form of file that maintains a list of all files in it.
13) What is inode?
An inode is an entry created on a section of the
disk set aside for a file system. The inode contains nearly all there is to
know about a file, which includes the location on the disk where the file starts,
the size of the file, when the file was last used, when the file was last
changed, what the various read, write and execute permissions are, who owns the
file, and other information.
Few More Important UNIX Interview Questions
1. Write command to list all the links from a directory?
In this UNIX command interview questions interviewer is generally checking whether user knows basic use of "ls" "grep" and regular expression etc. You can write command like:
ls -lrt | grep "^l"
2. Create a read-only file in your home directory?
This is a simple UNIX command interview questions where you need to create a file and change its parameter to read-only by using chmod command you can also change your umask to create read only file.
$ touch file
$ chmod 400 file
3. How will you find which operating system your system is running on in UNIX?
By using command "uname -a" in UNIX
4. How will you run a process in background? How will you bring that into foreground and how will you kill that process?
For running a process in background use "&" in command line. For bringing it back in foreground use command "fg jobid" and for getting job id you use command jobs, for killing that process find PID and use kill -9 PID command. This is indeed a good Unix Command interview questions because many of programmer not familiar with background process in UNIX.
5. How do you know if a remote host is alive or not?
You can check these by using either ping or telnet command in UNIX. This question is most asked in various Unix command Interview because its most basic networking test anybody wants to do it.
6. How do you see command line history in UNIX?
Very useful indeed, use history command along with gerp command in UNIX to find any relevant command you have already executed. Purpose of this Unix Command Interview Questions is probably to check how familiar candidate is from available tools in UNIX operation system.
7. How do you copy file from one host to other?
Many options but you can say by using "scp" command. You can also use rsync command to answer this UNIX interview question or even sftp would be ok.
8. How do you find which process is taking how much CPU?
By using "top" command in UNIX, there could be multiple follow-up UNIX command interview questions based upon response of this because “TOP” command has various interactive options to sort result based upon various parameter.
9. How do you check how much space left in current drive ?
By using "df" command in UNIX. For example "df -h ." will list how full your current drive is. This is part of anyone day to day activity so I think this Unix Interview question will be to check anyone who claims to working in UNIX but not really working on it.
10. What is the difference between Swapping and Paging?
Swapping:
Whole process is moved from the swap device to the main memory for execution. Process size must be less than or equal to the available main memory. It is easier to implementation and overhead to the system. Swapping systems does not handle the memory more flexibly as compared to the paging systems.
Paging:
Only the required memory pages are moved to main memory from the swap device for execution. Process size does not matter. Gives the concept of the virtual memory. It provides greater flexibility in mapping the virtual address space into the physical memory of the machine. Allows more number of processes to fit in the main memory simultaneously. Allows the greater process size than the available physical memory. Demand paging systems handle the memory more flexibly.
11. What is nohup in UNIX?
nohup is a special command which is used to run process in background, but it is slightly different than & which is normally used for putting a process in background. An UNIX process started with nohup will not stop even if the user who has stared log off from system. While background process started with & will stop as soon as user logoff.
12. What is ephemeral port in UNIX?
Ephemeral ports are port used by Operating system for client sockets. There is a specific range on which OS can open any port specified by ephemeral port range.
13. How do you find for how many days your Server is up?
By using uptime command in UNIX
14) You have a file called tonky in the directory
honky. Later you add new material to tonky. What changes take place in the
directory, inode, and file?
The directory entry is unchanged, since the name
and inode number remain unchanged. In the inode file, the file size, time of
last access, and time of last modification are updated. In the file itself, the
new material is added.
15) Describe file systems in UNIX
Understanding file systems in UNIX has to do with
knowing how files and inodes are stored on a system. What happens is that a
disk or portion of a disk is set aside to store files and the inode entries.
The entire functional unit is referred to as a file system.
16) Differentiate relative path from absolute path.
Relative path refers to the path relative to the
current path. Absolute path, on the other hand, refers to the exact path as referenced
from the root directory.
17) Explain the importance of directories in a UNIX
system
Files in a directory can actually be a directory
itself; it would be called a subdirectory of the original. This capability
makes it possible to develop a tree-like structure of directories and files,
which is crucial in maintaining an organizational scheme.
18) Briefly describe the Shell’s responsibilities
– program execution
– variable and file name substitution
– I/O redirection
– pipeline hookup
– environment control
– interpreted programming language
– variable and file name substitution
– I/O redirection
– pipeline hookup
– environment control
– interpreted programming language
19) What are shell variables?
Shell variables are a combination of a name (
identifier), and an assigned value, which exist within the shell. These
variables may have default values, or whose values can be manually set using
the appropriate assignment command. Examples of shell variable are PATH, TERM
and HOME.
20) What are the differences among a system call, a
library function, and a UNIX command?
A system call is part of the programming for the
kernel. A library function is a program that is not part of the kernel but
which is available to users of the system. UNIX commands, however, are
stand-alone programs; they may incorporate both system calls and library
functions in their programming.
21) What is Bash Shell?
It is a free shell designed to work on the UNIX
system. Being the default shell for most UNIX-based systems, it combines
features that are available both in the C and Korn Shell.
22) Enumerate some of the most commonly used
network commands in UNIX
– telnet – used for remote login
– ping – an echo request for testing connectivity
– su – user switching command
– ftp – file transfer protocol used for copying files
– finger – information gathering command
– ping – an echo request for testing connectivity
– su – user switching command
– ftp – file transfer protocol used for copying files
– finger – information gathering command
23) Differentiate cmp command from diff command.
The cmp command is used mainly to compare two files
byte by byte, after which the first encountered mismatch is shown. On the other
hand, the diff command is used to indicate the changes that is to be made in
order to make the two files identical to each other.
24) What is the use of -l when listing a directory?
-l, which is normally used in listing command like
ls, is used to show files in a long format, one file per line. Long format
refers to additional information that is associated with the file, such as
ownership, permissions, data and filesize.
25) What is piping?
Piping, represented by the pipe character “|”, is
used to combine two or more commands together. The output of the first command
serves as input the next command, and so on.
26) What is a superuser?
A superuser is a special type user who has open
access to all files and commands on a system. Note that the superuser’s login
is usually root, and is protected by a so-called root password.
27) How do you determine and set the path in UNIX?
Each time you enter a command, a variable named
PATH or path will define in which directory the shell will search for that
command. In cases wherein an error message was returned, the reason maybe that
the command was not in your path, or that the command itself does not exist.
You can also manually set the path using the “set path = [directory path]”
command.
28) Is it possible to see information about a
process while it is being executed?
Every process is uniquely identified by a process
identifier. It is possible to view details and status regarding a process by
using the ps command.
29) What is the standard convention being followed
when naming files in UNIX?
One important rule when naming files is that
characters that have special meaning are not allowed, such as * / & and %.
A directory, being a special type of file, follows the same naming convention
as that of files. Letters and numbers are used, along with characters like
underscore and dot characters.
30) Why is it that it is not advisable to use root
as the default login?
The root account is very important, and with
abusive usage, can easily lead to system damage. That’s because safeguards that
normally apply to user accounts are not applicable to the root account.
31) What is the use of the tee command?
The tee command does two things: one is to get data
from the standard input and send it to standard output; the second is that it
redirects a copy of that input data into a file that was specified.
32) Differentiate cat command from more command.
When using the cat command to display file
contents, large data that does not fit on the screen would scroll off without
pausing, therefore making it difficult to view. On the other hand, using the
more command is more appropriate in such cases because it will display file
contents one screen page at a time.
33) What is parsing?
Parsing is the process of breaking up of a command
line into words. This is made possible by using delimiters and spaces. In the
event that tabs or multiple spaces are part of the command, these are
eventually replaced by a single space.
34) What is pid?
Pid is short for Process ID. It is used primarily
to identify every process that runs on the UNIX system, whether it runs on the
foreground or runs at the background. Every pid is considered unique.
35) How does the system know where one command ends
and another begins?
Normally, the newline character, which is generated
by the ENTER or RETURN key, acts as the signpost. However, the semicolon and
the ampersand characters can also serve as command terminators.
37) What is wild-card interpretation?
When a command line contains wild-card characters
such as ‘*’ or ‘?’, these are replaced by the shell with a sorted list of files
whose pattern matches the input command. Wild-card characters are used to setup
a list of files for processing, instead of having it specified one at a time.
38) What is the output of this command? $who | sort
–logfile > newfile
In this command, the output from the command “who”
becomes the input to the “sort” command. At the same time, “sort” opens
logfile, arranges it together with the output from the command “who”, and
places the final sorted output to the file newfile.
39) How do you switch from any user type to a super
user type?
In order to switch from any user type to a
superuser, you use the su command. However, you will be asked to key in the
correct superuser password before full access privileges are granted to you.
40) What would be the effect of changing the value
of PATH to:
.:/usr/della/bin: /bin: /usr/bin
.:/usr/della/bin: /bin: /usr/bin
This would cause the shell to look in the
/usr/della/bin directory after looking in the current directory and before
looking in the /bin directory when searching for a command file.
41) Write a command that will display files in the
current directory, in a colored, long format.
Answer: ls -l –color
42) Write a command that will find all text files
in a directory such that it does not contain the word “amazing” in any form
(that is, it must include the words Amazing, AMAZING, or aMAZINg)
Answer:
1
|
grep
–vi amazing *.txt
|
43) Write a command that will output the sorted
contents of a file named IN.TXT and place the output in another file named
OUT.TXT, while at the same time excluding duplicate entries.
Answer:
1
|
sort
IN.TXT | uniq > OUT.TXT
|
44) Write a command that will allow a UNIX system
to shut down in 15 minutes, after which it will perform a reboot.
Answer:
1
|
/sbin/shutdown –r +15
|
45) What command will change your prompt to
MYPROMPT: ?
To change
a prompt, we use the PS1 command, such as this:
1
|
PS1
= ‘MYPROMPT:’
|
46) What does this command do? cat food 1 >
kitty
Answer: it redirects the output of cat food into
the file kitty; the command is the same as:
cat food > kitty
cat food > kitty
47) What is wrong with this interactive shell
script?
echo What month is this?
read $month
echo $month is as good a month as any.
read $month
echo $month is as good a month as any.
Answer: Initially, the question mark should be
escaped (\?) so that it is not interpreted as a shell metacharacter. Second, it
should be read month, not read $month.
48) Write a shell script that requests the user’s
age and then echoes it, along with some suitable comment.
Answer:
1
2
3
|
echo
Hello! What\’s your age\?
read
age
echo
$age! I\’ll be obsolete by that age!
|
49) Write a script that prints out date information
in this order: time, day of week, day number, month, year
(sample output: 17:34:51 PDT Sun 12 Feb 2012)
(sample output: 17:34:51 PDT Sun 12 Feb 2012)
Answer:
1
2
|
set
‘date’
echo
$4 $5 $1 $3 $2 $6
|
50) Write a script that will show the following as
output:
Give me a U!
U!
Give ma a N!
N!
Give me a I!
I!
Give me a X!
X!
Give me a U!
U!
Give ma a N!
N!
Give me a I!
I!
Give me a X!
X!
Answer:
for i in U N I X
do
for i in U N I X
do
1
2
3
|
echo
Give me a $i!
echo
$i!
done
|