Online Unix Bits

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM

COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

1. Portable refers to the ability of the operating system to be moved to new platforms
without the need for a major rewrite. Portable operating systems are typically imple-
mented in a high level language such as C, which is available on many platforms.
2. In a time-sharing environment many users are connected to one or more computers,
and all users share output and storage devices. All computing and shared resources are
controlled by a central computer. In a client-server environment computing functions
are split between a central computer (server) and a users' computer (client).
3.A unix command contains Verb (command name), options, and arguments.
4.Primary shells are three, Bourne shell, Korn shell, and C shell.
5. An editor is a UNIX utility that can be used to create and change text files. It differs
from a word processor in that it does not perform typographical formatting such as
bolding, centering, underlining, or varying fonts within a document.
6. vi is a screen editor.
7. The current character is the character at the cursor.
8. Two vi modes were discussed: command mode and text mode.
9. vi starts in command mode.
10. When moving the cursor, you are in command mode.
11. To delete the current character, use the x key.
12.i,I and a move from the command mode to the text mode.
13.o,h and x move from the command mode to the text mode.
14. To move from the eighth to the ninth character on a line, use the l (lower case L) key.
15. To move to the beginning of the current line, use the 0 (zero) key.
16. After all four keystrokes, the cursor would be on line 12 character 3.
17. After the two keystrokes, the cursor is on the fifth character of line 11.
18. The number of the last line on the screen is 25.
19. To discard all changes, use c (:q!).
20. To save and continue editing, use a (:w).
21. Some rules for naming files:
a. Start your names with an alphabetic character.
b. Use dividers to separate parts of the name. Good dividers are the underscore,
period, and the hyphen.
c. Use an extension at the end of the file name, even though UNIX doesn't recognize
extensions. Some applications, such as compilers, require file extensions. In addi-
tion, file extensions help you classify files so that they can be easily identified.
d. Never start a file name with a period. File names that start with a period are hidden
files in UNIX. Generally, hidden files are created and used by the system. They will
not be seen when you list your files.
22. The * matches zero or more characters, the ? matches any single character, and [?]
matches a single character in the given set.
23. The [?] matches a single character from the set of characters within brackets
24. The seven UNIX file types are: regular, directory, character special, block special,
symbolic link, FIFO, and socket
25. A directory is a file that contains the names and locations of files stored in a file
system. A user's home directory is one such example.
26. A block-special file represents a physical device, such as a disk, that reads or writes
Prepared by Ram Kumar 1
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

data a block at a time.


27. A FIFO, or first-in, first-out file—also known as a named pipe, is a file that is used for
inter-process communication.
28. Regular files are divided into two categories — text files and binary files. UNIX views
both formats as a collection of bytes and leaves the interpretation of the file format to
the program that processes it.
29. A directory hierarchy is an organizational structure in which directories can contain
files and other subdirectories.
30. The working or current directory is the directory that the user is in at any point in a
session. It is denoted by a dot (.).
31. The parent directory is the directory immediately above the working directory. It is
denoted by two dots (..).
32. An absolute pathname starts at the root directory. A relative pathname is the path from
the working directory to the file. An absolute pathname starts with a "/", such as
/etc/profile.
33. A relative pathname starts from the working directory.
34. No. For example, if we are in the profile subdirectory of /etc, the relative pathname
would be represented as ../etc/profile. So in this case, the relative pathname is
longer and the absolute pathname, /etc/profile.
35. A directory contains a mapping of names to inodes. The relationship of file names to
inodes is a many to one relationship, that is a physical file has only one inode, but it
can have many names. For example, two filenames can both be linked to the same file.
36. The file system areas are the boot block, the super block, the inode block, and the data
block.
37. The inode fields are owner, group, type, permission, time, address.
38. A symbolic link is a logical file that defines the location of another file somewhere
else in the system. Soft links can be used for both files and directories.
39. With a basic list command, five entries (3 subdirectories and 2 files) are displayed.
With the all option, seven entries are displayed: the three subdirectories, the two files,
the current directory (.) and the parent directory (..).
40. The four operations that can be used only with files are create (vi etc), edit (vi, etc),
display (more), and print (lpr).
41. Copying a file duplicates the contents. Moving a file, changes a link to the contents.
42.
a. ls lists the contents of a directory.
b. ln links one file to another file.
c. cp copies a file.
d. pwd displays the absolute pathname of the current directory.
43.
a. rm -r deletes a file or a directory.
b. cp -r copies a directory.
c. cd changes the current working directory.
d. mkdir creates a directory.

