Birla Institute of Technology & Science, Pilani

Command Line Interfaces and Scripting

Birla Institute of Technology & Science, Pilani

Command Line Interfaces and Scripting

Included with Coursera PlusLearn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

5 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

5 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Build toward a degree

What you'll learn

  • Demonstrate the use of basic commands to operate on files and directories.

  • Explain the internals of the Linux file system and use the vi editor for creating, editing, and recovering files.

  • Elaborate on I/O indirection and filters used in file system administration.

  • Build shell scripts to automate repetitive tasks and create programs to understand the usage of system calls.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

July 2026

Assessments

94 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 10 modules in this course

This module offers a comprehensive exploration of the core components that constitute a Linux operating system. By the end of this module, participants will possess a deep understanding of the Linux ecosystem, including its components and the intricate processes that transpire during bootup and login. Additionally, participants will gain proficiency in utilizing Linux commands with appropriate switch options to execute various tasks effectively. The module commences with an in-depth examination of the diverse components that compose a Linux operating system. Participants will become well-versed in the roles of the kernel, shell, filesystem, processes, system libraries, and more. This foundational knowledge enables learners to comprehend how these components collaborate to provide a robust computing environment. The subsequent segment delves into the bootup and login process of a Linux system. Learners will gain insight into the step-by-step sequence, including bootloader initialization, kernel initialization, and the role of the init process. Understanding the processes during bootup sets the stage for participants to comprehend how a Linux system readies itself for user interaction. A central focus of the module is the practical application of Linux commands. Participants will become adept at identifying and using the appropriate command-line tools with switch options to accomplish various tasks. For example, participants will grasp the usage of commands like “ps” to manage processes, “ls” to list files and directories, and “systemctl” to control system services. Hands-on exercises ensure that participants acquire practical skills aligned with theoretical knowledge. Throughout the module, real-world scenarios and examples provide context, illuminating the relevance of each concept. Participants will not only comprehend the theory but also apply it to practical scenarios, fostering a comprehensive understanding.

What's included

16 videos5 readings10 assignments2 ungraded labs

This module provides an in-depth exploration of the foundational aspects of working with files and directories in the Linux operating system. Upon completion of this module, participants will possess a comprehensive understanding of Linux’s file and directory structure, alongside the ability to effectively create, update, and delete files and directories using essential commands. The module begins by demystifying the concepts of Linux files and directories. Learners will gain a clear insight into the hierarchical organization of data within the Linux filesystem, understanding how files and directories are structured and interconnected to facilitate efficient data management. A significant portion of the module is dedicated to practical skills acquisition. Participants will engage with fundamental commands that allow them to create, update, and delete files and directories. Through hands-on exercises, learners will develop proficiency in the command-line tools required for these essential file and directory management tasks. The module’s structure ensures a gradual progression from theory to practical application. Participants will be introduced to the syntax and options of relevant commands, enabling them to manipulate files and directories with precision. Real-world scenarios and examples provide context, enabling learners to understand the broader implications of their actions within the Linux filesystem. Upon completing this module, participants will possess not only theoretical knowledge but also the practical skills necessary for proficient file and directory management in Linux. The module’s emphasis on hands-on practice ensures that learners are equipped to confidently navigate the filesystem, create new files and directories, update existing ones, and remove obsolete elements.

What's included

11 videos3 readings11 assignments1 ungraded lab

This module offers a comprehensive exploration of the fundamental concepts underpinning filesystems and their organization of data on storage devices. By the end of this module, learners will gain a robust understanding of key filesystem components, enabling them to navigate and manipulate data storage effectively. The module begins by elucidating the core purpose of filesystems, shedding light on how they structure and store data on storage mediums. Learners will grasp the significance of these structures in managing data accessibility and storage efficiency. The filesystem architecture, the superblock, is then explored. Participants will be introduced to its pivotal role in filesystem integrity and its contribution to metadata organization. The structure of the superblock, replete with critical parameters and metadata, will be intricately explained, emphasizing its indispensable role in filesystem operations. Understanding the concept of inodes is crucial to comprehending file system representation. This module delves into the role of inodes in portraying files and directories within a filesystem, highlighting their significance in data management and organization. Moreover, learners will explore the various types of links that connect files and directories within a filesystem, delving into the nuances of hard links and symbolic (soft) links. Practical application is a pivotal aspect of the module, culminating in hands-on activities. Learners will acquire the proficiency to create both hard links and symbolic links, reinforcing their theoretical knowledge with practical implementation.

What's included

9 videos3 readings8 assignments1 ungraded lab

