SlideShare a Scribd company logo
DONE BY: ALIA BIN TOUQ
Linux Principles and
Philosophy
Investigating Linux's Principles and Philosophy
You can frequently select
 A product or technology on purely
pragmatic grounds—what OS works well
for a given task, which software suite is the
least expensive, and so on.
 This is true of some Linux users; the open
source model of Linux, “Selecting an
Operating System,” has implications that
can affect how Linux works. Furthermore,
some people in the Linux world can
become quite passionate about these
principles.
Nine major tenets
There are nine major tenets 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 Increase 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. That is each command will take an input,
usually from Standard Input, and “filters” the data stream by
making some change to it, then sends the resulting data stream
to Standard Output. Standard Input and Standard Output are
known collectively as STDIO.
Small is beautiful and
Each program does one thing well
These two tenets go hand in hand.
Each of the commands in this program
is fairly small, and each performs a
specific task. The sort command, for
example does only one thing. It sorts
the data stream sent to it via Standard
Input and sends the results to
Standard Output. It can perform
numeric, alphabetic and alphanumeric
sorts in forward and reverse order. But
it does nothing else.
Choose portability over efficiency and
Use shell scripts to increase leverage and
portability
The portability of shell scripts can be far more efficient
in the long run than the perceived efficiency of writing a
program in a compiled language—not even considering
the time required to compile and test such a program—
because they can run on many otherwise incompatible
systems.
Use software leverage
Software leverage means a couple things to me. First, and in the context of
this example, it means that by using four command line commands, we are
leveraging the work of the programmers who created those commands with
over 7,000 lines of C code. That is code that we do not have to create. We are
leveraging the efforts of those other, under-appreciated programmers to
accomplish the task we have set for ourselves.
Impact
This article is not meant to be a programming tutorial. Rather, it is
intended to illustrate how the Linux Philosophy impacts and
informs the daily work of system administrators and developers.
We are the beneficiaries of decades of code that was well-designed,
well-thought out, and well-written by people who had a lot of skin in
the game and actually knew what they were doing.
The best code on the planet was written using these tenets.
The impact of the Linux philosophy
When Unix was being developed in the late
1960s and early 1970s, the developers were
intent upon building an operating system
that was significantly different from the
operating systems that preceded.
The philosophy of Unix was markedly
different from that of other operating
systems. And the Linux philosophy is quite
naturally derived directly from the Unix
philosophy.
Enlightenment
Over the years a number of people have attempted to enlighten the rest of us
when they codified various aspects of the Linux philosophy.
Mike Gancarz first wrote The Unix Philosophy and then followed it up
with Linux and the Unix Philosophy. These books list 9 major tenets and 10
lesser tenets.
Eric Raymond has 17 Unix rules in his book, The Art of Unix programming.
And, Oregon State University has it's own Linux philosophy which I think nicely
depicts an engineer's view of Linux.
The terminal case
The Linux philosophy is epitomized by the ease with which one can open a
terminal emulator to access the CLI and its concomitant power.
First, there are the multiple virtual terminals that can be accessed using the
Ctrl-Alt-F [1-7] keys.
Even the Linux GUI desktops whispers, "Use the force, Luke," to all who use
them. Linux has several fine GUI desktop environments from which to choose
so that every user can choose the one he or she likes best.
Complete control
Linux does not handhold. It assumes you know what you are doing when you
type a command and it proceeds to execute that command without asking if
you really want to. It gives you complete control.
Other operating systems let you know that
you can use nails but don't tell you what
tool is used to insert the nails let alone
allow you to put your own finger on the
trigger.
Yes, there is danger where there is great
power. Used wisely that power can also be
harnessed to accomplish many great
things.
The Linux prime directive
This amounts to allowing each user to do
things her or his own way with a wide choice
of powerful tools.
It means making flexibility, simplicity, and
freedom the foremost considerations when
designing and building software systems.
It has resulted in the creation of software that
is such a work of art that it is still beautiful
and going strong after almost 45 years for
Unix and for more than 20 years for Linux.
Linux Principles
Everything is a file. ( Including hardware )
Small, single-purpose programs.
Ability to chain programs together to perform
complex tasks.
Avoid captive user interfaces.
Configuration data stored in text.
Everything is a File : –
UNIX systems have many powerful utilities designed to
create and manipulate files. The UNIX security model is
based around the security of files. 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.
Small, single-purpose programs :
UNIX provides many small
utilities that perform one
task very well. When new
functionality is required,
the general philosophy is to
create a separate program
– rather than to extend an
existing utility with new
features.
Ability to chain programs together to
perform 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 the flexibility to
combine many small
programs together to
perform a larger, more
complex task.
Avoid captive user interfaces :-
Interactive commands are rare in UNIX. Most
commands expect their options and arguments
to be typed on the command line when the
command is launched.
The command completes normally, possibly
producing output, or generates an error
message and quits. Interactivity is reserved for
programs where it makes sense, for example,
text editors (of course, there are non-
interactive text editors too.)
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.
There are several revision control applications that enable an
administrator to track which change was made on a particular day, and
provide the ability to roll back a system configuration to a particular date
and time.
References
Eric Raymond: The Art of Unix Programming
http://www.catb.org/~esr/writings/taoup/html/index.html
Mike Gancarz: Linux and the Unix Philosophy; Digital Press,
2003, ISBN 1-55558-273-7
Wikipedia: http://en.wikipedia.org/wiki/Unix_philosophy
Oregon State University:
http://web.engr.oregonstate.edu/~traylor/ece474/lecture_verilog
/beamer/linux_philosophy.pdf

More Related Content

What's hot

Linux os and its features
Linux os and its featuresLinux os and its features
Linux os and its features
Kadiresan Nagarattiname
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
VIKAS TIWARI
 
Unix
UnixUnix
Unix
Erm78
 
Linux file system
Linux file systemLinux file system
Linux file system
Md. Tanvir Hossain
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentalsRaghu nath
 
Linux operating system - Overview
Linux operating system - OverviewLinux operating system - Overview
Linux operating system - Overview
Ashita Agrawal
 
Operating systems unix
Operating systems   unixOperating systems   unix
Operating systems unix
Achu dhan
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
Md. Zahid Hossain Shoeb
 
8.1.intro unix
8.1.intro unix8.1.intro unix
8.1.intro unixsouthees
 
Introduction to Shell script
Introduction to Shell scriptIntroduction to Shell script
Introduction to Shell script
Bhavesh Padharia
 
Mail server on linux
Mail server on linux Mail server on linux
Mail server on linux
Roshni17
 
Linux Directory Structure
Linux Directory StructureLinux Directory Structure
Linux Directory Structure
Kevin OBrien
 
Basic linux commands
Basic linux commandsBasic linux commands
Basic linux commands
Shakeel Shafiq
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
Omi Vichare
 
Introduction to Ubuntu
Introduction to UbuntuIntroduction to Ubuntu
Introduction to Ubuntu
Khairul Aizat Kamarudzzaman
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
Ramasubbu .P
 
Unix vs linux
Unix vs linuxUnix vs linux
Unix vs linux
bhatvijetha
 
Linux Advantages and Disadvantages
Linux Advantages and DisadvantagesLinux Advantages and Disadvantages
Linux Advantages and Disadvantages
SHUBHA CHATURVEDI
 

What's hot (20)

Basic 50 linus command
Basic 50 linus commandBasic 50 linus command
Basic 50 linus command
 
Linux os and its features
Linux os and its featuresLinux os and its features
Linux os and its features
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Linux file system
Linux file systemLinux file system
Linux file system
 
Unix
UnixUnix
Unix
 
Linux file system
Linux file systemLinux file system
Linux file system
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentals
 
Linux operating system - Overview
Linux operating system - OverviewLinux operating system - Overview
Linux operating system - Overview
 
Operating systems unix
Operating systems   unixOperating systems   unix
Operating systems unix
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
8.1.intro unix
8.1.intro unix8.1.intro unix
8.1.intro unix
 
Introduction to Shell script
Introduction to Shell scriptIntroduction to Shell script
Introduction to Shell script
 
Mail server on linux
Mail server on linux Mail server on linux
Mail server on linux
 
Linux Directory Structure
Linux Directory StructureLinux Directory Structure
Linux Directory Structure
 
Basic linux commands
Basic linux commandsBasic linux commands
Basic linux commands
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
 
Introduction to Ubuntu
Introduction to UbuntuIntroduction to Ubuntu
Introduction to Ubuntu
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 
Unix vs linux
Unix vs linuxUnix vs linux
Unix vs linux
 
Linux Advantages and Disadvantages
Linux Advantages and DisadvantagesLinux Advantages and Disadvantages
Linux Advantages and Disadvantages
 

Viewers also liked

Linux principles and philosophy
Linux principles and philosophyLinux principles and philosophy
Linux principles and philosophy
Fa6ma_
 
Unix philosophy and principles
Unix philosophy and principlesUnix philosophy and principles
Unix philosophy and principles
maryamalmarrii
 
Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US
Brian LeRoux
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture
DevConFu
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
Renato Groff
 
Bringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big DataBringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big Data
bcantrill
 
Writing Well-Behaved Unix Utilities
Writing Well-Behaved Unix UtilitiesWriting Well-Behaved Unix Utilities
Writing Well-Behaved Unix Utilities
Rob Miller
 
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Micha Kops
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and Beyond
Matt Stine
 
Mockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworksMockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworks
EndranNL
 
Using Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed SystemsUsing Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed Systems
Matt Jacobs
 
Mocking
MockingMocking
Mocking
eleksdev
 
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
Amazon Web Services
 
How we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.noHow we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.no
Henning Spjelkavik
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
tyrantbrian
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Phil Calçado
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
banq jdon
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architectures
Uwe Friedrichsen
 
Production-ready Software
Production-ready SoftwareProduction-ready Software
Production-ready Software
Uwe Friedrichsen
 

Viewers also liked (20)

Linux principles and philosophy
Linux principles and philosophyLinux principles and philosophy
Linux principles and philosophy
 
Unix philosophy and principles
Unix philosophy and principlesUnix philosophy and principles
Unix philosophy and principles
 
Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US Mobile Knife Fighting at JSConf US
Mobile Knife Fighting at JSConf US
 
Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture Eduards Sizovs - Micro Service Architecture
Eduards Sizovs - Micro Service Architecture
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 
Bringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big DataBringing the Unix Philosophy to Big Data
Bringing the Unix Philosophy to Big Data
 
Unix Philosophy
Unix PhilosophyUnix Philosophy
Unix Philosophy
 
Writing Well-Behaved Unix Utilities
Writing Well-Behaved Unix UtilitiesWriting Well-Behaved Unix Utilities
Writing Well-Behaved Unix Utilities
 
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
Circuit breakers for Java: Failsafe, Javaslang-Circuitbreaker, Hystrix and Ve...
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and Beyond
 
Mockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworksMockito vs JMockit, battle of the mocking frameworks
Mockito vs JMockit, battle of the mocking frameworks
 
Using Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed SystemsUsing Hystrix to Build Resilient Distributed Systems
Using Hystrix to Build Resilient Distributed Systems
 
Mocking
MockingMocking
Mocking
 
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
(ARC317) Maintaining a Resilient Front Door at Massive Scale | AWS re:Invent ...
 
How we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.noHow we sleep well at night using Hystrix at Finn.no
How we sleep well at night using Hystrix at Finn.no
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Towards complex adaptive architectures
Towards complex adaptive architecturesTowards complex adaptive architectures
Towards complex adaptive architectures
 
Production-ready Software
Production-ready SoftwareProduction-ready Software
Production-ready Software
 

Similar to Linux principles and philosophy

Shamsa altayer
Shamsa altayerShamsa altayer
Shamsa altayer
shamsaot
 
Linux principles and philosophy
Linux principles and philosophy Linux principles and philosophy
Linux principles and philosophy
salamassh
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
Avnish Khandelwal
 
Linux principles and philosophy
Linux principles and philosophyLinux principles and philosophy
Linux principles and philosophy
fatimarashid66
 
Linuxppt.pptx
Linuxppt.pptxLinuxppt.pptx
Linuxppt.pptx
Ashimann2108
 
Program design in the UNIX environment
Program design in the UNIX environmentProgram design in the UNIX environment
Program design in the UNIX environment
mustafa sarac
 
Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)
Carla Bennington
 
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
PK Mishra
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
Mohamed Essam
 
Chapter 8 - nsa Introduction to Linux.ppt
Chapter 8 -  nsa Introduction to Linux.pptChapter 8 -  nsa Introduction to Linux.ppt
Chapter 8 - nsa Introduction to Linux.ppt
gadisaAdamu
 
Unix seminar
Unix seminarUnix seminar
Unix seminarajeet6742
 