44. In UNIX, everyone who logs into the system is called a user.
45. The home directory of a superuser user is root.
Prepared by Ram Kumar 2
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

46. The three security levels are: system level, directory level, and file level.
47. At the system level, who accesses the system is controlled by log ins and passwords. At
the directory and file levels, security is controlled by permission codes to determine
who can access and manipulate a directory or file.
48. There are seven fields in /etc/passwd: login name, password, user-id, group-id, user
info, home directory, login shell.
49. The field lengths in the /etc/passwd file cannot be predetermined since they contain
variable length information.
50. Each permission code contains three triplets.
51. The second permissions triplet controls the group read/write/execute permissions.
52. A directory has read (r), write (w), and execute (x) permissions. Although for a
directory, execute really means permission to navigate to and through a directory.
53. Write permission for a directory allows entries to be added to and deleted from a
directory.
54. A file has read (r), write (w), and execute (x) permissions.
55. Permission w for a file allows a file's contents to be changed.
56. The command to change a directory or file permission is chmod.
57. symbolic codes can be used to totally reset permissions.
58. When using symbolic codes, unreferenced permissions are unchanged.
59. The octal code always uses three octal digits when specifying file permissions, so
all permissions are assigned by the three octal digits.
60. To copy the contents of a directory requires read and execute permissions (o+rx).
61. To execute a program, read permission (o+r) is required for the directory and execute
permission (o+x) is required for the programs in the directory.
62. The system default permission for a new directory is 777.
63. If there is no user mask, the permissions for a newly created directory is 777. If there
is a user mask, it must be xor'd by 777 to get the new user mask.
64. The command to set the user mask is umask.
65. The command to change the ownership of a file is chown.
66. There can be multiple permission sets for a file or a directory in the sense that there
are separate read/write/execute permissions for user, group, and others.
67. To restrict file deletions to the owner requires u=rwx,g=rx,o=rx permissions.
68. It is possible to destroy a file even if it cannot be deleted. To delete a file, you must
have write permission for the containing directory. But to "destroy" a file, you only
need to be able to change the file's contents, which is determined by a separate write
permission for the file.
69. The first is the interpreter. The interpreter reads user commands and works with the
kernel to execute them. The second part of the shell is programming capability that
allows you to write a shell (command) script.
70. The login shell can be verified by entering echo $SHELL at the command line.
71.The login shell is not always the same as the current shell. The user can change
shells.
72. Shells can be nested.
73. The file descriptor for standard input is 0, standard output is 1, and standard error is 2.
74. The standard output stream is normally associated with the monitor
75. Redirection is the process by which a user specifies that a file is to be used in place of
Prepared by Ram Kumar 3
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

one of the standard streams.


