fbpx

Three reasons why you should learn Bash as a Windows engineer in 2021

There are plenty of reasons for you to look into learning Linux, as a matter of fact. Let us look at three strong reasons..

1. Linux can now be installed inside of Windows, as WSL (Windows Subsystem for Linux). And that comes with Bash. The use of Bash for automation of system services and import/export of data is very strong.

2. Do you want to work with cloud engineering, with a cloud provider such as AWS or Azure? Well, the responsibilities of IT engineers are increasingly crossing the borders of operating systems, and Cloud Engineer roles are a good example of this trend. Because when the focus becomes on running virtual machines in the cloud (with one of the cloud providers), the focus shifts from knowing one operating system, to knowing how to work on the commandline for several operating systems. Batch in Windows will not get you far as it is rather limited. Also, PowerShell was replaced by PowerShell Core and the future is not as certain as.. Bash, which on the other hand, is used in a majority of the web servers you can find.

3. By learning how to code in Bash, you become familiar with the concept of orchestrating the use of Linux commandline tools in a procedural way. It also use functions and with the combination of that with pipes to string command output together, you have a strong base for automation of system administration tasks.

Stay tuned for more insights and tips! Also check out Learn Linux as a Windows engineer.

5 Linux network commands that are similar or the same as in the Windows shell – Part 1

Let us take a look at the most common network commandline utilities which exist both in Linux and in Windows. We can see that the names for the commands almost all the same. It makes sense as these tools are really part of the daily toolset any IT engineer will use, whether you are working in Linux or Windows.

traceroute (tracert in Windows)

The handy tracert that is familiar from Windows-environments has its equivalent in traceroute. You should be aware of the extra protocols that you can use for tracing routes with traceroute. Furthermore, in traceroute you can use TCP SYN or ICMP ECHO for probes. You can also select a custom port to use.

ping (ping in Windows)

Check the availability of a node with ping in both Linux and Windows. This might very well be one of the simplest tools when checking if a network endpoint is available.

netstat (netstat in Windows)

Use netstat to check all the network connections. Moreover, you can check both listening and established ports on the local node. netstatcan be used with a range of options in both Linux and Windows. For instance, you have the option to check routing tables for OSI layer 2 information and multicast memberships. Additionally it can be argued that the Linux command ss to investigate sockets almost has replaced netstat. But for the purpose of daily network tasks, netstat is still very useful in Linux distributions.

nslookup (nslookup in Windows)

Use nslookup to query Internet name servers in both Linux and Windows. Although dig was favoured over nslookup for some time, nslookup is still a very important tool in the toolchest. It is worth mentioning that dig has more options. Consequently it is great for wrapping the command in Bash scripts.

curl (curl in Windows)

curl or Client URL has been around since 1998 and was the successor to HttpGet. This is a robust tool to transfer data over networks, with its support for a number of protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP).

This completes this part one of our round-up of five common Linux network commands with their Windows equivalents. In the next part of this blog post series, we will automate these commands in Linux with Bash scripts.

Author: Paul-Christian Markovski, for NailLinuxExam.com.