This module delves into the intricate workings of the Linux operating system's Kernel I/O structure and its pivotal role in managing input and output operations. Upon completion of this module, participants will possess a comprehensive understanding of the Kernel's interaction with hardware devices and be adept at utilizing essential commands for device management on a Linux system. The module commences by unraveling the complex Kernel I/O structure in Linux. Learners will grasp its significance in orchestrating input and output operations, ensuring efficient data flow between the operating system and external devices. Furthermore, participants will explore the dichotomy between block devices and character devices, gaining insights into their distinctive use cases in diverse computing scenarios. The module casts a spotlight on the indispensable role of device drivers in establishing seamless communication between the operating system and hardware devices. Participants will delve into the intricacies of device driver implementation and its impact on the overall system performance and functionality. Interrupt handling, a cornerstone of device interaction, is meticulously explained. Participants will comprehend how interrupts facilitate swift communication between devices and the CPU, minimizing latency and optimizing system responsiveness. Practical application is a central component of this module, as learners develop proficiency in utilizing essential Linux commands for device management. Through hands-on exercises, participants will become adept at utilizing commands such as lsblk, fdisk, df, hwinfo, and parted, bolstering their capacity to manage storage devices effectively. Throughout the module, real-world examples and case studies illuminate the concepts, offering participants a tangible understanding of the theoretical underpinnings. The module's balanced approach, encompassing both conceptual understanding and practical skill development, ensures that participants not only comprehend the intricate dynamics of Linux Kernel I/O and device management but also possess the practical skills to navigate and manipulate hardware devices on a Linux platform.

What's included

10 videos3 readings10 assignments1 ungraded lab

This module offers an in-depth exploration of the Vi text editor, a powerful tool for creating and editing programs. By the conclusion of this module, participants will have acquired a high level of proficiency in utilizing Vi to manipulate text and code, enhancing their efficiency in software development and text editing tasks. The module initiates with an introduction to the Vi editor, highlighting its significance in programming and text processing. Learners will be guided through the operating modes within Vi, enabling them to comprehend the context-sensitive nature of this versatile editor. The core focus then shifts to developing a robust command vocabulary within Vi. Through comprehensive instruction and practical examples, participants will grasp the essential commands necessary for text manipulation, cursor movement, and program editing. The module delves into advanced techniques, encompassing indispensable functionalities such as copying, pasting, pattern searching, and substitution. Learners will gain mastery over these options, elevating their ability to efficiently navigate and modify large volumes of text and code. Practical application is emphasized, empowering participants to seamlessly integrate these skills into their programming workflow. Throughout the module, learners will engage in hands-on exercises and real-world scenarios, solidifying their understanding of Vi's capabilities. By providing a balance between theoretical insights and practical application, the module ensures that participants not only comprehend the Vi editor's intricacies but can also effectively wield it to streamline their coding and text editing tasks.

What's included

7 videos2 readings6 assignments1 ungraded lab

This module delves into the intricacies of the Vi text editor and the powerful concept of I/O redirection in Linux. By the conclusion of this module, participants will possess a high level of proficiency in recovering files and programs within the Vi editor, a comprehensive understanding of standard I/O redirection operators, and the ability to effectively apply commands for I/O redirection and filtering. The module begins by addressing the critical skill of recovering files and programs within the vi editor. Participants will gain insight into various techniques for recovering unsaved changes, restoring previous versions, and navigating the editor's multiple buffers. These techniques empower learners to confidently navigate the vi editor, even in scenarios where data recovery is essential. The module then delves into the realm of standard I/O redirection operators. Learners will comprehend how these operators allow the rerouting of input and output streams, enabling efficient manipulation of data flow between commands and files. Participants will be exposed to a range of operators, including “>,” “>>,” “<,” and “|,” along with practical examples illustrating their applications. The practical application of commands for I/O redirection and filtering constitutes a pivotal aspect of the module. Participants will engage in hands-on exercises, mastering the art of redirecting command outputs to files, appending data to existing files, and employing filters to process data streams. This hands-on approach ensures that learners not only grasp the theory but also develop the essential skills to maneuver data effectively in a Linux environment. Throughout the module, real-world scenarios and examples provide context, highlighting the utility of advanced Vi editor techniques and I/O redirection concepts in practical situations. By the end of the module, participants will possess a comprehensive toolkit, enabling them to proficiently recover files and programs within the vi editor, leverage standard I/O redirection operators, and apply commands for I/O redirection and filtering.

What's included

15 videos3 readings15 assignments

In this module, you will learn how to do pattern match and different shell metacharacters. You will also learn to do scripting for the shell, which helps combine more than one command to accomplish a complex task. You will explore the concepts of branching, looping, and arrays in Shell scripting.

What's included

9 videos4 readings9 assignments1 ungraded lab

In this module, you will learn how to use decision-making constructs like “if statement, if-else, for loop, while loop, and case statement” in shell to achieve complex tasks. You will also learn to do file handling in shell scripting—reading and writing.

What's included

11 videos6 readings12 assignments1 ungraded lab

In this module, you will learn the different modes in which the operating system work—Kernel and User mode, and communication between them. You will learn the definition of a process and the use of a system call to create a process along with understanding the execution of a system call related to process—fork, wait, waitpid, exec, signal, kill, and raise. You will learn the difference between a system call and a function call.

What's included

8 videos3 readings8 assignments1 ungraded lab

In this module, you will learn how System calls can be used for low-level file I/Os—open, create, close, read, write, lseek, mkdir, rmdir, rename, link, symlink, and unlink. You will also learn the advanced commands—grep along with pattern matching. This module will be concluded by discussing the commands which are used for System administration.

What's included

4 videos4 readings5 assignments2 ungraded labs

Build toward a degree

This course is part of the following degree program(s) offered by Birla Institute of Technology & Science, Pilani. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹

Instructor

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
49 Courses83,428 learners

Explore more from Cloud Computing

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions