TutorialsMate - Your Tutor Friend!


What is a Security Operations Center (SOC)?

Definition of Security Operations Center

SOC, What SOC, What Security Operations Center, SOC Working
A security operations center (SOC) is a centralized unit within an organization that deals with security incidents and improve security posture on an ongoing basis. The main aim of the SOC team is to analyze, detect, and respond to cybersecurity issues using different technologies and robust processes. An SOC is a location within an organization from where the SOC team supervises the site with the help of data processing technology. Generally, SOC is equipped to perform actions like access monitoring, controlling lighting, alarms, and vehicle barriers.

Security Operations Centers monitor and analyze activities on different organizational components such as networks, servers, endpoints, databases, websites, apps, and other systems to prevent any anomalous activity that may be a threat to an organization. The SOC team always stays ahead of any kind of security threat by analyzing active feeds, making rules, identifying exceptions, enhancing responses and finding possible vulnerabilities in the defenses they have already established. Some organizations have in-house SOC, while others opt to outsource these services. However, they both have the primary aim of preventing breaches and minimizing losses due to online cybercrime activity.

How does a Security Operations Center work?

A security operations center is a team of expert individuals who are responsible for the ongoing, operational component of enterprise information security. They do not usually develop security strategies, design security architecture, or implement protective measures. However, they work together to detect, analyze, respond to, report on, and prevent cybersecurity issues. Furthermore, there are some other capabilities such as forensic analysis, cryptanalysis, and malware reverse engineering that can be seen in SOCs.

Read More

SEO : Complete SEO Tutorial for Beginners (2020)

What is SEO / Search Engine Optimization?

SEO : Complete SEO Tutorial for Beginners
Search Engine Optimization (SEO) is a technical, analytical and creative process that helps in improving the visibility of a website in search engines. It is all about optimizing a website for search engines. The main aim of SEO is to drive free organic traffic to a site from search results.
All major search engines (Google, Yahoo, Bing, etc.) provide customized search results, where search contents are shown and ranked based on what search engines find most relevant to users.

This tutorial covers all the core and advanced concepts of SEO. After reading this tutorial, you will have a clear understanding of SEO and how to get your content ranked highly in search engines.

How does a Search Engine Work?

A search engine works on the following techniques to deliver search results:


Crawling is the process which is performed by the search engine robots (commonly known as crawlers or spiders) to fetch all the web pages linked to a website. First, spiders start with a single webpage. They further fetch all the other links of that webpage, and then next pages, and then next. They eventually fetch everything on the web following this way. They also include images, videos, PDF, etc but regardless of the file formats. In SEO, it is very important that search engines fetch all the updated content from your website.


After fetching the data from the webpages, spiders add it to their index. It can be pictured as a massive database of discovered URLs, from where it can be retrieved when a searcher is looking for information.
Spiders do not see the webpages the way humans do. The process of indexing is identifying the text, words, and expressions that help crawlers to understand about the webpage and assign related keywords. Once, a webpage is crawled, it's in the queue to be displayed as a search result for relevant keywords or queries. Make sure that your webpages are crawled properly.

Note: To check your indexed pages, simply open Google and type "site:yourdomain.com" into the search bar. It will show you all the indexed links for the specified domain. There are some tools that we can use to get our links indexed properly. We will be explaining those tools in the coming articles.


When someone enters a search query into the search engine, it starts looking in its database for the webpages that are more relevant to the query and displays those webpages as search results. Search results are ordered by most relevant to least relevant automatically by the search engines.

Is SEO Important?

Many people are wondering if SEO is really an important factor - the answer is, YES. However, it may be a challenging task and takes a lot of effort, it still matters.SEO is the most powerful and relevant online marketing strategy to boost any online business. It is the best way to drive organic traffic on your website which promotes online visibility and attracts customers. This can generate more revenue for any business.


There is no special requirement to learn the concepts of SEO. You just need to have basic knowledge of using computers and the internet. We have a well built and organized series of topics under the "SEO Tutorial" to help you in learning SEO from scratch.


Tutorials on TutorialsMate are designed to help beginners and professionals. Our 'SEO Tutorial' will help beginners to master in Search Engine Optimization.


Tutorials on "TutorialsMate" are designed by professionals, and we assure you that you will not find any kind of problem. In case there is any mistake, we request you to submit the problem using the contact form.



Read More

ABI - Application Binary Interface

Full Form ABI - Application Binary Interface

