The shell remains one of the most powerful tools on a computer system yet a large number of users are unaware of how much can be accomplished with it. Using a combination of simple commands, you will see how to solve complex problems in day-to-day computer usage.
This video will take you through useful real-world examples to make your daily life easy when working with the shell. It shows you how to effectively use the shell to accomplish complex tasks with ease. Starting with the basics of the shell, you will learn simple commands and their usages, allowing you to perform operations on different kinds of files. We then explain text processing and web interaction, and conclude with backups, monitoring, and other sysadmin tasks.
This is an an excellent guide on solving day-to-day problems using the shell and a few powerful commands together to create solutions.
- Explore a variety of regular usage tasks and how they can be made faster using shell commands
- Write shell scripts that can dig data from the web and process it with a few lines of code
- Interact with a simple web API from scripts
- Perform and automate tasks such as automating backups and restoring with archiving tools
- Create and maintain file/folder archives, compression formats, and encrypting techniques with shell
- Monitor different activities on the network using logging techniques
Shell Something Out
- Printing in the Terminal
- Playing with Variables and Environment Variables
- Function to Prepend to Environment Variables
- Math with the Shell
- Playing with File Description and Redirection
- Arrays and Associative Arrays
- Visiting Aliases
- Grabbing Information about the Terminal
- Getting and Setting Dates and Delays
- Debugging the Script
- Functions and Arguments
- Reading the Output of a Sequence of Commands
- Reading n Characters without Pressing the Return Key
- Running a Command Until It Succeeds
- Field Separators and Iterators
- Comparisons and Tests
Have A Good Command
- Concatenating with cat
- Recording and playingback of terminal sessions
- Finding files and file listing
- Playing with xargs
- Translating with tr
- Checksum and Verification
- Cryptographic Tools and Hashes
- Sorting Unique and Duplicates
- Temporary File Naming and Random Numbers
- Splitting Files and Data
- Slicing Filenames Based on Extension
- Renaming and Moving Files in Bulk
- Spell Checking and Dictionary Manipulation
- Automating Interactive Input
- Making Commands Quicker by Running Parallel Processes
File In, File Out
- Generating Files of any Size
- The Intersection and Set Difference (A-B) on Text Files
- Finding and Deleting Duplicate Files
- Working with File Permissions, Ownership, and the Sticky Bit
- Making Files Immutable
- Generating Blank Files in Bulk
- Finding Symbolic Links and Their Targets
- Enumerating File Type Statistics
- Using Loopback Files
- Finding the Difference between Files, Patching
- Using Head and Tail for Printing the Last or First Ten Lines
- Listing Only Directories – Alternative Methods
- Fast Command-Line Navigation Using pushd and popd
- Counting the Number of Lines, Words and Characters in a File
- Printing the Directory Tree
Texting And Driving
- Using Regular Expressions
- Searching and mining text inside a file with grep
- Cutting a File Column-Wise with Cut
- Using sed to Perform Text Replacement
- Using awk for Advanced Text Processing
- Finding Frequency of Words Used in a Given File
- Merging Multiple Files as Columns
- Printing the nth Word or Column in a File or Line
- Printing Text between Line Numbers or Patterns
- Printing Lines in the Reverse Order
- Parsing E-mail Address and URLs from Text
- Removing a Sentence in a File Containing a Word
- Replacing a Pattern with Text in all Files in a Directory
- Text Slicing and Parameter Operations
Tangled Web? Not At All
- Downloading from a Web Page
- Downloading a Web Page as Plain Text
- A Primer on cURL
- Parsing Data from a Website
- Image crawler and downloader
- Web photo album generator
- Creating a "define" Utility by Using the Web Backend
- Finding Broken Links in a Website
- Tracking changes to a website
- Posting to a Web Page and Reading Response
The Backup Plan
- Archiving with tar
- Archiving with cpio
- Compressing data with gzip
- Archiving and Compressing with Zip
- Faster Archiving with pbzip2
- Creating filesystems with Compression
- Backup Snapshots with rsync
- Version Control-Based backup with Git
- Creating entire disk images using fsarchiver
The Old-Boy Network
- Let Us Ping!
- Listing All the Machines Alive on a Network
- Running Commands on a Remote Host with SSH
- Transferring Files through the Network
- Password-Less Auto-Login with SSH
- Port Forwarding and Mounting Remote Drives
- Network Traffic and Port Analysis
- Creating Arbitrary Sockets
Put On The Monitors Cap
- Monitoring Disk Usage
- Calculating the Execution Time for a Command
- Collecting Information about Logged-in Users, Boot Logs, and Boot Failures
- Listing the Top ten CPU Consuming Processes in an Hour
- Monitoring Command Outputs with Watch
- Logging Access to Files and Directories
- Logfile Management with logrotate
- Logging with syslogd
- Monitoring User Logins to Find Intruders
- Remote Disk Usage Health Monitor
- Finding Out Active User Hours on a System
- Measuring and Optimizing Power Usage
- Monitoring Disk Activity
- Checking Disks and Filesystems for Errors
- Gathering Information about Processes
- Killing Processes and Send or Respond to Signals
- Sending Messages to User Terminals
- Gathering System Information
- Using /proc for Gathering Information
- Scheduling with cron
- Writing and Reading the MySQL Database from Bash
- User Administration Script
- Bulk Image Resizing and Format Conversion
- Taking Screenshots from the Terminal
- Managing Multiple Terminals from One
Sarath Lakshman is a 23-year-old who was bitten by the Linux bug during his teenage years. He is a software engineer working for the ZCloud engineering group at Zynga, India. He is a life hacker who loves to explore innovations. He is a GNU/Linux enthusiast and hactivist of free and open source software. He spends most of his time hacking with computers and having fun with his great friends.
Sarath is well known as the developer of SLYNUX (2005)—a user friendly GNU/Linux distribution for Linux newbies. The free and open source software projects he has contributed to are PiTiVi Video editor, SLYNUX GNU/Linux distro, Swathantra Malayalam Computing, School-Admin, Istanbul, and the Pardus Project. He has authored many articles for the Linux For You magazine on various domains of FOSS technologies.
He had made a contribution to several different open source projects during his multiple Google Summer of Code projects. Currently, he is exploring his passion about scalable distributed systems in his spare time. Sarath can be reached via his website http://www.sarathlakshman.com.
Shantanu Tushar has been an advanced GNU/Linux user since his college days. He works as an application developer and contributes to the software in KDE projects. Shantanu has been fascinated by computers since he was a child, and spent most of his high school time writing C code to perform daily activities.
Since he started using GNU/Linux, he has been using shell scripts to make the computer do all the hard work for him. He also takes time to visit students at various colleges to introduce them to the power of free software, including its various tools.
Shantanu is a well-known contributor in the KDE community and works on Calligra, Gluon, and the Plasma subprojects. He looks after maintaining Calligra Active—KDE's office document viewer for tablets, Plasma Media Center, and the Gluon Player. One day, he believes, programming will be so easy that everybody will love writing programs for their computers. Shantanu can be reached by e-mail on email@example.com, shantanutushar on identi.ca/twitter, or his website http://www.shantanutushar.com.
A test will be conducted at the end of the course. On completion of the test with a minimum of 70% marks, training.com will issue a certificate of successful completion from NIIT.
Five re-attempts will be provided in case the candidate scores less than 70%.
A Participation certificate will be issued if the candidate does not score 70% after five attempts.
- Basic programming skills.
- Knowledge of Linux/ Unix command interface and command editor.
- Basic Linux/ Unix commands and basic concepts of Shell
Who should go for this Course?
If a lucerative career as a solution developer and system administrator for Linux and Unix platforms is your dream then this course is the sure way to realise it. Aspirants looking forward to become OS Engineers, Integration Engineers, Linux Admins can also pursue this course to develop shell scripting skills.
Where can I find my session schedule?
The session schedule will be available in the training.com Student portal - Learning Plan section. You can login to your training.com account to view the same.
What is your refund policy?
Upon registering for the course, if for some reason you are unable or unwilling to participate in the course further, you can apply for a refund. You can initiate the refund any time before start of the second session of the course by sending an email to firstname.lastname@example.org , with your enrolment details and bank account details (where you want the amount to be transferred). Once you initiate a refund request, you will receive the amount within 21 days after confirmation and verification by our team. This is provided if you have not downloaded any courseware after registration.
Why is it called Self Paced course?
Self Paced courses are comprised of several learning videos into a course structure broken down into Learning Modules and Sessions. The learner is required to go through the videos topic-wise in the structure sequence of the course to learn the concepts. Being Self Paced, there is no intervention of any external faculty or additional mentor in learning.
Being a self paced course, how will my attendance be tracked and marked?
you login into your training.com account to watch the videos, attendance for it will be marked automatically.
How will the assessment be conducted for my certification?
After each module, a multiple choice questions type online assessment will be conducted. 5 Attempts will be allowed for the assessment to be completed. The minimum pass percentage for each assessment is 70%. On successfully clearing the assessment, a verified certificate from NIIT shall be awarded otherwise the certificate of participation will be issued.
What are the minimum system requirements to attend the course?
- Personal computer or Laptop with web camera
- Headphone with Mic
- Minimum 4 Mbps broadband connection
Minimum system requirements for accessing the courses are:
Is there an official support desk for technical guidance during the training program?
Yes.For immediate technical support during the live online classroom sessions, you can call 91-9717992809 or 0124-4917203 between 9:00 AM and 8:00 PM IST. You can write to email@example.com for all other queries and our team will be happy to help you.