76. To redirect standard output use 1> filename.
77. Pipe is an operator that temporarily saves the output of one command in a buffer that is
being used at the same time as the input of the next command. The pipe token is the
vertical bar '|'.
78. A sequence of commands can be entered on one line separated by semicolons (;).
Commands can be grouped together using parentheses. Commands can be chained
together using pipes.
79. Command line editing is a shell facility that permits the user to edit commands using
one of the screen editors (vi or emacs).
80. The command line editors are normally vi or emacs.
81. The backslash metacharacter (\) changes the interpretation of the character that
follows. Double quotes remove the special interpretation of most metacharacters.
single quotes operate like double quotes, but their effect is stronger. They preserve
only the meaning of single quotes.
82. A job is a command or a set of command entered on one line. A foreground job is any
job running under the supervision of the user. A background job is any job running on
the background without the direct supervision of the user.
83. The six different job states are: (1) Running in foreground. (2) Stopped (suspended).
(3) Running in background. (4) Done (completed successfully). (5) Exit (completed
unsuccessfully). (6) Terminated (killed).
85. An alias provides a means of creating customized commands by assigning a name to a
command. Aliases are available in the Bash, Korn, and C Shells. To use an alias to
ename files in Bash and Korn, use alias rename=mv. In the C Shell's, the syntax is
slightly different, alias rename mv, or to use the C Shell positional argument
substitution, the user could write alias rename 'mv \!:1 \!:2'.
86. Commands that can be used with output redirection:
a. a) cal can be used with output redirection.
b. b) date can be used with output redirection.
c. c) echo can be used with output redirection.
d. d) man can be used with output redirection.
e. e) passwd cannot be used with output redirection.
f. who can be used with output redirection.
g. whoami can be used with output redirection.
87. The command date | more works. The command more | date does not work
because more needs to have input and date does not read from standard input.
88. In the following command: ls -l | tee:
a. Input comes from the system.
b. No output file is created.
89. the tee command can be used to create a file. The statement tee file1 sends
keyboard input to a file1.
90. In the command ls -l | tee > file1:
a. The output will go to both standard output (monitor) and to the file file1.
b. One file is created.
91.In UNIX, a filter is any command that gets its input from the standard input stream,
manipulates the input, and then sends the result to the standard output stream.
Prepared by Ram Kumar 4
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

92.Filters discussed in this chapter: cat, cmp, comm, cut, diff, head, paste, sort, tail, tr,
uniq, and wc. Other filters mentioned in this chapter: more, grep, sed, and awk.
93.head [-options] [file-list]—The head command outputs lines at the beginning
of a file. Input can come from the keyboard, a file, or several files. Output can go to the
monitor or be redirected to a file. The head command does not output to multiple files.
94.cut [-options] [file-list]—The cut command select portions of each line of a
file. Input can come from the keyboard, a file, or several files. Output can go to the
monitor or be redirected to a file. The cut command does not output to multiple files.
95.sort [-options] [field-specifiers] [file-list]—The sort command arranges
data in ascending or descending order. Input can come from the keyboard, a file, or
everal files. Output can go to the monitor or be redirected to a file, or a specified
output file that can even be the same as one of the input files. The sort command does
not output to multiple files.
96.uniq [-options] [file-list]—The uniq command displays unique lines in a file
(adjacent repeated lines are treated as one line). Input can come from the keyboard, a
file, or input redirection. Output can go to the monitor or be redirected to a file, or can
go to an output file specified in a command line argument. The uniq command does
not output to multiple files.
97.The paste and cat commands both combine files. The cat command concatenates files
vertically, the paste command concatenates files horizontally.
98.The cmp command compares two files for equality and if they do not have identical
contents, reports where the two files start to differ. The comm command compares two
files and optionally shows the lines that are only in the first, lines that are only in the
second, and lines that are common to both.
99. The comm command can be used to show lines that are common to two files, whereas
the diff command can be used to show the differences between two files.
100. Change lowercase to uppercase: tr "[a-z]" "[A-Z]" < filename.
101. we can change uppercase and lowercase in one command. The command is:
tr "[a-z][A-Z]" "[A-Z][a-z]"
102. To create a file of 10 lines, enter the command tail +1 > filename and enter at least
10 lines from standard input.
103. The command head -5 file1 | head -3 | head -2 demonstrates that head is a
filter because it is used on the left of a pipe, between two pipes, and on the right of a
pipe.
104. The command cut -f1,3 file1 | cut -f1,2 | cut -f1 demonstrates that cut is
a filter because it is used on the left of a pipe, between two pipes, and on the right of a
pipe.
105. The command tr "l" "L" file1 | tr "i" "I" | tr "n" "N" demonstrates that
tr is a filter because it is used on the left of a pipe, between two pipes, and on the right
of a pipe.
106. The command wc -l file1 | wc -l | wc -l demonstrates that wc is a filter
because it is used on the left of a pipe, between two pipes, and on the right of a pipe.
The result is always one since the output of the wc -l is a single line, and the final wc
-l provides a count of the one line, which is 1.

