Results 1 to 3 of 3
Hi all, I was studying basics of Linux and found about the shell and the kernel. I am new to Linux platform and come here to devote something to the ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 06-03-2011 #1
- Join Date
- Jun 2011
What is kernel and Shell Programming ?
I was studying basics of Linux and found about the shell and the kernel. I am new to Linux platform and come here to devote something to the FOSS community.
Thus I wanted to know about the shell programming. Which Programming I must know to make software for Linux community. I heard that i can program the shell in Linux.
ALso do tell me what is kernel programming in linux and what are the things i can do with kernel programming.
- 06-03-2011 #2
That's a big topic and I dare say a lot of other people will want to modify what I tell you.
First, shell "programming" is more correctly called shell scripting. In Linux, a "program" usually means a compiled program originally written in a language like C. Instructions readable in plain text are called scripts.
Most Linux users use the bash shell, which has its own scripting language. A bash script can be created in any editor and read directly but it is also executable - i.e. the file name can be used as a command. Such scripts are used to automate various processes and can be very sophisticated. There are also other scripting languages in Linux such as perl and python.
Linux applications are usually binary files compiled from source files in C or C++. Many people write such applications. This is programming in the stricter sense. Finally there is kernel programming which adds to the functionality of the Linux kernel; this is also done in C.
If you want to make yourself useful, go to the website of a project that interests you and ask if you can help.
Last edited by hazel; 06-04-2011 at 01:24 PM. Reason: spelling correction"I'm just a little old lady; don't try to dazzle me with jargon!"
- 06-04-2011 #3
To answer your question
Instead of a huge suite of applications with GUIs to do system chores Linux comes with an interpreter with the must predominantly used one named B.A.S.H. This CLI (command line Interface) is sort of a low infrastructure programming environment. Your live output is printed in the Bash terminal screen instead of its own window. I think a shell is a particular invocation of the bash interpreter application. Bash does not have a lot of its own functions but instead allows you to connect (glue)separate programs or function together in to one interpreted program , otherwise know as a script. Bash is integrated into Linux pretty much as a way to manipulate files and do system chores like create a new directory but the actual programs are not usually part of bash its self.
I think kernel programming must be taken out of text so I don't know about that one. The most used Linux languages are C and Bash but keep in mind that bash in my opinion in not really a complete language but a cheap and easy way to facilitate other programs. If you want to be a system administrator or a serious Linux user you have to learn bash. If you want to understand the most learn C and not C++. C++ does not supersede C but C includes much of C++. Java has a lot of influence programming and perl is not unpopular amongst the Linux crowd.