240 likes | 505 Views
Introducing the UNIX Operating System. What is UNIX ?. • A family of operating systems. • Multitasking. IRIX SOLARIS AIX LINUX Digital UNIX MacOSX. • Multiuser. Runs more than one program at the same time.
E N D
Introducing the UNIX Operating System
What is UNIX? • A family of operating systems • Multitasking IRIX SOLARIS AIX LINUX Digital UNIX MacOSX ... • Multiuser Runs more than one program at the same time. A busy system can be running several hundred or even thousands of programs at the same time. • Networked Many different people can use the system at the same time. It is designed to be linked to other computers and to allow people to work over a network. The network IS the computer.
users Pointy, clicky program. • Any number of users can use any number of programs and methods to access the system from any number of remote machines at the same time. The X Window System • Graphical interface (point, click, drag, drop etc.) • Network enabled • Can use many programs at once • Is a separate program • Easier to use than the shell but less powerful The Shell (or command line) • Allows the user to interact directly with the computer by typing commands. • The shell interprets these and instructs the kernel accordingly. • Very powerful but can be intimidating • Controls access to the hardware. • Prevents programs interfering with each other. • Provides an easy way for programmers to talk to the electronics. • Controls data storage and protection. User Interaction • Many different users, typically accessing the system from remote machines in different ways Disk storage Memory Network adapter Modem Screen Keyboard Console programs • Run from the shell • Use one program actively at a time unix> help X Press ENTER to continue: Xprog X · UNIX Kernel The Computer What does UNIX do?
Logging in Unix doesn’t really care where you log in from, though some system administrators might. You must have a username (login id) to use a unix system Have graphical output sent anywhere you have permission Log in from anywhere you have permission Every user is a member of one or more groups of users. This identifies you to the system so it can manage your work properly. This helps the system manage different types of user properly.
Connecting to embnet.org Connected. Welcome to the European Molecular Biology Network. Login: You may get some messages here from the system administrator. username unix is case sensitive. username isnotthe same as Username orUSERNAME unix doesn’t show anything on the screen as you type your password. Logging in Connect to the unix machine using a suitable program on your local machine. Telnet Xterm Secure Shell Kermit Other terminal emulators Password: The system will be unavailable on friday afternoon for maintenance. You have new mail. username@embnet ~>
username@embnet ~> your username your present location the machine you are logged in to The shell or command line Several different shells but they behave more or less the same 1. The Prompt. The prompt can be customised to look how you wish
ls -ald *.txt ls -ald *.txt ls -ald *.txt ls -ald *.txt username@embnet ~> The first word is a command By default the boundary between words is a space. To get the shell to treat a phrase that includes spaces as a single word, put it in quotes like this: 'my word' or "my word". The subsequent words form a list of arguments to the command arguments beginning with - are options * is a special character. It means ‘any group of characters’ (including none). The shell finds all the filenames that match anything.txt and adds them to the list of arguments The shell or command line 2. Commands ls -ald *.txt The shell breaks the command up into individual words Options control how the program runs. '-a -l -d' is equivalent to '-ald'
Any single character. word delineation Any group of characters including none. Redirect a commands input. eg. from a file instead of the keyboard. Redirect the commands output, eg. to a file Pipe. Pass the output of the command on the left as the input to the command on the right. Cause the process to run in the background Semicolon Seperate commands typed in together. Backslash. Change the meaning of the next character. Backticks (not '). Take the output of the command as an argument String or Dollar Treat the next word as a variable and write out its value More Special Characters * ? " ' & | > < `` $ \ ; Some special characters can lose their special meaning if they are inside quotes.
The data could be an image, a document, a set of instructions (a program) or any fixed information. Organisation "Everything is a file" • An ordinary file contains data. • A directory contains other files. • A link is a file that is a shortcut to another file. • There are many other types of file . This is also known as a folder on some systems. A directory can contain other directories (which are then known as sub-directories.) Files can have more than one name, and be in different directories at the same time You don't need to worry about these. You probably won't come across one in normal use of the system.
/ usr home home bin etc username username prot prot letter project seq4 seq3 seq2 seq1 /home/username/prot /home/username/prot /home/username/prot /home/username/prot Organisation of the file system / The top of the file system is the directory '/', commonly known as the root directory Several subdirectories under the root directory An example users home directory with a subdirectory and several files Any file in the file system can be uniquely identified by describing the path to it from the root directory. Another subdirectory.
/ bin usr home etc username prot letter project seq3 seq2 seq1 seq4 /home/username Organisation of the file system Any process is located somewhere in the filesystem The command 'pwd' will tell you where. username@embnet ~> pwd '~' is a unix shortcut meaning 'your home directory'
/ bin usr home etc username prot letter project seq3 seq2 seq1 seq4 Looking at the file system 'ls' lists the files in a directory or directories There are many options to ls that allow you to select and control the information it presents. Without an argument, ls lists all the files that don't start with . in the current directory username@embnet ~> username@embnet ~> ls ls project prot letter project project: seq1 seq2 seq3 seq4
/ bin usr home etc username prot letter project .. 'directory' is the directory to which you want to move. The name can be written as the full path (from root) or as the relative path (from your current directory) seq3 seq2 seq1 seq4 username@embnet ~> repeat using the relative path '..' means the parent directory. '.' means the current directory. /home/username/project /home/username/project /home/username Moving around the file system You can move to a different directory with the command 'cd directory ' username@embnet ~/project> username@embnet ~> username@embnet ~> cd /home/username/project cd project cd .. username@embnet ~/project> username@embnet ~/project> username@embnet ~> pwd pwd pwd
/ bin usr home etc username model prot letter project seq3 seq2 seq1 seq4 username@embnet ~> Changing the file system You can create a new subdirectory in the current directory with the command ' mkdir directory ' username@embnet ~> mkdir model
/ bin usr home etc username model model prot letter project seq3 seq2 seq1 seq4 username@embnet ~> username@embnet ~> Changing the file system You can delete an empty subdirectory with the command ' rmdir directory ' You can delete a file with the command ' rm file ' username@embnet ~> You can delete a subdirectory and its contents with the command ' rm -rfdirectory' rmdir model rm prot
It is best to stick to a-z, A-Z, _, -, and numbers. It is best to keep them short as it saves typing. Special characters in filenames can cause problems with some programs. More about files: filenames Filenames can contain any normal text character including spaces and special characters. Filenames can be almost any length. If a filename contains a special character or a space you may need to put quotes around the whole path.
cat prints the whole file at once, so a file longer than just a few lines will run off the top of your screen. more will let you search through a file, go backwards and forwards and has many other functions. The last few lines can be viewed with 'tail' More about files: reading files You can print the contents of one or more files to the screen with the command: 'cat file1 file2 ...' You can view the contents of one or more files a page at a time on the screen with the command: ' more file1 file2 ...' You can print the first few lines of a file with the command: 'head file1 file2 ...'
Text editors edit text. They do not try to format the text like word processors. More about files: editing files You can change the content of text files and create new files with a text editor. PICO EMACS A novice friendly basic text editor used as standard on many systems. Start with the command 'pico filename' VI A powerful editing environment which can be programmed. It has many modes for auto layout of program code. Start with the command 'emacs filename' A powerful editor which can be somewhat confusing for newcomers. It is designed for rapid editing of text files and programming. Start with the command 'vi filename'
If newfilename is a directory, then the file will be copied to 'newfilename/oldfilename' More about files: copying files You can copy a file with the command 'cp oldfilename newfilename' username@embnet ~> ls letter project username@embnet ~> cp letter draft username@embnet ~> ls draft letter project username@embnet ~> Warning: If a file called newfilename already exists then it will be overwritten. The command 'mv oldfilename newfilename' can be used to rename a file
Owner The user who owns the file Group Other users in the same group as the user who owns the file. World All the other users in the system. More about files: permissions • Every file is protected to a greater or lesser extent. • Permissions determine who can read, write, or execute a given file. • Files can have read, write or execute permission for each of the three types of user.
-rwxr--r-- -rwxr--r-- -rwxr--r-- username users 6048 Aug 17 16:07 letter The letter l Permissions for the owners group Permissions for everyone else The user who owns the file The date the file was last modified The files size The files name The file type: - - ordinary file d - directory l - link (shortcut) The files group Permissions for the owner More about files: permissions You can view the permissions for a file by listing it in long format with the command 'ls -l filename' username@embnet ~> ls -l letter -rwxr--r-- 1 username users 6048 Aug 17 16:07 letter
change is the modification you want to make to the files permissions chmod o-r letter chmod o-r letter chmod o-r letter For whom you are changing permissions: o - other g - group u - user a - all Permissions being changed: r - read permission w- write permission x - execute (run) permission How you are changing permissions: - - remove these permissions +- add these permissions = - set permissions to this More about files: permissions You can change the permissions for a file with the command 'chmod changefilename' username@embnet ~> ls -l letter -rwxr--r-- 1 username users 6048 Aug 17 16:07 letter username@embnet ~> chmod o-r letter username@embnet ~> ls -l letter -rwxr----- 1 username users 6048 Aug 17 16:07 letter username@embnet ~>
This will bring up the manual page and show it to you screen by screen This will find all manual pages containing word in the short description of the command. Getting help You can get help on a command by using the command ' man command' If you do not know what a command is called, use the option '-k' to get a list of commands that may be relevant 'man -k word' Try using the options '-h', '-help', or '--help' if you can't find the man page.
Useful literature 'Learning the UNIX operating system', O'Reilly press. 'UNIX Quickguide' EMBnet PDF-files provided during this course