107. A regular expression is a character pattern that is matched against text. A regular
Prepared by Ram Kumar 5
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

expression is like a mathematical expression. A mathematical expression is made of


operands (data) and operators. Similarly, a regular expression is made of atoms and
operators.
108. An atom specifies what we are looking for and where in the text the match is to be
made. Atoms corresponds to operands in a mathematical expression.
109. A single character atom matches itself. Its length is one.
110. A class atom defines a set of characters, any one of which may match the
corresponding character in text. Its length is one.
111. There are four types of anchors: ^, $, \<, and \>.
112. Operators are used to combine atoms into more complex regular expressions. The
regular expression operators play the same role as mathematical operators.
Mathematical expression operators combine mathematical operands; regular
expression operators combine regular expression atoms.
113. The sequence operator concatenates a series of atoms. It is conceptual. It has no
symbolic representation.
114. The repetition operator specifies that the atoms or expressions may be repeated. Its
symbolic formats are as follows: \{m,n\}—match previous atom m to n times;
\{m\}—match previous atom exactly m times; \{m,\}—match previous atom at least
m times; \{,n\}—matches previous atom at most n times. There are also several short
forms for the repetition operator.
115. The save operator saves one or more characters in a buffer to be matched later with its
corresponding back-reference atom. Its symbolic format is \(?\).
116. The ? operator's format is: \{0,1\}
117. The + operator's format is: \{1,\}
118.Match blank line: ^$
119. Matches every line: .*
120. Matches a line with at least three characters .\{3,\}
121. Matches date (Month dd, yy): [A-Z][a-z]+ [0-9][0-9], [0-9][0-9]
122. Matches Social Security Number: [0-9]\{3\}-[0-9]\{2\}-[0-9]\{4\}
123. Matches any digit: [0-9]
124. Matches Zip Code (5 digits): [0-9]\{5\}
125. Matches HTML tags: <.+>
126.The term grep is an acronym for Global Regular Expression Print; egrep is Extended
grep; and, fgrep is Fast grep.
127. There are three members of the grep family: grep, egrep, and fgrep.
128. fgrep cannot accept regular expressions.
129. The atoms supported by grep varies depending on the grep implementation you are
using. Some older implementations may not support the begin/end word anchors \<
and \>.
130.NOt all egrep implementations support the save operator. Some implementations
support save by overloading the group syntax, so (?) provides the functionality of
\(?\).
131. Select all lines with exactly three characters: grep "^...$" file1
132. Select lines that have three or less characters: grep "^.\{0,3\}$" file1
133. Count blank lines: grep -c "^$" file1
134. Select lines starting with any uppercase character: grep "^[A-Z]" file1
Prepared by Ram Kumar 6
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

135. Select lines containing UNIX or variation: egrep "UNIX|Unix|unix" file1


136. Select lines ending with UNIX: grep "UNIX$" file1
137. Select lines with UNIX twice: grep "UNIX.*UNIX" file1
138. Write command copy a file: grep ".*" file1 > file2
139. Select lines that start with space: egrep "^ +" file1
140. Select lines that start and end with space: egrep "^ .* $" file1
141. Select lines that end with an uppercase character followed by zero or more spaces:
grep "[A-Z] *$" file1
142. Select lines with two consecutive digits: grep "[0-9]\{2,\}" file1
143. Select lines in which first nonblank character is uppercase:
grep "^[ ]*A" file1
144. Select lines that do not start with A: grep "^[^A]" file1
145. Select lines that start with A, B, or C: grep "^[ABC]" file1
146. Select lines that start with a character: grep "^[a-zA-Z]" file1
147. Select lines that contain only one ?oating point number:
egrep "^[0-9]+[.][0-9]*$" file1

148. Select lines that contain only one hex number:


egrep "^0[xX][0-9A-Fa-f]+$" file1
149. Copy only lines with at least four digits:
grep "[0-9].*[0-9].*[0-9].*[0-9]" file1 > file2
150. Copy palindromes: grep "^\(.\)\(.\).\2\1" file1 > file2
151. Simulate commands:
a. cat: grep ".*" > file1
b. cut: Not possible.
c. paste: Not possible.
d. It is not possible because if we use grep ".*" file1 file2, each output line
will be preceded by the file name.
152. sed [options] script [file-list]—sed edits specified lines in the input files and process
them.
153. The sed command allows for an "in-line script," in which the script is specified on the
command line and also a file script, in which the script is stored in a file.
154. A script file is a text file that contains a sed script.
156. A script file can be created with a standard editor such as vi.
157. The hold space is a buffer used to temporarily store and retrieve lines as directed by
sed instructions.
158. The address selects the line(s) to be processed (or not processed) by the command.
159. A single-line address specifies one and only one line in the input file. It is either a line
number or the $ (last line) symbol.
160. If no address is mentioned, the command applies to every line (a).
161. No, the sed command does not change the file.
162. The N command appends the next line to the pattern space while the D command
deletes the first line of the pattern space.
163. The p command prints the entire pattern space; The P command prints only the first
line of the pattern space.
164. The h command copies the pattern space to the hold space whereas the H command
Prepared by Ram Kumar 7
Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group
MRITS UNIX & SHELL PROGRAMMING IMPORTANT BITS FOR FIRST ONLINE EXAM
COMMON TO CSE-A AND IT-B www.mritsunix.co.nr

appends the pattern space to the hold space.


165. Delete second character: sed "s/^\(.\)./\1/" file1
166. Delete character before last character: sed "s/.\(.\)$/\1/" file1
167. Delete second word: sed "s/^\([^ ]* *\)[^ ]* */\1/" file1
168. Delete word before last word: sed "s/ *[^ ]*\( *[^ ]*\)$/\1/" file1
169. Swap first and last characters:
sed "s/^\(.\)\(.*\)\(.\)$/\3\2\1/" file1
170. Delete all digits: sed "s/[0-9]//g" file1
171. Replace single spaces at beginning of line with tabs:
sed "s/^ \([^ ]*\)/ \1/" file1
To only replace a lines starting with single space we find the start of line followed
by one space and zero or more non-space characters. Just finding start of line followed
by space could match lines that start with two or more spaces.)
172. Delete all trailing spaces: sed "s/ *$//" file1
173. Change date mm/dd/yy to yy/mm/dd:
sed "s/\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9][0-9]\)/\3\/\1\/\2/g" file1
174. Extract month from mm/dd/yy:
sed -n "s/[^0-9]*\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9][0-9]\).*/\1/p" file1
175. Extract year from mm/dd/yy:
sed -n "s/[^0-9]*\([0-9][0-9]\)\/\([0-9][0-9]\)\/\([0-9][0-9]\).*/\3/p" file1
176. Copy lines containing at least five digits:
sed -n "/\([0-9].*\)\{5\}/p" file1 > file2
178. Copy file deleting second word:
sed "s/\([^ ]\{1,\} *\)\([^ ]\{1,\} *\)/\1/" file1 > file2
179. Simulate copy command: sed -n "p" file1 > file2
180. Simulate head command: sed "20q" file1
181. Simulate tail command:
sed -n '1!G;h;$p' file1 | sed -n "1,40p" | sed -n '1!G;h;$p'
This is equivalent to tail -40 file1! Analysis: Since we don't know how many
lines are in the file, we also don't know the line number that is 40 before the end.
Therefore sed is not suited to this task. But by reversing the file using sed's hold buffer
commands, we can then extract the first 40 lines (which were the last 40 lines) and
then reverse the lines again. So there is a tricky solution to this problem, but it is not
very practical.

Prepared by Ram Kumar 8


Send sms as JOIN MRITSCSE to 567678 to join in MRITS CSE 2nd year group
Send sms as JOIN MRITSIT to to 567678 to join in MRITS IT 2nd year group

You might also like