Linux Admin Interview Questions
Linux Admin Interview Questions
1. How do you take a single line of input from the user in a shell script?
2. Write a script to convert all DOS style backslashes to UNIX style slashes in a
list of files.
3. Write a regular expression (or sed script) to replace all occurrences of the
letter ‘f’, followed by any number of characters, followed by the letter ‘a’,
followed by one or more numeric characters, followed by the letter ‘n’, and
replace what’s found with the string “UNIX”.
4. Write a script to list all the differences between two directories.
5. Write a program in any language you choose, to reverse a file.
6. What are the fields of the password file?
7. What does a plus at the beginning of a line in the password file signify?
8. Using the man pages, find the correct ioctl to send console output to an
arbitrary pty.
9. What is an MX record?
10. What is the prom command on a Sun that shows the SCSI devices?
11. What is the factory default SCSI target for /dev/sd0?
12. Where is that value controlled?
13. What happens to a child process that dies and has no parent process to wait for
it and what’s bad about this?
14. What’s wrong with sendmail? What would you fix?
15. What command do you run to check file system consistency?
16. What’s wrong with running shutdown on a network?
17. What can be wrong with setuid scripts?
18. What value does spawn return?
19. Write a script to send mail from three other machines on the network to root at
the machine you’re on. Use a ‘here doc’, but include in the mail message the
name of the machine the mail is sent from and the disk utilization statistics on
each machine?
20. Why can’t root just cd to someone’s home directory and run a program called
a.out sitting there by typing “a.out”, and why is this good?
21. What is the difference between UDP and TCP?
22. What is DNS?
23. What does nslookup do?
24. How do you create a swapfile?
25. How would you check the route table on a workstation/server?
26. How do you find which ypmaster you are bound to?
27. How do you fix a problem where a printer will cutoff anything over 1MB?
28. What is the largest file system size in solaris? SunOS?
29. What are the different RAID levels?
^Back to Top
^Back to Top
Read more at TechInterviews.com
What is LILO?
LILO stands for Linux boot loader. It will load the MBR, master boot record, into the
memory, and tell the system which partition and hard drive to boot from.
What is the main advantage of creating links to a file instead of copies of the file?
A: The main advantage is not really that it saves disk space (though it does that too)
but, rather, that a change of permissions on the file is applied to all the link access
points. The link will show permissions of lrwxrwxrwx but that is for the link itself
and not the access to the file to which the link points. Thus if you want to change the
permissions for a command, such as su, you only have to do it on the original. With
copies you have to find all of the copies and change permission on each of the copies.
Write a command to find all of the files which have been accessed within the last
30 days.
find / -type f -atime -30 > December.files
This command will find all the files under root, which is ‘/’, with file type is file. ‘-
atime -30′ will give all the files accessed less than 30 days ago. And the output will
put into a file call December.files.
What is the most graceful way to get to run level single user mode?
A: The most graceful way is to use the command init s.
If you want to shut everything down before going to single user mode then do init 0
first and from the ok prompt do a boot -s.
What does the following command line produce? Explain each aspect of this line.
$ (date ; ps -ef | awk ‘{print $1}’ | sort | uniq | wc -l ) >>
Activity.log
A: First let’s dissect the line: The date gives the date and time as the first command of
the line, this is followed by the a list of all running processes in long form with UIDs
listed first, this is the ps -ef. These are fed into the awk which filters out all but the
UIDs; these UIDs are piped into sort for no discernible reason and then onto uniq
(now we see the reason for the sort - uniq only works on sorted data - if the list is A,
B, A, then A, B, A will be the output of uniq, but if it’s A, A, B then A, B is the
output) which produces only one copy of each UID.
These UIDs are fed into wc -l which counts the lines - in this case the number of
distinct UIDs running processes on the system. Finally the results of these two
commands, the date and the wc -l, are appended to the file "Activity.log". Now to
answer the question as to what this command line produces. This writes the date and
time into the file Activity.log together with the number of distinct users who have
processes running on the system at that time. If the file already exists, then these items
are appended to the file, otherwise the file is created.
^Back to Top
Read more at TechInterviews.com
1. List the files in current directory sorted by size ? - ls -l | grep ^- | sort -nr
3. Delete blank lines in a file ? - cat sample.txt | grep -v ‘^$’ > new_sample.txt
13. How to save man pages to a file ? - man <command> | col .b > <output-
file>Example : man top | col .b > top_help.txt
14. How to know the date & time for . when script is executed ? - Add the
following script line in shell script.eval echo "Script is executed at `date`" >>
timeinfo.infHere, .timeinfo.inf. contains date & time details ie., when script is
executed and history related to execution.
15. How do you find out drive statistics ? - iostat -E
17. Display top ten largest files/directories ? - du -sk * | sort -nr | head
18. How much space is used for users in kilobytes ? - quot -af
25. Display the parent/child tree of a process ? - ptree <pid> Example: ptree
1267
26. Show the working directory of a process ? - pwdx <pid> Example: pwdx
1267
27. Display the processes current open files ? - pfiles <pid> Example: pfiles
1267
28. Display the inter-process communication facility status ? - ipcs
29. Display the top most process utilizing most CPU ? - top .b 1
4. How do you find out the current directory you’re in? - pwd
10. How do you search for a string inside a given file? - grep string filename
11. How do you search for a string inside a directory? - grep string *
12. How do you search for a string in a directory with the subdirectories recursed? -
grep -r string *
13. What are PIDs? - They are process IDs given to processes. A PID can vary from 0
to 65535.
16. How do you find out about all running processes? - ps -ag
17. How do you stop all the processes, except the shell window? - kill 0
19. How do you refer to the arguments passed to a shell script? - $1, $2 and so on. $0
is your script name.
21. How do you do number comparison in shell scripts? - -eq, -ne, -lt, -le, -gt, -ge
22. How do you test for file properties in shell scripts? - -s filename tells you if the file
is not empty, -f filename tells you whether the argument is a file, and not a
directory, -d filename tests if the argument is a directory, and not a file, -w
filename tests for writeability, -r filename tests for readability, -x filename tests
for executability
23. How do you do Boolean logic operators in shell scripting? - ! tests for logical not,
-a tests for logical and, and -o tests for logical or.
24. How do you find out the number of arguments passed to the shell script? - $#
26. How do you write a for loop in shell? - for {variable name} in {list} do {statement}
done
27. How do you write a while loop in shell? - while {condition} do {statement} done
28. How does a case statement look in shell scripts? - case {variable} in {possible-
value-1}) {statement};; {possible-value-2}) {statement};; esac
29. How do you read keyboard input in shell scripts? - read {variable-name}
30. How do you define a function in a shell script? - function-name() { #some code
here return }
31. How does getopts command work? - The parameters to your script can be passed
as -n 15 -x 20. Inside the script, you can iterate through the getopts array as while
getopts n:x option, and the variable $option contains the value of the entered
option.