End Presentation


TWiki Slide Show
Next
The Linux Operating System

Lecture 2

Uli Raich

First Semester 2017/2018

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 1 of 19





















TWiki Slide Show
Next
Starting the Linux System
This is how the screen may loop like after some programs have been started

mainScreen.png

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 2 of 19





















TWiki Slide Show
Next
Linux Distributions
Linux comes in many flavors (distributions) which may be different

in how they are configured, their desktop, their software repository,

their target user community

beginners, gurus, programmers, desktop, server …

Here are some distributions:

Ubuntu (which we use), Mint, Debian, RedHat, Fedora, Kali...

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 3 of 19





















TWiki Slide Show
Next
Linux versus Windows
Linux can be downloaded and installed for free

The sources of the OS can be accessed freely

Linux has a window system based on X11 and has most facilities Windows offers

For certain commercial hardware there are no Linux drivers (caution!)

Writing your own Linux driver is possible but often the manufacturers do not

open the hardware specs (register meaning, initialization procedure…)

which makes this a very tedious job.

Programmers mostly use the command line interface something

that is hardly ever used in Windows.

The file system layout on disk is different (ext4 vs ntfs)

but there exist drivers on both systems

reading and writing the others files systems

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 4 of 19





















TWiki Slide Show
Next
Linux Command Line
When you start up a terminal window, you start a command shell with it.

We will be using bash

When you type a command, bash will check if it is a command

implemented in bash, in which case it is executed immediately,


otherwise a new process is created, the command loaded and executed

After termination of the command the process is removed again.

Either bash waits for termination of the process

or it is run in parallel (“&” after the command)

Where are the commands and how many are there?

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 5 of 19





















TWiki Slide Show
Next
Most used Linux Commands
Here are a few very frequently used commands

Command Action
ls List directory content
cat, less, more Print content of a text file
mkdir Create a directory
cd Change working directory
pwd Print current working directory
echo Print variable
vi, nano, emacs, gedit ... Edit a text file
rm, rmdir Remove a file / directory
grep Search for a string in files
Have a look in /bin /usr/bin.

The environment variable PATH tells the system where to look for commands.

The number of commands is unlimited since you can write your own commands

and include them into the system.

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 6 of 19





















TWiki Slide Show
Next
Manual pages
This is a small sample of /usr/sbin binaries.png
Each of these commands has plenty of parameters! How do I remember all this?

Well… you don’t, but there is a man (manual) command where you can find

a description of the parameters.

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 7 of 19





















TWiki Slide Show
Next
File permissions and user groups
Typing ls -l (l means long listing format) in one of my directories,

this is what I get:

ls.png

The left rwx means that the file owner can

  • Read
  • Write
  • and eXecute
the file. The middle 3 characters have the same meaning for group members

and the last 3 characters for any user.

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 8 of 19





















TWiki Slide Show
Next
Changing file permissions
The chmod command allows the file owner to modify file permissions.

This can be done for

  • u: user who owns the file
  • g: users in the same group
  • a: any user
You may add (+) or remove (-) permissions

Example: chmod a+w Makefile (what does it do?)

You can also give octal values representing the permission bits:

chmod 655 Makefile (what will be the file permissions after the command?)

Changing the eXexute flag in a shell script to make it executable is often done:

chmod.png

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 9 of 19





















TWiki Slide Show
Next
The super user
As we have seen the owner of a file / directory can do with it whatever he wants

including to refuse access to anybody but himself.

You can modify or destroy your file but you cannot modify system files

or files of other another user if he does not explicitly allow it.

There is one user who has the power to do anything: root: the super user.

Sometimes you may need this power to adapt the system to your needs:

sudo command executes a command with super user privileges.

Be careful when doing this, you have the power to destroy your system!

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 10 of 19





















TWiki Slide Show
Next
Adding Software packages

The apt command is a package management to allowing you to

add new software packages

  • remove them
  • upgrade them
  • find out which packages are installed
Software installation and removal can only be done by the super user

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 11 of 19





















TWiki Slide Show
Next
Find commands on the system

