LINUX PRINCIPLES AND
PHILOSOPHY
Sara Abbasi
10AG
What are Linux Principles?
1. Everything, including hardware, is a file
2. Small, single- purpose programs
3. Ability to chain programs together to perform complex
tasks
4. Avoid captive user interfaces
5. Configuration data stored in text
1. Everything is a file
• By treating everything as a file, a consistency emerges.
You can secure access to hardware in the same way as
you secure access to a document.
2. Small, single purpose programs
• UNIX provides many small utilities that perform one task
very well.
3. Ability to chain programs together to
perform complex complex tasks
• A core design feature of UNIX is that the output of one
program can be the input for another. This gives the user
flexibility to combine many small programs together.
4. Avoid captive user interfaces
• Interactive are rare in UNIX. Most commands expect
options and arguments to be typed on the command line
when the command is launched.
5. Configuration data stored in text
• Text is a universal interface, and many UNIX utilities exist
to manipulate text. Storing configuration in text allows an
administrator to move a configuration from one machine
to another easily.
LINUX PHILOSOPHY
There are nine major principles to the Linux philosophy
Small is beautiful
Each program does one thing well
Prototype as soon as possible
Choose portability over efficiency
Store data in flat text files
Use software leverage
Use shell scripts to increases leverage
and portability
Avoid captive user interfaces
Make every program a filter
Make every program a filter
• Each of the commands that make up this command line
program is a filter.
The impact of the Linux philosophy
• When UNIX was being developed in the late 1960s, they
developers were intent on building an operating system
that was significantly different from the operating systems
that preceded.
The shell of a UNIX System
• The UNIX systems have a GUI. Linux uses KDE and
GNOME. Yet, the programmers prefer to type the
commands.
• Shell: the user process which executes programs
Recovered file 1

Recovered file 1

  • 1.
  • 2.
    What are LinuxPrinciples? 1. Everything, including hardware, is a file 2. Small, single- purpose programs 3. Ability to chain programs together to perform complex tasks 4. Avoid captive user interfaces 5. Configuration data stored in text
  • 3.
    1. Everything isa file • By treating everything as a file, a consistency emerges. You can secure access to hardware in the same way as you secure access to a document.
  • 5.
    2. Small, singlepurpose programs • UNIX provides many small utilities that perform one task very well.
  • 6.
    3. Ability tochain programs together to perform complex complex tasks • A core design feature of UNIX is that the output of one program can be the input for another. This gives the user flexibility to combine many small programs together.
  • 7.
    4. Avoid captiveuser interfaces • Interactive are rare in UNIX. Most commands expect options and arguments to be typed on the command line when the command is launched.
  • 9.
    5. Configuration datastored in text • Text is a universal interface, and many UNIX utilities exist to manipulate text. Storing configuration in text allows an administrator to move a configuration from one machine to another easily.
  • 10.
    LINUX PHILOSOPHY There arenine major principles to the Linux philosophy
  • 11.
    Small is beautiful Eachprogram does one thing well Prototype as soon as possible Choose portability over efficiency Store data in flat text files Use software leverage Use shell scripts to increases leverage and portability Avoid captive user interfaces Make every program a filter
  • 13.
    Make every programa filter • Each of the commands that make up this command line program is a filter.
  • 14.
    The impact ofthe Linux philosophy • When UNIX was being developed in the late 1960s, they developers were intent on building an operating system that was significantly different from the operating systems that preceded.
  • 15.
    The shell ofa UNIX System • The UNIX systems have a GUI. Linux uses KDE and GNOME. Yet, the programmers prefer to type the commands. • Shell: the user process which executes programs