What is ABI?

ABI stands for "Application Programming Interface", which is an interface between two binary program modules. One of these modules is defined as an operating system, and the other is defined as a program that is being run by the user. It also describes the mechanisms by which functions are invoked, such as:

How the parameters are transferred between caller and receiver!
How return values are given to the callers!
How the libraries are implemented!
How the programs are loaded into the memory!
How data structures are accessed in machine code!

The ABI defines items, such as the calling conventions (also known as the common aspect of an ABI), structure layout and padding, type alignments, and some other aspects that must remain consistent between several software components to ensure compatibility.

"Calling conventions defines the transfer of data between a function callee and caller."

The following are the details that ABI covers:

a processor instruction set consisting of more information such as stack organization, memory access types, register file structure, etc.
the sizes, layouts, and alignments of basic data types, which can be accessed by the processor directly.
the calling convention, which manages how functions' arguments are passed and return values are received.

Embedded ABI

EABI is the acronym for 'Embedded Application Binary Interface'. It specifies standard conventions for file formats, data types, register usage, stack frame organization, and function parameter passing of an embedded software program, to use with an embedded OS. It is designed for optimizing performance within the limited resources of an embedded system.

PowerPC, ARM EABI2, and MIPS EABI are widely used EABIs.

←prev next→

Do you know?

Read More

AAC - Advanced Audio Coding

Full Form AAC - Advanced Audio Coding

What is AAC?

AAC stands for "Advanced Audio Coding", which is a file format used for storing digital audio. It was designed for compressing and encoding scheme digital audio files. This technology can be an excellent option for coding audio files at medium to high bit rates, and it achieves better sound quality than MP3 files at the same bit rate. It was built to be the successor of the MP3 (ISO/MPEG Audio Layer -3)  file formats. It provides support for DRM (Digital Radio Mondiale), which enforces copyright.

AAC+ and AAC++ can be considered as an upgrade to the AAC.

AAC technology makes use of two coding techniques so that it can minimize the data which is required to impart high-quality audio. Irrelevant signals are discarded, and redundancies are wiped out automatically.

Following are the steps for encoding the audio files:

Modified discrete cosine transform (also referred to as MDCT) is used, which converts the signals from time-domain to the frequency-domain. To convert an exact number of time samples into frequency samples, filter banks are used.
 The frequency-domain is quantized with the help of a psychoacoustic model. After that, it is coded.
 Internal error connection codes are applied appropriately.
 The signal is transmitted or stacked.
 To avoid sample corruption, the Luhn mod N algorithm is applied for each frame.

AAC has the ability to sample frequencies between 8Hz to 96kHz up to 48 channels. It can also compress audio, which contains streams of complex pulses and square waves better than MP3.

AAC is an international standard audio format for major companies such as Dolby Laboratories Inc., Nokia Corp, and Sony Corp, etc. It is also used as a default audio format for iPhone, iPod, iPad, iTunes, Nintendo DSi, and 3DS, DivX Plus Web Player, Nokia S40 phones and PlayStation 3, etc. It is also used by most of the manufacturers of in-dash car audio systems.

AAC's Advantages over MP3

It achieves more sample rates (from kHz to 96 kHz) than MP3 (from 16 kHz to 48 kHz).
It can handle up to 48 channels, whereas MP3 supports two channels in MPEG-1 and 5.1 channels in MPEG-2 mode.
Rather than MP3's hybrid coding, AAC uses a pure MDCT, which helps in getting higher efficiency and a simpler filter bank.
AAC uses a block size of 1024 or 960 samples, whereas MP3 uses 576 sample blocks so that AAC allows more efficient coding for stationary signals.
AAC provides higher coding accuracy for transient signals than MP3.
AAC is capable of better handling of audio frequencies above 16 kHz.

Hence, AAC allows developers more flexibility than MP3 to design codecs.

Do you know?

Read More

Bash Script Shebang