Recovered file 1
Recovered file 1Recovered file 1
Recovered file 1
saraabbasii
 
Linux Environment- Linux vs Unix
Linux Environment- Linux vs UnixLinux Environment- Linux vs Unix
Linux Environment- Linux vs Unix
Trinity Dwarka
 
UNIT I LINUX.docx
UNIT I LINUX.docxUNIT I LINUX.docx
UNIT I LINUX.docx
BhuvanaR13
 
Rolling Your Own Embedded Linux Distribution
Rolling  Your  Own  Embedded  Linux  DistributionRolling  Your  Own  Embedded  Linux  Distribution
Rolling Your Own Embedded Linux DistributionEmanuele Bonanni
 
ppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATEL
neo_patel
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
EidTahir
 
Ch1-Unix.pptx
Ch1-Unix.pptxCh1-Unix.pptx
Ch1-Unix.pptx
VarunBonkinpallewar1
 

Similar to Linux principles and philosophy (20)

Shamsa altayer
Shamsa altayerShamsa altayer
Shamsa altayer
 
Linux principles and philosophy
Linux principles and philosophy Linux principles and philosophy
Linux principles and philosophy
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
 
Linux principles and philosophy
Linux principles and philosophyLinux principles and philosophy
Linux principles and philosophy
 
linux introduction
linux introductionlinux introduction
linux introduction
 
Linuxppt.pptx
Linuxppt.pptxLinuxppt.pptx
Linuxppt.pptx
 
Program design in the UNIX environment
Program design in the UNIX environmentProgram design in the UNIX environment
Program design in the UNIX environment
 
Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)
 
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
A Roadmap for Students Using FOSS (Free and Open Source Software) and Reachin...
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
Chapter 8 - nsa Introduction to Linux.ppt
Chapter 8 -  nsa Introduction to Linux.pptChapter 8 -  nsa Introduction to Linux.ppt
Chapter 8 - nsa Introduction to Linux.ppt
 
Unix seminar
Unix seminarUnix seminar
Unix seminar
 
Recovered file 1
Recovered file 1Recovered file 1
Recovered file 1
 
Linux Environment- Linux vs Unix
Linux Environment- Linux vs UnixLinux Environment- Linux vs Unix
Linux Environment- Linux vs Unix
 
Wk2 UNIX
Wk2  UNIXWk2  UNIX
Wk2 UNIX
 
UNIT I LINUX.docx
UNIT I LINUX.docxUNIT I LINUX.docx
UNIT I LINUX.docx
 
Rolling Your Own Embedded Linux Distribution
Rolling  Your  Own  Embedded  Linux  DistributionRolling  Your  Own  Embedded  Linux  Distribution
Rolling Your Own Embedded Linux Distribution
 
ppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATELppt on linux by MUKESH PATEL
ppt on linux by MUKESH PATEL
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
 
