Course Title: 
Linux and Shell Programming Lab
Course Code: 
Year Taught: 
Postgraduate (PG)
School of Arts and Sciences
School of Engineering

'Linux and Shell Programming Lab' is a course offered in M. C. A. (Master of Computer Applications) program at Amrita Vishwa Vidyapeetham.

Introduction to Linux - History, Architecture, Comparison with UNIX, Features and Facilities of Linux, Basic commands in Linux, Files and File Structure - Linux File System, Boot block, Super block, Inode table, Data blocks, Linux standard directories. File naming Conventions, Path, Types of file names and Users, File Commands in Linux, file comparisons, Directory Commands, Text Editors- Functions of a Text Editor, vi Editor, Locating Files, File Access Permissions [FAP], Viewing and Changing FAPs. Linux Shell – Session, Standard streams, Redirection, pipes, tee, command execution, command line editing, command substitution, job control, aliases. Shell variables, exporting, output, input, shell environment variables and customization, startup scripts, command history.

Common administrative tasks, identifying administrative files configuration and log files, Role of system administrator, Managing user accounts-adding & deleting users, changing permissions and ownerships, Creating and managing groups, modifying group attributes, Temporary disabling of users accounts, creating and mounting file system. Checking and monitoring system performance - file security & Permissions, becoming super user using su. Getting system information with uname, host name, disk partitions & sizes, users, kernel. Installing and removing packages. Backup, restore and Compress utilities - tar, cpio, dump,rsync and restore utilities.

Bash shell programming – basic concepts, expressions, decision making selections, repetition, special parameters - positional parameters, shift, argument validation, script examples. Communication in Linux - mesg, who- T, talk, write, wall, finger, chfn, ping, traceroute utilities, email facilities . Configuration of servers- Telnet, FTP, DHCP,NFS, SSH, Proxy Server(Squid), Web server (Apache), Samba. Daemons- init, crond, atd, xinetd, inetd, the services file. named, sshd, httpd.