Download presentation
Presentation is loading. Please wait.
1
The Linux Operating System
Lecture 2 Uli Raich
2
Starting up the Linux System
3
Linux Distributions Linux comes in many flavors (distributions) which may be different of 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...
4
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
5
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?
6
Linux commands Here are a few commands: 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. 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
7
Manual pages This is a small sample of /usr/sbin:
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.
8
File permissions and user groups
Typing ls -l (l means long listing format) in one of my directories, this is what I get: 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.
9
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?)
10
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!
11
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
12
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
13
Find commands To find any command click this button and type a command name in the search box Here you may try to see which software is available on Ubuntu clicking the Ubuntu Software button
14
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
15
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.
16
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 lower from my current working directory
17
Change Settings
18
Settings(2)
19
bash scripts You can collect 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 (with the sh prefix) like any other program (how?). Have a look at your .profile file a shell script which is executed when you create a new shell (e.g. when opening a new command window).
20
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.