Skip to main content

Introduction to Linux and shells

 Hello Dear Readers, 

Today here in this series of Linux, I will start with an introduction to depth commands level experiment, so stay tuned currently, below, I will discuss an introduction to Linux and shells.

Linux is an operating system like macOS or Windows. It is also the most popular Open Source and free, as in freedom, operating system. It powers the vast majority of the servers that compose the Internet. It's the base upon which everything is built. But not just that. Android is based on (a modified version of) Linux. The Linux "core" (called kernel) was born in 1991 in Finland, and it went a really long way from its humble beginnings. It went on to be the kernel of the GNU Operating System, creating the duo GNU/Linux. 

There's one thing about Linux that corporations like Microsoft and Apple, or Google, will never be able to offer: the freedom to do whatever you want with your computer. They're actually going in the opposite direction, building walled gardens, especially on the mobile side. Linux is the ultimate freedom. It is developed by volunteers, some paid by companies that rely on it, some independently, but there's no single commercial company that can dictate what goes into Linux, or the project priorities. Linux can also be used as your day to day computer. I use macOS because I really enjoy the applications, the design and I also used to be an iOS and Mac apps developer, but before using it I used Linux as my main computer Operating System. No one can dictate which apps you can run, or "call home" with apps that track you, your position, and more. Linux is also special because there's not just "one Linux", like it happens on Windows or macOS. Instead, we have distributions.

A "distro" is made by a company or organization and packages the Linux core with additional programs and tooling. For example, you have Debian, Red Hat, and Ubuntu, probably the most popular. Many, many more exist. You can create your own distribution, too. But most likely, you'll use a popular one, one that has lots of users and a community of people around it, so you can do what you need to do without losing too much time reinventing the wheel and figuring out answers to common problems. 

Some desktop computers and laptops ship with Linux preinstalled. Or you can install it on your Windows-based computer, or on a Mac. But you don't need to disrupt your existing computer just to get an idea of how Linux works. I don't have a Linux computer. If you use a Mac you need to know that under the hood macOS is a UNIX Operating System, and it shares a lot of the same ideas and software that a GNU/Linux system uses, because GNU/Linux is a free alternative to UNIX. UNIX is an umbrella term that groups many operating systems used in big corporations and institutions, starting from the 70s. Microsoft has an official Windows Subsystem for Linux which you can (and should!) install on Windows. This will give you the ability to run Linux in a very easy way on your PC. But the vast majority of the time you will run a Linux computer in the cloud via a VPS (Virtual Private Server) like DigitalOcean or by VM  (Virtual Machine). A shell is a command interpreter that exposes to the user an interface to work with the underlying operating system.

It allows you to execute operations using text and commands, and it provides users advanced features like being able to create scripts. This is important: shells let you perform things in a more optimized way than a GUI (Graphical User Interface) could ever possibly let you do. Command line tools can offer many different configuration options without being too complex to use. There are many different kind of shells. This post focuses on Unix shells, the ones that you will find commonly on Linux and macOS computers. Many different kind of shells were created for those systems over time, and a few of them dominate the space: Bash, Csh, Zsh, Fish and many more! All shells originate from the Bourne Shell, called sh . "Bourne" because its creator was Steve Bourne. Bash means Bourne-again shell. sh was proprietary and not open source, and Bash was created in 1989 to create a free alternative for the GNU project and the Free Software Foundation. Since projects had to pay to use the Bourne shell, Bash became very popular. If you use a Mac, try opening your Mac terminal. That by default, is running ZSH. (or, pre-Catalina, Bash) You can set up your system to run any kind of shell, for example I use the Fish shell. Each single shell has its own unique features and advanced usage, but they all share a common functionality: they can let you execute programs, and they can be programmed.


Connect with me 








Comments

  1. good and please complete series early we are exciting to read it

    ReplyDelete

Post a Comment

Popular posts from this blog

Electronic Engineer at Thinture Technologies Pvt. Ltd

Hello Dear Readers, Currently, at Thinture Technologies Pvt. Ltd vacancy for Electronic Engineer role. Thinture Technologies Pvt. Ltd. is a vehicle control systems manufacturer, with a primary focus on road speed limitation and GPS-based tracking systems. All of our products are designed in-house from basic circuit designing to firmware, algorithm to PCB designing, online software platforms to mechanical assembly drawings, and standard operating procedures for aftermarket usage. Role Description: This is a full-time on-site role for an Electronic Engineer located in Bengaluru. The Electronic Engineer will be responsible for the day-to-day tasks associated with electronic engineering, including electronics, electrical engineering, circuit design, testing, and more. Qualifications: Strong electronic engineering skills Sound knowledge of circuit design and electrical engineering Experience with electronics testing and quality assurance Proficient in using software tools for schematic capt

R&D Intern (Electronics Engineering) at Greaves Electric Mobility

Hello Dear Readers, Currently, at Greaves Electric Mobility vacancy for an R&D Intern (Electronics Engineering) role. At Greaves Electric Mobility, we build products and solutions that are designed to democratize smart and sustainable mobility and do our bit to heal the Planet. Backed by the 164 year engineering legacy of Greaves, our portfolio of electric two and three wheelers are made in India at manufacturing sites across Tamil Nadu, Telangana and Uttar Pradesh. Key Responsibilities: Collaborate with experienced engineers in the research and development of electric mobility technologies. Participate in the design, prototyping, and testing of electronic and electrical systems for electric vehicles. Contribute to the analysis and improvement of automotive electrical systems, ensuring compliance with industry standards. Assist in troubleshooting and problem-solving activities related to electric vehicle components. Stay updated on the latest advancements in the electric mobility s

Hardware Design Engineer at TSC Tech Labs

  Hello Dear Readers, Currently, at TSC Tech Labs  vacancy for a Hardware Design Engineer role. Company Description: TSC Tech Labs is a Space and Defence Startup based in Bengaluru. The company has a legacy of developing three Satellites with Space Heritage and holds five active Defence Contracts with the Indian Navy. Role Description: This is a Senior Hardware Design Engineer role and is a full-time on-site position located in Bengaluru. The Senior Hardware Design Engineer will be responsible for designing and developing electronics hardware, circuit design, hardware architecture and hardware development for satellite and defense systems. Responsibilities: Review and understand electrical schematic designs Perform design reviews with other team members Perform layout design based on these schematic designs, complying with product requirements Close collaboration with other project members (system, mechanical, hardware, and firmware engineers, etc.) Prepare PCB/PCBA production document