To find any command click this button

and type a command name in the search box

startButton.png
ubuntuSoft.png

Here you may try to see which software is available on Ubuntu

clicking the Ubuntu Software button

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 12 of 19





















TWiki Slide Show
Next
stdin, stdout, stderr
Every program has 3 input/ouput channels associate with it:

stdin: the standard input channel

stdout: the standard output channel

stderr: the error channels

stdin in usually associate with the keyboard

stdout and stderr with the terminal window

from which the application was started.

Any of these may be re-directed with “<” for stdin,

'“>” for stdout and “2>” for stderr

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 13 of 19





















TWiki Slide Show
Next
pipes
Unix (and Linux) uses many small programs that can however be

connected to produce more complex commands.

stdout of one command is connected to stdin to another one through a pipe.


Let’s say, I want to know how many instances of bash are running on the system

(with each terminal you get an associated shell)

In this case I can give the command ps ax, which will however print all processes

currently running. If I pipe this output into grep bash

(showing every line containing the string “bash”)

then I have constructed the command I was looking for.

pipe.png

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 14 of 19





















TWiki Slide Show
Next
The home directory
Every user has his own home directory into which his personal files are stored.

This also concerns configuration files

Most configuration files are “hidden files” whose file names start with “.” To see these type

ls -a ~ Meaning: show all files in my own home directory.

cd (without parameters) takes you to your home directory

The current working directory is “.”

“..” is the directory one level up from the current working directory

(goto the parent directory of the current directory)

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 15 of 19





















TWiki Slide Show
Next
Change Settings
settings.png

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 16 of 19





















TWiki Slide Show
Next
Settings
settings-2.png

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 17 of 19





















TWiki Slide Show
Next
bash scripts
You can collect a sequence of commands in a script file (e.g. myscript.sh)

The command sh myscript.sh sequentially executes all commands in this file.
Actually bash is a command language with assignments,

conditional and loop statements just like any conventional programming language.

When making your script file executable by changing the permission

bits, you can run it like any other program (how?).

Have a look at your ~/.profile, a shell script which is executed

when you create a new shell (e.g. when opening a new command window).

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 18 of 19





















TWiki Slide Show
Next
Other script files
bash is a command interpreter but it is not the only one

There are other command shells like csh, tcsh …

And there are script base programming languages like python, perl …

Often the first comment in the script file tells the

system which interpreter to use:

#!/bin/sh

#!/bin/python

-- Uli Raich - 2017-09-05

First slide Previous Next Last slide
COPYRIGHT © 2024 by the contributing authors
Slide 19 of 19

Comments






















First slide Previous End Presentation






























I Attachment History Action Size Date Who Comment
PNGpng binaries.png r1 manage 65.4 K 2017-09-06 - 15:39 UnknownUser  
PNGpng chmod.png r1 manage 26.8 K 2017-09-06 - 15:39 UnknownUser  
Unknown file formatodp lecture_2.odp r1 manage 1050.5 K 2017-09-07 - 08:57 UnknownUser  
PNGpng ls.png r1 manage 16.3 K 2017-11-03 - 13:54 UnknownUser  
PNGpng mainScreen.png r1 manage 332.6 K 2017-09-05 - 16:01 UnknownUser  
PNGpng permissions.png r1 manage 14.4 K 2017-09-05 - 16:14 UnknownUser  
PNGpng pipe.png r1 manage 10.5 K 2017-09-06 - 16:20 UnknownUser  
PNGpng settings-2.png r1 manage 103.6 K 2017-11-03 - 14:31 UnknownUser  
PNGpng settings.png r1 manage 37.2 K 2017-11-03 - 14:31 UnknownUser  
PNGpng startButton.png r1 manage 5.5 K 2017-09-05 - 16:01 UnknownUser  
PNGpng ubuntuSoft.png r1 manage 427.2 K 2017-09-05 - 16:14 UnknownUser  

This topic: Embedded_Systems > WebHome > LectureSlides > Lecture2:TheLinuxOperatingSystem
Topic revision: r5 - 2017-11-03 - uli
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback