how to edit linux system files?

i had heard that linux is open source.....which meant that i could edit it.
so how do i start out? i've already downloaded it. the name's "puppy linux".....someone please reply quick!!!

and by the way, may i know what shell scripting is?

Please read
The Free Software Definition - GNU Project - Free Software Foundation (FSF)

For information of what is a shell script
The Free Software Definition - GNU Project - Free Software Foundation (FSF)

Good luck

dude i visited the link.....but i still didnt understand where to find the linux system files.....

Please read up on

before moving to such advanced topics like C programming, GCC, system calls, assembler and kernel hacking.

Also, it might be a good idea to get some experience in using a Linux system before starting to modify it's source.

well, i read up on it and thnx 4 the links.....they were quite useful!!!

but i still don't get it. how do i edit linux if i don't know where the system file is located? or is it that i have to compile my own version of linux to do that. if its like that, then why would they call it open source? open source means it code is editable right?

In a nutshell:

  • Open Source means that you can get the source and modify it if you wish. But to run it you have to compile those changes
  • The Linux kernel always has to be compiled to run, since it's the operating system itself and thus can't be interpreted like a shell script.
  • The Linux kernel is usually located in /boot/, look for a file called vmlinuz* or similar
  • Other system files, like libraries and essential executables are located in /sbin, /bin, /lib and /usr/lib. This include the glibc and alike
  • The Kernel source can be installed through your distributions source package, or you can download it from kernel.org

Again, if you want to start Kernel hacking, start by installing a distribution, getting used to it, move on to the command line and it's tools, so that you get a feeling for what the kernel does and how changes could affect it's behavior.
If you want a fast dive straight into it, start with Gentoo or Slackware, and later use that to build a LFS system.

As has been explained to you, Linux (the Kernel) and many of the accompanying software is open source.

This means that you are free to edit the files as you wish without fear of reprisals in the form of copyright violations and such for the changes. Other software vendors do not allow you to make these changes to their code as they are proprietary.

Linux does not have "System Files" in so much as what you seem to be describing.

You cannot simply go in and muck about.

You CAN however change parameters of running machines, and do a lot more. What do you wish to change and what are you trying to learn from this?

read up on sysctl and how it can change parameters of the kernel on a running machine. However, be aware that changes you make can disrupt running processes as well as the stability of the machine.

As for editing files in linux, also look up "vi" or "vim" and use that to edit the files themselves, as they are text based editors found on nearly every UNIX or UNIX-Like operating system.

i juz wanna explore linux and learn how it was made......
and wat possible collection of languages might have been used!!!!

thnx anywayz 4 breakin it down to me real straight......

Please edit you post and use proper English with full words and sentences. It is disrespectful to people who are giving up their time to help you to not even address them coherently.

Explore Linux: Grab a copy of any distribution that appeals to you, install it and explore to your hearts desire.
What languages have been used: For the kernel, almost exclusively C and Assembler (as far as I know). Almost all of the system libraries are written in C, too, with a few in C++. As for the rest it's a healthy mix of almost every language out there.

And I too want to remind you of the Rules, specifically Rule 9, which you agreed to when registering.

oh yeah.....srry about that dude!!!!

so will i be able to edit any of those files while running linux or no?
first of all, can i even view those files while running linux or no?

and can u explain to me how these other versions of linux have been created?i mean, how did those creators get the source code of linux?

is it so simple that i can just google it?

If you mean libraries, then probably not, at least not directly. These libraries are all translated into machine code before they can be used, the linux-equivalents of .exe and .dll files. They do not contain source code; the system understands them but reading them yourself would be like trying to read a novel with a microscope.

You could download source code for a library, build your own version, then coerce your system into temporarily using your new ones for something(I advise against replacing them outright, that's just begging for trouble).

You can download and view the source code they were made from -- it'll be pure text. If you mean viewing the raw kernel and libraries themselves, no, they're raw machine language. You could open them up in some editor if you really wanted but they'd look like garbage.

They probably downloaded it from kernel.org . Different distributions of linux usually are more about differences in the software bundled with it than changes in the kernel itself, usually. Ubuntu uses the Gnome window manager, for instance, while Kubuntu uses KDE, no changes to linux were needed for that.

You don't quite know what you're asking yet, learning more about C programming would be a good direction. Forget the kernel for a while and figure out how things like compilation and libraries work, and you'll have a much better idea of what the kernel is and how its made.

i already know c, c#, java and a few web page programming languages...
And I'm planning to follow my career in Game Programming using C# and XNA...

If you already know C then you'll probably understand that it's pretty much impossible to have an OS running on human readable code (except if someone invents a microchip that can do that)
"Open Source" does not mean every kernel/library/program is human readable, but that it is possible for you to obtain the source code (for free) for you to read and modify (for free).
If you really, really, really want to learn how Linux works, I suggest downloading the LFS LiveCD. Quote from their Website

Which seems to be exactly what you want to do.

What I did was, I got PCLinuxOS as a live cd ISO and burned it. Then I could do anything like edit the code, if you mess up the system, just reboot and your fine.

Does the livecd come with a compiler? Without that, it's going to be really hard to edit the system itself. Edit the configuration, maybe, but the system?