Skip to main content

Linux History and GNU

Linus Torvalds,a student at the University of Helsinki started developing Linux to create a system similar to MINIX, a UNIX operating system. In 1991 he released version 0.02; Version 1.0 of the Linux kernel, the core of the operating system, was released in 1994. About the same time, American software developer Richard Stallman and the FSF made efforts to create an open-source UNIX-like operating system called GNU. In contrast to Torvalds, Stallman and the FSF started by creating utilities for the operating system first. These utilities were then added to the Linux kernel to create a complete system called GNU/Linux, or, less precisely, just Linux.

Linus Torvalds

Richard Stallman


Linux grew throughout the 1990s because of the efforts of hobbyist developers. Although Linux is not as user-friendly as the popular Microsoft Windows and Mac OS operating systems, it is an efficient and reliable system that rarely crashes. Combined with Apache, an open-source Web server, Linux accounts for more than a third of all servers used on the Internet. Because it is open source, and thus modifiable for different uses, Linux is popular for systems as diverse as cellular telephones and supercomputers. The addition of user-friendly desktop environments, office suites, Web browsers, and even games helped to increase Linux’s popularity and make it more suitable for home and office desktops. New distributions (packages of Linux software) were created throughout the 1990s. Some of the more well-known distributions include Ubuntu,Red Hat, Debian, Mint etc.Linux adoption grew among businesses and governments in the 1990s and 2000s. In the English-speaking world at least, Ubuntu and its derivatives became a relatively popular group of Linux distributions.

The name “GNU” is a recursive acronym for “GNU's Not Unix!”;

GNU was launched by Richard Stallman in 1983, as an operating system which would be put together by people working together for the freedom of all software users to control their computing. The primary and continuing goal of GNU is to offer a Unix-compatible system that would be 100% free software. Not 95% free, not 99.5%, but 100%. Technically, GNU is like Unix. But unlike Unix, GNU gives its users freedom.
Completely free system distributions (“distros”) meeting this goal are available today.Thousands of people have joined in to make GNU the success it is today, and there are many ways to contribute, both technical and non-technical.


GNU has been supported in several ways by the Free Software Foundation, the nonprofit organization also founded by Richard Stallman to advocate free software ideals. Among other things, the FSF accepts copyright assignments and disclaimers, so it can act in court on behalf of GNU programs. (To be clear, contributing a program to GNU does not require transferring copyright to the FSF. If you do assign copyright, the FSF will enforce the GPL for the program if someone violates it; if you keep the copyright, enforcement will be up to you.)
The ultimate goal is to provide free software to do all of the jobs computer users want to do—and thus make proprietary software a thing of the past.
“The Free Software Foundation (FSF) is a nonprofit organization with a worldwide mission to promote computer user freedom and defend the rights of all software users.”

Comments

Popular posts from this blog

Writing a Bash Shell Script

Bash shell scripts in Linux are text files that contain a series of commands that can be executed by the Bash shell. Bash (Bourne Again Shell) is a popular shell in Linux and UNIX systems, and shell scripts are used to automate tasks, configure systems, or perform a sequence of operations. How to Write a Bash Shell Script Create a New File: You can create a new script using any text editor like nano , vim , or gedit . gedit myscript.sh Write the Script: A basic shell script begins with a "shebang" ( #!/bin/bash ) to specify the interpreter that will be used to execute the script. The rest of the file contains the commands to be run. Example of a simple script: #!/bin/bash # This is a comment echo "Hello, World!" # Print "Hello, World!" #!/bin/bash : Specifies that the script will be executed using the Bash shell. echo "Hello, World!" : A command that prints the string "Hello, World!" to the terminal. Comments: Any line starting ...

Different syntax for writing arithmetic expressions in bash shell

#!/bin/bash echo "Enter two numbers" read a b s=`expr $a + $b` echo "Sum1=$s" s=$[$a+$b] echo "sum2=$s" ((s=$a+$b)) echo "sum3=$s" ((s=a+b)) echo "sum3=$s" let s=$a+$b echo "sum4=$s" let s=a+b echo "sum4=$s" Note:bash shell support only integer arithmetic.zsh support operations on real numbers.We can use bc in bash shell to do real arithmetic. Eg: echo "$a*$b"|bc # where a and b are real Mathematical Operators With Integers Operator Description Example Evaluates To + Addition echo $(( 20 + 5 )) 25 - Subtraction echo $(( 20 - 5 )) 15 / Division echo $(( 20 / 5 )) 4 * Multiplication echo $(( 20 * 5 )) 100  % Modulus echo $(( 20 % 3 )) 2 ++ post-increment (add variable value by 1) x=5 echo $(( x++ )) echo $(( x++ )) 5 6 -- post-decrement (subtract variable value by 1) x=5 echo $(( x-- )) 4 ** Exponentiation x=2 y=3 echo $(( x ** y )) 8

Flow Control in shell script - if and case statements

Shell script usually consist of sequence of commands that starts at the first line and continues line by line until it reaches the end. Most programs do much more than this. They make decisions and perform different actions depending on conditions. The shell provides several commands that we can use to control the flow of execution in our program. In this lesson, we will look at the following:  test if case exit   test The test command is used most often with the if command to perform true/false decisions. The command is unusual in that it has two different syntactic forms: # First form test expression # Second form [ expression ] The test command works simply. If the given expression is true, test exits with a status of zero; otherwise it exits with a status of 1. Common numerical test conditions -gt   Greater than -lt    Less than -ge  Greater than or equal to -le    Less than or equal to -eq   Equal to -ne...