Ch1-Unix.pptx
Ch1-Unix.pptxCh1-Unix.pptx
Ch1-Unix.pptx
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Linux principles and philosophy

  • 1. DONE BY: ALIA BIN TOUQ Linux Principles and Philosophy
  • 2. Investigating Linux's Principles and Philosophy You can frequently select  A product or technology on purely pragmatic grounds—what OS works well for a given task, which software suite is the least expensive, and so on.  This is true of some Linux users; the open source model of Linux, “Selecting an Operating System,” has implications that can affect how Linux works. Furthermore, some people in the Linux world can become quite passionate about these principles.
  • 3. Nine major tenets There are nine major tenets 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 Increase Leverage and Portability Avoid Captive User Interfaces Make Every Program a Filter
  • 4. Make every program a filter Each of the commands that make up this command line program is a filter. That is each command will take an input, usually from Standard Input, and “filters” the data stream by making some change to it, then sends the resulting data stream to Standard Output. Standard Input and Standard Output are known collectively as STDIO.
  • 5. Small is beautiful and Each program does one thing well These two tenets go hand in hand. Each of the commands in this program is fairly small, and each performs a specific task. The sort command, for example does only one thing. It sorts the data stream sent to it via Standard Input and sends the results to Standard Output. It can perform numeric, alphabetic and alphanumeric sorts in forward and reverse order. But it does nothing else.
  • 6. Choose portability over efficiency and Use shell scripts to increase leverage and portability The portability of shell scripts can be far more efficient in the long run than the perceived efficiency of writing a program in a compiled language—not even considering the time required to compile and test such a program— because they can run on many otherwise incompatible systems.
  • 7. Use software leverage Software leverage means a couple things to me. First, and in the context of this example, it means that by using four command line commands, we are leveraging the work of the programmers who created those commands with over 7,000 lines of C code. That is code that we do not have to create. We are leveraging the efforts of those other, under-appreciated programmers to accomplish the task we have set for ourselves.
  • 8. Impact This article is not meant to be a programming tutorial. Rather, it is intended to illustrate how the Linux Philosophy impacts and informs the daily work of system administrators and developers. We are the beneficiaries of decades of code that was well-designed, well-thought out, and well-written by people who had a lot of skin in the game and actually knew what they were doing. The best code on the planet was written using these tenets.
  • 9. The impact of the Linux philosophy When Unix was being developed in the late 1960s and early 1970s, the developers were intent upon building an operating system that was significantly different from the operating systems that preceded. The philosophy of Unix was markedly different from that of other operating systems. And the Linux philosophy is quite naturally derived directly from the Unix philosophy.
  • 10. Enlightenment Over the years a number of people have attempted to enlighten the rest of us when they codified various aspects of the Linux philosophy. Mike Gancarz first wrote The Unix Philosophy and then followed it up with Linux and the Unix Philosophy. These books list 9 major tenets and 10 lesser tenets. Eric Raymond has 17 Unix rules in his book, The Art of Unix programming. And, Oregon State University has it's own Linux philosophy which I think nicely depicts an engineer's view of Linux.
  • 11. The terminal case The Linux philosophy is epitomized by the ease with which one can open a terminal emulator to access the CLI and its concomitant power. First, there are the multiple virtual terminals that can be accessed using the Ctrl-Alt-F [1-7] keys. Even the Linux GUI desktops whispers, "Use the force, Luke," to all who use them. Linux has several fine GUI desktop environments from which to choose so that every user can choose the one he or she likes best.
  • 12. Complete control Linux does not handhold. It assumes you know what you are doing when you type a command and it proceeds to execute that command without asking if you really want to. It gives you complete control. Other operating systems let you know that you can use nails but don't tell you what tool is used to insert the nails let alone allow you to put your own finger on the trigger. Yes, there is danger where there is great power. Used wisely that power can also be harnessed to accomplish many great things.
  • 13. The Linux prime directive This amounts to allowing each user to do things her or his own way with a wide choice of powerful tools. It means making flexibility, simplicity, and freedom the foremost considerations when designing and building software systems. It has resulted in the creation of software that is such a work of art that it is still beautiful and going strong after almost 45 years for Unix and for more than 20 years for Linux.
  • 14. Linux Principles Everything is a file. ( Including hardware ) Small, single-purpose programs. Ability to chain programs together to perform complex tasks. Avoid captive user interfaces. Configuration data stored in text.
  • 15. Everything is a File : – UNIX systems have many powerful utilities designed to create and manipulate files. The UNIX security model is based around the security of files. 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.
  • 16. Small, single-purpose programs : UNIX provides many small utilities that perform one task very well. When new functionality is required, the general philosophy is to create a separate program – rather than to extend an existing utility with new features.
  • 17. Ability to chain programs together to perform 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 the flexibility to combine many small programs together to perform a larger, more complex task.
  • 18. Avoid captive user interfaces :- Interactive commands are rare in UNIX. Most commands expect their options and arguments to be typed on the command line when the command is launched. The command completes normally, possibly producing output, or generates an error message and quits. Interactivity is reserved for programs where it makes sense, for example, text editors (of course, there are non- interactive text editors too.)
  • 19. 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. There are several revision control applications that enable an administrator to track which change was made on a particular day, and provide the ability to roll back a system configuration to a particular date and time.
  • 20. References Eric Raymond: The Art of Unix Programming http://www.catb.org/~esr/writings/taoup/html/index.html Mike Gancarz: Linux and the Unix Philosophy; Digital Press, 2003, ISBN 1-55558-273-7 Wikipedia: http://en.wikipedia.org/wiki/Unix_philosophy Oregon State University: http://web.engr.oregonstate.edu/~traylor/ece474/lecture_verilog /beamer/linux_philosophy.pdf