GE 2155 – COMPUTER PRACTICE LABORATORY
COMPUTER PRACTICE LABORATORY – II 0 1 2 2
LIST OF EXPERIMENTS
1. UNIX COMMANDS 15
Study of UNIX OS – Basic Shell Commands – Unix Editor
2. SHELL PROGRAMMING 15
Simple Shell program – Conditional Statements – Testing and Loops
3. C PROGRAMMING ON UNIX 15
Dynamic Storage Allocation-Pointers-Functions-File Handling
TOTAL: 45 PERIODS
HARDWARE / SOFTWARE REQUIREMENTS FOR A BATCH OF 30 STUDENTS
- 1 UNIX Clone Server
- 33 Nodes (thin client or PCs)
- Printer – 3 Nos.
- OS – UNIX Clone (33 user license or License free Linux)
Compiler – C
MISRIMAL NAVAJEE MUNOTH JAIN ENGINEERING COLLEGE
THORAPAKKAM, CHENNAI-600 096
DEPARTMENT OF INFORMATION TECHNOLOGY
Code/Subject: GE 2155 – COMPUTER PRACTICE LABORATORY —II
List of experiments
Name of the Experiments
|1||Study of UNIX Operating system|
|2||Study of Basic Shell Commands|
|3||Study of UNIX vi editor|
Study of UNIX OS
EX. NO. :
AIM: To study the UNIX OS.
What is UNIX?
UNIX is an operating system which was first developed in the 1960s, and has been under constant development ever since. By operating system, we mean the suite of programs which make the computer work. It is a stable, multi-user, multi-tasking system for servers, desktops and laptops.
UNIX systems also have a graphical user interface (GUI) similar to Microsoft Windows which provides an easy to use environment. However, knowledge of UNIX is required for operations which aren’t covered by a graphical program, or for when there is no windows interface available, for example, in a telnet session.
Types of UNIX
There are many different versions of UNIX, although they share common similarities. The most popular varieties of UNIX are Sun Solaris, GNU/Linux, and MacOS X.
The UNIX operating system
The UNIX operating system is made up of three parts; the kernel, the shell and the programs.
The kernel of UNIX is the hub of the operating system: it allocates time and memory to programs and handles the filestore and communications in response to system calls.
As an illustration of the way that the shell and the kernel work together, suppose a user types rm myfile (which has the effect of removing the file myfile). The shell searches the filestore for the file containing the program rm, and then requests the kernel, through system calls, to execute the program rm on myfile. When the process rm myfile has finished running, the shell then returns the UNIX prompt % to the user, indicating that it is waiting for further commands.
The shell acts as an interface between the user and the kernel. When a user logs in, the login program checks the username and password, and then starts another program called the shell. The shell is a command line interpreter (CLI). It interprets the commands the user types in and arranges for them to be carried out. The commands are themselves programs: when they terminate, the shell gives the user another prompt (% on our systems).
The adept user can customise his/her own shell, and users can use different shells on the same machine. Staff and students in the school have the tcsh shell by default.
The tcsh shell has certain features to help the user inputting commands.
Filename Completion – By typing part of the name of a command, filename or directory and pressing the [Tab] key, the tcsh shell will complete the rest of the name automatically. If the shell finds more than one name beginning with those letters you have typed, it will beep, prompting you to type a few more letters before pressing the tab key again.
History – The shell keeps a list of the commands you have typed in. If you need to repeat a command, use the cursor keys to scroll up and down the list or type history for a list of previous commands.
Files and processes
Everything in UNIX is either a file or a process.
A process is an executing program identified by a unique PID (process identifier).
A file is a collection of data. They are created by users using text editors, running compilers etc.
Examples of files:
a document (report, essay etc.)
the text of a program written in some high-level programming language
instructions comprehensible directly to the machine and incomprehensible to a casual user, for example, a collection of binary digits (an executable or binary file);
a directory, containing information about its contents, which may be a mixture of other directories (subdirectories) and ordinary files.
The Directory Structure
All the files are grouped together in the directory structure. The file-system is arranged in a hierarchical structure, like an inverted tree. The top of the hierarchy is traditionally called root (written as a slash / )
Most UNIX file system types have a similar general structure, although the exact details vary quite a bit. The central concepts are superblock, inode, data block, directory block, and indirection block. The superblock contains information about the file system as a whole, such as its size (the exact information here depends on the file system). An inode contains all information about a file, except its name. The name is stored in the directory, together with the number of the inode. A directory entry consists of a filename and the number of the inode which represents the file. The inode contains the numbers of several data blocks, which are used to store the data in the file. There is space only for a few data block numbers in the inode, however, and if more are needed, more space for pointers to the data blocks is allocated dynamically. These dynamically allocated blocks are indirect blocks; the name indicates that in order to find the data block, one has to find its number in the indirect block first.
Like UNIX, Linux chooses to have a single hierarchical directory structure. Everything starts from the root directory, represented by /, and then expands into sub-directories instead of having so-called ‘drives’. In the Windows environment, one may put one’s files almost anywhere: on C drive, D drive, E drive etc. Such a file system is called a hierarchical structure and is managed by the programs themselves (program directories), not by the operating system. On the other hand, Linux sorts directories descending from the root directory / according to their importance to the boot process.
Linux, like Unix also chooses to be case sensitive. What this means is that the case, whether in capitals or not, of the characters becomes very important. This feature accounts for a fairly large proportion of problems for new users especially during file transfer operations whether it may be via removable disk media such as floppy disk or over the wire by way of FTP.
The image below shows the file system of Linux
The following bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/ are explained in detail.
/sbin – This directory contains all the binaries that are essential to the working of the system. These include system administration as well as maintenance and hardware configuration programs.
/bin – In contrast to /sbin, the bin directory contains several useful commands that are used by both the system administrator as well as non-privileged users.
/boot – This directory contains the system.map file as well as the Linux kernel. Lilo places the boot sector backups in this directory.
/dev – This is a very interesting directory that highlights one important characteristic of the Linux filesystem – everything is a file or a directory. Look through this directory and you should see hda1, hda2 etc, which represent the various partitions on the first master drive of the system. /dev/cdrom and /dev/fd0 represent your CDROM drive and your floppy drive.
/etc – This directory contains all the configuration files for your system. Your lilo.conf file lies in this directory as does hosts, resolv.conf and fstab.
/home –These are the user home directories, which can be found under /home/username.
/lib – This contains all the shared libraries that are required by system programs. Windows equivalent to a shared library would be a DLL file.
/lost+found – Linux should always go through a proper shutdown. Sometimes your system might crash or a power failure might take the machine down. Either way, at the next boot, a lengthy filesystem check using fsck will be done. Fsck will go through the system and try to recover any corrupt files that it finds. The result of this recovery operation will be placed in this directory.
/mnt – This directory usually contains mount points or sub-directories where you mount your floppy and your CD.
/opt – This directory contains all the software and add-on packages that are not part of the default installation.
/proc – This is a special directory on your system.
/root – We talked about user home directories earlier and well this one is the home directory of the user root.
/tmp – This directory contains mostly files that are required temporarily.
/usr – This is one of the most important directories in the system as it contains all the user binaries. /usr/src/linux contains the source code for the Linux kernel.
/var – This directory contains spooling data like mail and also the output from the printer daemon. The above content briefs about Linux and the file system of Linux.
BASIC COMMANDS IN UNIX
EX. NO. :
AIM: To study the basic commands in UNIX.
1. TASK : To display the system date and time.
COMMAND : date.
SYNTAX : date.
EXPLANATION: This command displays the current system date and time on the
2. TASK : To display the current month.
COMMAND : date.
SYNTAX : date +%m.
EXPLANATION: This command displays the current month on the screen.
3. TASK : To display the name of the current month.
COMMAND : date.
SYNTAX : date +%h.
EXPLANATION: This command displays the name of the current month on the
4. TASK : To display the current system date.
COMMAND : date.
SYNTAX : date +%d.
EXPLANATION: This command displays the current system date on the screen.
5. TASK : To display the current system date (year).
COMMAND : date.
SYNTAX : date +%y.
EXPLANATION: This command displays the current year on the screen.
6. TASK : To display the current system time.
COMMAND : date.
SYNTAX : date +%H.
EXPLANATION: This command displays the current system time (in hours) on the
7. TASK : To display the current system time.
COMMAND : date.
SYNTAX : date +%M.
EXPLANATION: This command displays the current system time (in minutes) on the screen.
8. TASK : To display the current system time.
COMMAND : date.
SYNTAX : date +%S.
EXPLANATION: This command displays the current system time (in seconds) on the screen.
9. TASK : To display the calendar of the current month.
COMMAND : calendar.
SYNTAX : cal.
EXPLANATION: This command displays the calendar of the current month on the
10. TASK : To display user-defined message.
COMMAND : echo.
SYNTAX : echo “message”.
EXPLANATION: This command displays on the screen the argument of the echo
11. TASK : To display the details of all users.
COMMAND : who.
SYNTAX : who.
EXPLANATION : This command lists the information about all the users who have
logged on to that system.
12. TASK : To display the user detail.
COMMAND : who.
SYNTAX : whoami.
EXPLANATION : This command displays information about the current user of the
system on the screen.
13. TASK : To create a directory.
COMMAND : make directory.
SYNTAX : mkdir.
EXPLANATION : This command is used to create a new directory with the specified
14. TASK : To change directory.
COMMAND : change directory.
cd directory name.
EXPLANATION : This command is used to switch from one directory to another.
15. TASK : To delete a directory.
COMMAND : remove directory.
rmdir directory name
EXPLANATION : This command is used to delete the specified directory.
16. TASK : To come out of a sub-directory.
COMMAND : change directory.
SYNTAX : cd ..
EXPLANATION : This command helps in switching to the main directory.
17. TASK : To list all the files and directories.
COMMAND : list.
EXPLANATION : This command displays all the files and directories of the system.
18. TASK : To create a file.
COMMAND : cat.
cat> file name.
EXPLANATION : This command leads to the creation of a new file with the specified
file name and contents.
19. TASK : To view a file.
COMMAND : cat.
cat file name.
EXPLANATION : This command displays the contents of the specified file.
20. TASK : To copy a file.
COMMAND : copy.
cp sourcefile destinationfile.
EXPLANATION : This command produces a copy of the source file and is stored in
the specified destination file by overwriting its previous
21. TASK : To move a file.
COMMAND : move.
mv sourcefile destinationfile.
EXPLANATION : After moving the contents of the source file into destination file,
the source file is deleted.
22. TASK : To display / cut a column from a file.
COMMAND : cut.
cut –c no. filename.
EXPLANATION : This command displays the characters of a particular column in the
23. TASK : To delete a file.
COMMAND : remove.
rm file name.
EXPLANATION : This command deletes the specified file from the directory.
24. TASK : To retrieve a part of a file.
COMMAND : head.
head –no. of rows file name.
EXPLANATION : This command displays the specified no. of rows form the top
of the specified file.
25. TASK : To retrieve a file.
COMMAND : tail.
SYNTAX : tail –no. of rows file name.
EXPLANATION : This command displays the specified no. of rows form the bottom
of the specified file.
26. TASK : To sort the contents of a file.
COMMAND : sort.
sort file name.
EXPLANATION : This command helps in sorting the contents of a file in ascending
27. TASK : To display the no. of characters in a file.
COMMAND : word count.
wc file name.
EXPLANATION : This command displays on the screen the no. of rows, words, and
the sum of no. of characters and words.
28. TASK : To display the calendar of a year.
COMMAND : cal.
EXPLANATION : This command displays on the screen the calendar of the specified year.
Listing Directory Contents
1. Log in to the system.
2. Issue the command pwd . What is the path?
3. Issue the command ls. What do you observe?
4. Issue the command ls –l . In an abbreviated form, what do you observe?
5. Issue the command ls –a. In an abbreviated form, what do you observe?
6. Issue the command cd /var.
7. Issue the command pwd . What is the path?
8. Issue the command ls. What do you observe?
9. Issue the command ls –l . In an abbreviated form, what do you observe?
10. Issue the command ls –a. In an abbreviated form, what do you observe?
11. Issue the command ls – i . Record the inode value for each file and directory. inode filename inode filename
In your own words, explain the meaning of:
1. The Root
2. Administrator Root
3. Home directory Root
4. Group Root
5. What is the difference between the user root and group root.
- Beside the UNIX commands below, define what each command does.
Frequently used UNIX commands
|ls||lists files in current working directory|
|ls *.out||lists all files in current directory that end in .out|
|ls -l||lists files giving details including file size|
|pwd||displays full-path name of your current working directory on screen (stands for “present working directory”)|
|cd dirname||changes directory to dirname|
|cd ..||changes directory to one above the current directory|
|cd||with no argument, takes you to your home directory|
|mkdir dirname||creates new directory dirname|
|rmdir dirname||removes empty directory dirname|
|cp filename newname||makes a copy of filename with the name newname|
|cp ../filename .||copies filename in directory one tier above to current directory giving it the same name|
|mv filename newname||renames filename to newname (mv stands for “move”)|
|cat filename||displays contents of filename on screen|
|more filename||displays filename contents one screen at a time (Enter key scrolls through file by line; space bar scrolls through by screen)|
|head filename||displays first 10 lines of filename on screen|
|tail filename||displays last 10 lines of filename on screen|
|rm filename||deletes filename
without double check (rm stands for “remove”)
|grep string filename||displays lines from filename containing string on screen|
|./ filename &||runs job filename in the background|
|qsub filename||sends job filename to queue (where qsub is a submission script file in your bin directory)|
|qstat||lists jobs running on queue|
|qstat -a||lists only your jobs|
|qdel job#||deletes job with number job# from queue|
|ps||lists processes you have running|
|ps -ef||lists all processes|
|kill pid#||kills process with ID number pid#|
|kill -9 pid#||kills (with the “sure kill” signal) process with ID number pid#|
|kill -kill 0||kills all processes you have running and logs you off|
|man commandname||displays manual page for command commandname|
|man -k keyword||lists manual pages for commands related to keyword|
|lp filename||prints filename on printer in room 4241|
|chmod ### filename||changes “read, write, execute” mode of filename
Example: to set the privileges for filename so that the owner has the ability to read, overwrite and execute the file, the group has the ability to read and execute the file, and everyone else has no access to the file, use the command chmod 750 filename.
4 2 1
4 2 1
4 2 1
|sum numbers for each of the three categories of user|
|Ctrl+c||kills current operation|
|Ctrl+h||delete (always works even when delete key doesn’t)|
UNIX: vi Editor
EX. NO. :
AIM: To study the basic of vi Editor.
UNIX: vi Editor
The vi editor (short for visual editor) is a screen editor which is available on almost all Unix systems. Once you have learned vi, you will find that it is a fast and powerful editor. vi has no menus but instead uses combinations of keystrokes in order to accomplish commands.
There are three basic modes of vi:
This is the default when you enter vi. In command mode, most letters, or short sequences of letters, that you type will be interpreted as commands, without explicitly pressing Enter
. If you press Esc when you’re in command mode, your terminal will beep at you. This is a very good way to tell when you’re in command mode.
In insert mode, whatever you type is inserted in the file at the cursor position. Type a (lowercase letter a, for append) to enter insert mode from command mode; press Esc to end insert mode, and return to command mode.
Use line mode to enter line oriented commands. To enter line mode from command mode, type a colon ( : ). Your cursor moves to the bottom of the screen, by a colon prompt. Type a line mode command, then press Enter. Any sensible command from the Unix line editor ex will work, and a few are good to know about. These commands are indicated in this handout by a colon in front of the command. Each time you use a line mode command, you must type a colon to enter line mode, then type the command by the colon prompt at the bottom of the screen, then press Enter when you finish typing the command. (The search commands starting with / and ? work similarly.
- are case sensitive – lowercase and uppercase command letters do different things
- are not displayed on the screen when you type them
- generally do not require a Return after you type the command.
You will see some commands which start with a colon (:). These commands are ex commands which are used by the ex editor. ex is the true editor which lies underneath vi — in other words, vi is the interface for the ex editor.
- The vi editor has three modes: 1) command mode, 2) last-line mode, and 3) input mode. Note: The vi editor does not understand the “mouse” and only understands commands typed from the “keyboard.”
- The UNIX text editor, vi, is used by the UNIX administrator (superuser) to create or edit files. Usually these files require configuration information to host certain UNIX servers or I/O functions. Users can start a vi session by typing “vi” followed by the file name to be created or edited. In our example, we will create a file named “linux.” The vi editor will create a new file if the file does not already exist. If a file, in our example “linux,” does exist in our current directory, the vi editor will open linux for editing. Once we type ” vi linux” and hit the enter key, we are placed in command mode where communications is directed to the vi editor. Type the following command to initiate our vi session:
- You will be presented with a full, empty screen. Each line will begin with the tilde (~) symbol. The tilde is vi’s way of indicating that a line is empty in its edit register. The vi editor uses the first 24 of 25 lines viewable on the terminal screen as “insert lines.”
- The last line (line number 25) is used for entering commands to the shell and is referred to as the “last-line mode.” In this space, our filename appears with the message “linux” and [new file].
- When you open a file, the cursor is placed at the top, left corner of the screen. You are said to be in “Command Mode.” You can issue commands that act upon the text in the file. In the command mode, pressing a key does not show on the screen, but performs a function like moving the cursor to the next line or deleting a line. The command mode cannot be used to enter text. The keyboard space bar moves the cursor ahead one space at a time. The keyboard backspace key moves the cursor backwards one space at a time.
- To enter text, you must be in “Insert Mode.” There are ten (10) keys that place you in Insert Mode. Each key has an upper case and a lower case function. The quickest way to learn insert mode is to simply type a lower case “i” for insert. The following chart the shows 10 ways to enter “Insert Mode:”
|i||Inserts text to left of the cursor. Existing text shifted right|
|I||Inserts text at beginning of line. Existing text shifted right|
|a||Appends text to right of the cursor. Existing text shifted right|
|A||Inserts text at end of the line|
|o||Opens a line below the current line the cursor is on|
|O||Opens line above the current line the cursor is on|
|rch||Replaces a single character (ch) under cursor. No [Esc] required|
|R||Replaces text from cursor to right. Existing text overwritten|
|s||Replaces character under cursor with any number of characters|
|S||Replaces entire line that cursor is on|
- The Last-line Mode is opened by pressing and holding the [shift] key and the [:] colon key simultaneously ([shift] + [colon]). If this fails to place you in “Last-line” mode, hit the escape <esc> key to move from insert mode to command mode. Upon entering this dual key-stroke combination, the cursor moves to the bottom, left corner of the screen and appears as a colon “:” . This mode allows the vi user to send commands to the actual UNIX shell. Commands used in the “Last-line Mode” write the contents of a file to the hard drive, reads contents into the existing file from another file, or quits the vi session. Once a command has been executed, the cursor moves back to the top, left of the screen. To move back to the top of the screen without executing a command, press the <esc> key. While in last-line mode (where we communicate with the shell and not with the vi editor), the following commands can be executed:
|:w||Writes file to hard drive and remains in editing mode|
|😡||Writes file and quits editing mode|
|:wq||Writes file and quits editing mode|
|:q||Quits editing mode with no changes made to file|
|:q!||Forces vi to quit and exits to the command-line shell|
|:w >> note1||Appends current file contents to new file, note1|
|:r <filename>||Reads contents of <filename> into current vi file|
|:n1, n2w customer.sql||Writes selected lines, n1 through n2, to customer.sql|
|:.w customer.sql||Writes current line [.] to file, customer.sql|
|:$w customer.sql||Writes last line [$] to file, customer.sql|
|:!||Used to execute a shell command without leaving vi|
|[Crtl-z]||Suspends current session and escaped to UNIX shell|
- Let’s begin our next lab exercise by opening an empty file named “linux” and manually inserting a script entitled, The Linux Story.
Note: The vi editor does not perform an automatic word-wrap, so hit the <enter> key at the end of a normal line (80 characters). This will help with editing features, perform a carriage feed, and begin a new line.
While you are entering “The Linux Story,” periodically write the file to the hard drive by typing <esc> and then entering the last-line command <SHIFT> + <:>. A colon appears at the bottom, left of the screen. Enter w and press <enter>. If a file fails to write, use <SHIFT>+<:> plus the ! symbol, such as :w! . The bang sign ( ! ) forces a write to the hard drive.
Linus Torvalds, creator of the Linux Operating System, was born Dec 28, 1969 in Helsinki, Finland. His grandfather had a Commodore VIC-20 that he had the opportunity to work with; by age ten he was already dabbling in programming. He enrolled at the University of Helsinki in 1989, and in 1990 he took his first C programming class.
Note: Since vi places its text in a buffer, it is wise to frequently write a file to disk at specific intervals. This will prevent data loss if the system fails or an incorrect key combination closes our file. Saving the buffer is performed in the last-line mode. Every command in this mode is preceded by a : (colon) and followed by the <enter> key. To save, enter last-line mode and then enter w (for write) and press the enter key.
- Opening a new line: place the cursor on the main title, The Linux Story, and open a new line underneath the title by typing a lower case o. You can now enter, By Anonymous. Since the o placed you in the Insert Mode, you must enter [Esc] to return to the Command Mode.
- Replacing text: replacing text can be done by one character at a time or a string of characters at a time. Use the r, R, s, and S keys. Place the cursor over the l in linux in the first line. Now hit the r key and then type an upper case L. This changes the word linux to Linux.
- Replacing a word: replacing a word can be done using the cw (change word) command. Place the cursor on the letter D where Linus’ birthday is shown as “Dec”. Now, type cw. Dec should disappear. Now type December. This changes the word Dec to December. Press the Escape <esc> key.
- Replacing a single character with multi-character text: use the s key after placing the cursor at the beginning of the word string to be replaced.
- Replacing an entire line with another line: use the S key after placing the cursor at the beginning, or at any point, of the sentence to be replaced.
- Determining your current cursor position by line number: use the [Ctrl-g] key to see what line number your cursor is on. The line number is displayed in the last-line position at the bottom right of the screen.
- Placing the cursor on a predetermined line: Use the G key followed by a line number to place the cursor on a particular line (While in Command Mode enter, 12G to go to the 12th line).
- Moving the cursor from the beginning of or to the end of the current line: enter a caret (^) to move to the beginning of the current line or enter a dollar ($) to move to the end of the current line.
- Moving around in a document: Use the up-down, right-left keyboard keys or use b, e, and w to move between words in a sentence.
- Searching for a pattern string of characters: use the / (forward slash) followed by the pattern being searched for. To find the first occurrence of the word Linux, type /Linux and press <Enter>. Using ? instead of / will search backwards.
- Searching and replacing a string pattern: enter the last-line mode and type: 1,$s/pattern1/pattern2/ where 1 indicates the first line of the file and $ indicates the last line of the file. Pattern1 is the string searched for and pattern2 is the string replacing pattern1. To practice this important editing function, enter the Last-Line Mode [:] and type 1,$s/Story/Song/ and [Enter].
6. Issue the command vi testfile2. You have now opened the vi editor to a new file called testfile2. You are in the command mode. Enter the command the letter ” i “. You are now in the insert mode, able to type in text.
15. Issue the command history | more . Scroll down through the file. Try to scroll up. (Note that only the space bar will scroll through the file. The ” | “, or pipe, will be dicussed later.) Record what you observe.
Try using your direction keys to move up, down, left and right in your file. Sometimes, you may find that the direction keys don’t work. If that is the case, to move the cursor one character at the time, you may use the h, j, k, and l keys. These keys move you in the following directions:
While these four keys (or your direction keys) can move you just about anywhere you want to go in your file, there are some shortcut keys that you can use to move a little more quickly through a document. To move more quickly among words, you might use the following:
To build on this further, you can precede these commands with a number for greater movement. For example, 5w would move you forward five words; 12b would move you backwards twelve words. [You can also use numbers with the commands mentioned earlier. For example, 5j would move you down 5 characters.]
Two other useful commands for moving quickly from one end to the other of a document are G to move to the end of the file and 1G to move to the beginning of the file. If you precede G with a number, you can move to a specific line in the document (e.g. 15G would move you to line 15).
One method for moving quickly to a particular spot in your file is to search for specific text. When you are in command mode, type a / followed the text you wish to search for. When you press Return, the cursor will move to the first incidence of that string of text. You can repeat the search by typing n or search in a backwards direction by using N.
Preceding the command with a number will delete multiple characters. For example, 10x will delete the character selected and the next 9 characters; 10X will delete the 10 characters to the left of the currently selected character. The command 5dw will delete 5 words, while 4dd deletes four lines.
Often, when you delete or cut text, you may wish to reinsert it in another location of the document. The Put command will paste in the last portion of text that was deleted since deleted text is stored in a buffer. To use this command, place the cursor where you wish the deleted text to appear. Then use p to reinsert the text. If you are inserting a line or paragraph use the lower case p to insert on the line below the cursor or upper case P to place in on the line above the cursor.
If you wish to make a duplicate copy of existing text, you may use the yank and put commands to accomplish this function. Yank copies the selected text into a buffer and holds it until another yank or deletion occurs. Yank is usually used in combination with a word or line object such as the ones shown below:
Once the desired text is yanked, place the cursor in the spot in which you wish to insert the text and then use the put command (p for line below or P for line above) to insert the contents of the buffer.
To insert a blank line below the line your cursor is currently located on, use the o key and then hit ESC to return to the command mode . Use O to insert a line above the line the cursor is located on.
You can use the append command to add text at any place in your file. Append (a) works very much like Insert (i) except that it insert text after the cursor rather than before it. Append is probably used most often for adding text to the end of a line. Simply place your cursor where you wish to append text and press a. Once you’ve finished appending, press ESC to go back to command mode.
Since vi does not use automatic word wrap, it is not unusual in editing lines to end up with lines that are too short and that might be improved if joined together. To do this, place your cursor on the first line to be joined and type J. As with other commands, you can precede J with a number to join multiple lines (4J joins 4 lines).
Sometimes, when you create a mess (when you first start using vi this is easy to do!) you may wish to erase all edits made to the file and either start over or quit. To do this, you can choose from the following two commands:
A Linux shell is a command language interpreter, the primary purpose of which is to translate the command lines typed at the terminal into system actions. The shell itself is a program, through which other programs are invoked
- A shell script is a file containing a list of commands to be executed by the Linux shell. shell script provides the ability to create your own customized Linux commands
- Linux shell have sophisticated programming capabilities which makes shell script powerful Linux tools
After typing the program press ESC and : together then at the bottom of the vi screen you can see i.e. prompt .In that type as wq which means write and quit i.e. the content what is typed will be written and saved into that file that has been created
- The shell is the primary agency that determines a user’s environment. Determine which shell that you are using by typing the following command:
2. PATH is one of the important system variables. It provides the shell with a searchable path to explore in order to find commands stored in various directories in the file system structure. Once the command entered on the command line is found, the shell can interpret the command. Determine your shell’s path settings.
8. PS2 is the secondary string for the shell. If the shell does not have enough information on the command line to interpret the command, it presents the user with the secondary prompt. The user can finish the command line on the secondary prompt line and then hit the enter key. Determine your PS2 settings
- TERM is the variable that indicates the type of terminal you are using. Determine your TERM setting.