As we have discussed in the previous article that every bash script should start with the following line:
Here, the sequence of characters (#!) is known as “Shebang”. It is used to communicate with the operating system so that it can decide which interpreter should be used to parse the rest of the file.

Shebang Interpreter Directive

The shebang interpreter directive in bash script takes the following form:
#! Interpreter [arguments]
There are some important points to remember before we start explaining how to use shebang, which are mentioned below:

The directive must be used in the first line of the script.
The directive must start with the shebang (#!).
White space after the shebang characters is optional, not mandatory.
An interpreter is a full path to a binary file. (i.e., /bin/bash, /bin/sh).
Interpreter arguments are optional.

For example, #!/bin/bash uses ‘bash’ to parse the file.

How to use Shebang in Bash Scripts?

If you do not specify the shebang and try to run the Bash Script using another shell, then the script will be parsed by the default interpreter used by that specific shell. For example, ‘bash’ uses ‘bash’ and ‘zsh’ uses ‘sh’ as a default interpreter. To ensure that your script is always interpreted with the Bash, you have to specify the executable path with the help of shebang.

There are two common ways that you can use to specify the shebang directive and set the interpreter.

Method 1: 

You can use the absolute path to the bash binary, i.e.,

Method 2: 

You can use the ‘env’ utility, i.e.,
#!/usr/bin/env bash
The advantage of using this method is that it will look for the bash executable in the user’s $PATH environmental variable. In case there is more than one path to bash, then the first one will be applied by the script.

Bash Script Example

First of all, create an empty script file by using the following command:
$ touch hello_user.sh
Open this file in a text editor and paste the following codes:
echo “Hello, User.”
To run this script, you need to make it executable using the following command:
$ chmod +x hello_user.sh
Now, you can run the script by using ./ followed by the script name, i.e.,
$ ./hello_user.sh


Hello, User.

How to override the Shebang?

If you want to override the interpreter in the Shebang line, you can run the script explicitly by specifying the required shell.

For example, if you want to run the script that includes #!/bin/bash in the Shebang line, you would use the command as given below:
$ bash hello_user
However, it is recommended not to use this method as it may lead to unexpected behavior of the script.

←prev next→

Tutorial Highlights

Read More

Bash Scripting Basics

Bash Scripting is an important part of system administration and development, which is used by the system administrators, Network Engineers, Developers, and everyone else who uses the Linux/Unix operating system. They use Bash to create custom scripts (a set of commands) and perform automated tasks.

Bash Script

A bash shell script can be defined as a text file containing one or more commands, which we usually run in a command-line interface. It might include the hallmarks of imperative programming such as conditional constructs, loops, and functions, etc. It is generally used to automate repetitive tasks on Linux/ Unix systems. In other words, we can say that:
"A bash script is a computer program which is actually written in the bash programming language."

Bash Script Writing

First of all, select the directory using the cd command in which you want to create your bash script. Use the text editor like gedit in which you can type the shell commands.
To write an empty bash script, you need to follow the steps given below:

Step 1

Use ‘touch’ command to create the empty (zero-byte size) script.
touch file_name

Step 2

To open the created script in the text editor (e.g., gedit), type
gedit file_name.sh
Here, .sh is an extension for the script files, which should be used for the proper execution.
It will open a script file in a text editor. Type your shell commands in the newly opened text window. Before writing your bash shell commands in a script, you are required to use the base line of bash scripts.
Every bash script should start with a line-
Where "#!" is known as the "shebang”, and the rest of the part of the line is known as the path to the interpreter, which specifies the location of the bash shell in the operating system.
It is the way to write a bash script.

Bash Script: Echo Command

An ‘echo’ is one of the most used built-in commands in Bash. It is used to display the standard output by passing the arguments or commands. It is the widely used command for getting output on the screen. 

Note: The performance of ‘echo’ command in a terminal and bash script is the same.


echo [option] [string]
echo [string]
This command can also be used to insert space between two lines. To insert a space, type ‘echo’ between outputs. You will understand the use of echo to insert a space in the following articles.

Run Bash Script

Method 1

By default, newly created files can not be executed regardless of its file extension suffix. Therefore, you are required to change the file permission for the specific files and make executable. To assign the executable access to the file, use the following command:
chmod +x file_name.sh
At the end, you can execute/run the bash script prefixing with characters ./. For example-

Method 2

Another way to execute the bash scripts is to call the interpreter explicitly. For example-
bash file_name.sh
This method does not need the declaration of shebang. There is no need to make the script executable for this method. When the bash executable binary is explicitly called, the content of the file is loaded and interpreted as Bash Shell Script.

←prev next→

Tutorial Highlights

Read More

Features of Bash Script

Nowadays, there are several shell scripting options available out there, and each one of them has its own unique features. Just like that, Bash Shell also contains some great features which make it more productive and useful. For each project, there are some specific requirements of characteristics, and developers choose the shell according to those certain characteristics. Therefore, it is an essential thing for you to know about the features of Bash Shell Scripting before you start learning it.

Some of the important features of Bash Shell Scripting are given here:


Bash is sh-compatible as it derives from the original UNIX Bourne shell. It is included with the best and useful features of Korn and C Shell, such as directory manipulation, job control, etc.


In extension to the single-character shell command-line options (i.e., -a, -b, -c, -i, -l, -r, etc.), which can usually be configured using the set shell-in-command, there are several multi-character options (i.e., --debugger, --help, --login, etc.) that you can use with Bash Shell Scripting.

Bash Startup Files

Bash start-up files are scripts that are read and executed when Bash is started. Each file has its own specific use, and a collection of these files is used to help create the environment.

Interactive Shells

An interactive shell typically reads from a user's terminal and writes: Input and output are connected to a terminal. Bash interactive behavior is initiated when the bash command is invoked without the option's arguments, except when the option is to read from a string or when the shell is invited to read from standard input, which allows setting positional parameters.


Conditional expressions are supported and can be used by the [[ compound command and test and [ built-in commands.

Shell Arithmetic

The shell allows evaluating arithmetic expressions, as an extension of the shell or one of the let built-in.


An alias allows a string or a set of commands to be substituted for a word that can be used easily as the single word of a compound command. It keeps a list of shell aliases that can be set and can be unset with the alias and unalias commands. It makes tasks smaller and less time-consuming.


Bash uses one-dimensional arrays using which you can easily reference and manipulate lists of data. You can use any variable as an array. The built-in command declare is used to explicitly declare an array.

Directory Stack

The directory stack is a list that shows the recently-visited directories. The pushd built-in adds directories to the stack as it replaces the current directory, and the popd built-in removes the specified directories from the stack and changes the current directory back to the removed directory. To display the content, the dirs built-in is issued.

←prev next→

Tutorial Highlights

Read More

History of Bash

The independence of the shell within the UNIX operating system has led to the beginning of several of shells throughout the UNIX history. Although, few of them could survive and achieved widespread use.
Bash was one of them which has an essential discipline for anyone who wished to write scripts to perform automated tasks.

It Started with UNIX

In 1971, Ken Thompson released the first UNIX shell which was called the Thompson Shell. There were several limitations to the amount of scripting that users could perform and that was the serious issue for the automation. After that, the first major shell was the Bourne Shell which was named after its creator, Steven Bourne. It was added in the first popular version of UNIX (Version 7, 1979). The Bourne shell was known on the system as 'sh'.

Bourne Shell is a Step-Forward

Bourne shell was released to remove the scripting limitations of the Thompson shell. It had two primary goals:

• serve as a command interpreter which could interactively execute the commands for the operating systems and scripting
• remove the limitations of Thompson shell 

In addition to the features of Thompson shell, the Bourne shell introduced several advantages over its predecessors. It introduced the control flows, loops, and variables to be used in the scripts. It also provided more functional language, which was useful to interact with the operating system, both interactively and non-interactively. 

Rethinking Bourne's shell as Free Software

Richard Stallman and a group of some other developers started writing features of UNIX with a license that was freely available under the GNU license. One of those developers, Brian Fox, started making a shell taking a popular Bourne shell as a base object. Hence, the Bourne shell was reimagined; born again.

The Bourne Again Shell

Bash, referred to as standard shell for the GNU system, was officially "born" on Sunday, Jan 10, 1988. Brian Fox wrote the final version of bash and continued to improve the shell up until 1993. The first version of the bash was released as the beta version 0.99 which was freely available from the Free Software Foundation (FSF). In between the development, Chet Ramey joined the project in 1989 and fixed several bugs. Chat Ramey also added many useful features and became the official maintainer of bash after Brian Fox. Brian Fox remained the primary Bash maintainer till 1993.

In 1995, Chet Ramey started working on a major new release of bash, 2.0, which was made available to the public on December 23, 1996. It has several unique features compared to the old release (1.14.7). Bash found its way with every significant release becoming the most popular version of Bourne shell derivative.

Nowadays, Bash is in-built on almost all the Linux versions and Mac OS and also got slated as a native part of Windows 10. It is the standard shell available with Linux which can also be used to perform several administration features.

Note: Currently, we have the latest bash version, i.e., bash-7.0.

←prev next→

Tutorial Highlights

Read More

Latest Tutorials

Learn More

Blog with us