Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linux intro 1 definitions

1,815 views

Published on

Lecture for the "Programming for Evolutionary Biology" workshop in Leipzig 2012 (http://evop.bioinf.uni-leipzig.de/)

Published in: Technology
  • Be the first to comment

Linux intro 1 definitions

  1. 1. Programming for Evolutionary Biology April 3rd- 19th 2013 Leipzig, GermanyIntroduction to Unix-like systems Part 1: What is Unix? Giovanni Marco DallOlio Universitat Pompeu Fabra Barcelona (Spain)
  2. 2. Schedule 9.30 – 11.00: “What is Unix?”  11.30 – 12.30: Introducing the terminal 14:30 – 16:30: Grep & Unix philosophy 17:00 – 18:00: awk, make, and question time
  3. 3. Schedule 9.30 – 11.00: “What is Unix?”  11.30 – 12.30: Introducing the terminal 14:30 – 16:30: Grep, cut and sort 17:00 – 18:00: Unix philosophy, piping and free  discussion
  4. 4. What are Unix, GNU, Linux? Computer programmers like to use acronyms and  strange names for their software As a result, in this course you are going to learn a  lot of new difficult words :­) Lets clarify: Unix, GNU and Linux
  5. 5. What does “Unix” mean? Lets go back to the 70s, when computers were very  large like houses  A big problem was that each computer carried a  different operating system: so, a software written  for one computer didnt work in any other
  6. 6. What is an operating system? The set of all the programs needed to use a  computer properly  A software to coordinate all the components of the  computer (kernel)  A software to draw windows and folders (graphical  interface)  Software to edit texts, browse Internet, install other  software, etc..
  7. 7. What does “Unix” mean? To solve the problem of  computer compatibility,  the Bell lab released an  operating system called  Unix
  8. 8. What does “Unix” mean? To solve the problem of  computer compatibility,  the Bell lab released an  operating system called  Unix Unix was rapidly adopted  worldwide, and became  the standard operating  system, specially in  universities
  9. 9. What does “Unix” mean? To solve the problem of  computer compatibility,  the Bell lab released an  operating system called  Unix Unix was rapidly adopted  worldwide, and became  the standard operating  system, specially in  Ken Thompson and Dennis Ritchie, creators of Unix universities
  10. 10. Innovations introduced by Unix A novel approach to organizing files and scripts Good approach to data analysis Free License for universities and companies
  11. 11. Commercial versions of Unix Solaris → developed by Sun microsystems  The computers in our room run Solaris  Historically used in many multi­processor clusters BSD → developed by the University of Berkeley ….
  12. 12. What is GNU? In the 80s, commercial versions of Unix started  appearing As a reaction a group leaded by Richard Stallman at  MIT started developing a new operating system  called GNU 
  13. 13. What is GNU? In the 80s, commercial versions of Unix started  appearing As a reaction a group leaded by Richard Stallman at  MIT started developing a new operating system  called GNU  Richard Stallman, creator of GNU and of the GNU GPL license
  14. 14. What is GNU? GNU is the name of an operating system, inspired  to Unix and distributed as free software It was never fully completed, but most of its tools  are still used
  15. 15. What is GNU? GNU is the name of an operating system, inspired  to Unix and distributed as free software It was never fully completed, but most of its tools  are still used Most of the commands we will see today are GNU
  16. 16. What is GNU/Linux? The original GNU project was never fully  completed In 1991, it was merged with another project called  Linux, which provided the last component that  missing in GNU
  17. 17. GNU/Linux: a free Unix-like system When it appeared in 1991, GNU/Linux finally  provided a free Unix­like operating system Thanks to the adoption of GNU/Linux servers,  Internet grew considerably in 1991­1992, 
  18. 18. Resume: Unix, GNU, and Linux Unix is the name of an operating system developed  in the 70s GNU is the name of a operating system, inspired to  Unix but distributed for free, developed in the  80s GNU/Linux is a modern operating system, merging  GNU with another project (Linux)
  19. 19. Which operating system are we going to use in this course? All the computers in front of you use the Solaris  operating system.  However, we are going to connect to a central  server, where a GNU/Linux system (Fedora) is  installed.
  20. 20. What is the difference between Solaris and GNU/Linux? Most of the software will be compatible Solaris is a commercial system, bundled together  with a specific hardware
  21. 21. Raise-your-hands time! Have you ever used a Unix­based operating system  before today? 
  22. 22. Hands on Solaris Lets turn on the computers! ● Username: evop<computer id> – Example: if your computer is 30, the username is  evop30 ● Password: Pro4EvBi (Programming 4 Evolutionary  Biology)
  23. 23. While the computer loads:make yourself comfortable! http://www.codinghorror.com/blog/2007/08/computer-workstation-ergonomics.html
  24. 24. This is how your desktop should look like, after logging in:
  25. 25. The Solaris interface The Solaris interface is different from Windows and  MacOS, but it should not be difficult to use ● You have a “Launch” menu, from which you can  access all the applications installed  ● The interface is similar to an early Windows system
  26. 26. Our course - computers infrastructure
  27. 27. Connecting to evopserver During this course, we are going to do all the  exercises on a remote Fedora server Lets see how to connect to it
  28. 28. Connecting to evopserver The first thing to do is to launch a terminal emulator ● Go to Applications­>Utilities­>Terminal 
  29. 29. How does a terminal looks like?
  30. 30. Connect to the evopserver Use the following command to connect to the evopserver: ● “ssh ­X <your_username>@evopserver.bioinf.uni­leipzig.de” Password:  “HafbbiL!”  (as “Have again fun by bioinf in Leipzig !”)
  31. 31. Connect to the evopserver Use the following command to connect to the evopserver: ● “ssh ­X <your_username>@evopserver.bioinf.uni­leipzig.de” For example, if your username is giovanni, you should type: ● “ssh ­X giovanni@evopserver.bioinf.uni­leipzig.de” Dont forget the “­X” option!
  32. 32. Connecting to the evopserver The evopserver will ask you to confirm if you want  to connect Type “yes” (not “y”), and press Enter
  33. 33. Connecting to the evopserver Now you should be asked for a password. Enter it  and you should be able to access to the  evopserver
  34. 34. Are you here? If you have done everything right, you should see  something like the following:
  35. 35. Browsing files in the evopserver We will see how to use the terminal later today For now, lets see which files are in the server Do to so, type “nautilus” in the terminal
  36. 36. Type “nautilus” in the terminal
  37. 37. Did you get an error when typing “nautilus” ? Did you get the following error: “Could not  parse arguments: Can not open display” ? It means that you forgot to provide the ­X  option when you connected Type “exit” to logout, then ssh ­X  giovanni@evopserver.bioinf.uni­leipzig.de
  38. 38. nautilus When you type “nautilus”, you should see a  windows showing all the files in the evopserver  computer
  39. 39. Nautilus - explanation “nautilus” is the name  of the software used  to visualize folders in  GNU/Linux When we type  “nautilus” in the  terminal, we execute  it from the  evopserver computer
  40. 40. The Unix file system All the files in a Unix system are organized in  directories Directories are organized as a “tree” of diretories The base directory is called “root” and indicated by  a “/”
  41. 41. Exercise: look at the file system of a Unix system Click on “File System” on the left frame
  42. 42. Contents of the “root” directory /bin, /usr, /local, /sys → these folders contain the  software installed /etc, /var, → system­wide configuration /home → contains users private files Other folders → you can ignore them for now 
  43. 43. The Home folder The /home folder contains all the users folder If you open it, you will see a different folder for  each of you ● Only the administrator has the right of open other  peoples folder There is a special folder called “evopadmin”, which  contains the materials of the course
  44. 44. The home folder
  45. 45. The course materials All the course materials are located in the  /home/evopadmin folder The slides of this module are in  /home/evopadmin/unix_intro
  46. 46. Exercise Copy all the materials of the course in your home  directory Just open two separate windows, one for your home  and one for /evopadmin, and drag­drop the  unix_course folder
  47. 47. What is in the unix_intro directory? exercises: files needed for exercises today slides: all the slides of this module cheatsheets: some cards to help you remember the  commands we are going to use today
  48. 48. Launching a text editor from evopserver gedit is a text editor software You will use it to write scripts in the next modules  of this course
  49. 49. Launching a text editor from evopserver gedit is a text editor software You will use it to write scripts in the next modules  of this course To run it, execute gedit from the command line:
  50. 50. Launching a web browser from evopserver Some modules of this course will require to use a  web browser Use the command google­chrome on evopserver:
  51. 51. Launching a web browser from evopserver Some modules of this course will require to use a  web browser Use the command google­chrome on evopserver:
  52. 52. Restoring the prompt after launching google-chrome Note that after launching google­chrome, the  terminal will not accept commands anymore To restore it, use the key CTRL­z
  53. 53. Restoring the prompt after launching google-chrome To restore google­chrome, after CTRL­z, use the bg  command
  54. 54. How can I use a Unix system at my home / lab?
  55. 55. The GNU/Linux distributions There is not a single official “GNU/Linux”  operating system Rather, there are many “Linux distributions”,  created by different groups of people for different  tasks
  56. 56. What is the differencebetween linux distributions? The software included by default when you install the  system ● e.g. some may have a different default text editor ● Some linux distributions include only free software,  others are less strict ● However, all the software available for Linux is  installable in any other distribution 
  57. 57. What is the differencebetween linux distributions? The software included by default when you install the  system ● e.g.: one linux distribution can have “gedit” as the default  editor, while another has “emacs” ● Some linux distributions include only free software,  others are less strict ● However, all the software available for Linux is  installable in any other distribution  Some technical details such as the libraries used to compile  the software The default configuration (desktop, windows...)
  58. 58. Examples of Linux Distributions (2012) Ubuntu is a popular Linux distribution targeted at  beginners BioLinux is a Linux distribution targeted at  bioinformaticians Fedora is a popular Linux distribution, used in  many academic institutions
  59. 59. Ubuntu  One of the most  popular distributions  Good for novices  (doesnt need much  extra configuration)
  60. 60. BioLinux  Distribution designed  for bioinformaticians  When installed, it  already contains a lot  of bioinformatics  tools  Blast, bioperl, etc..
  61. 61. Biolinux DVDs  You should have  received a DVD of  Bio­Linux along with  the materials of the  course  To use it, insert it in  your computer and  reboot
  62. 62. Fedora  Fedora is another  GNU/Linux  distribution  Popular in many  universities
  63. 63. Is MacOS an Unix-based operating system? Yes, the MacOS system is also inspired to Unix In principle, you can do bioinformatics and follow  this course on a MacOS system Installing bioinformatics­specific software may be a  bit more difficult
  64. 64. What if I dont want to switch from Windows? Many alternatives:  Cygwin → simulates a Linux environment and  command line from Windows  Emulation → emulate a whole computer, which can  run Linux or other operating systems   Connect to a cluster or a Cloud computing instance
  65. 65. Cygwin  Cygwin can be installed as  a standard Windows  software  It provides a command  line interface, and  allows to launch Linux  software  Installing non­standard  software may be  difficult, because youll  need to compile it 
  66. 66. Emulating Linux from Windows A popular emulation  software is  “virtualbox” https://www.virtualbox .org/wiki/Downloads  
  67. 67. Connecting to a cluster putty: allows to  connect to a remote  server (from  Windows)
  68. 68. Cloud computing Cloud computing is a  service where you  “rent” a remote  computer You pay depending on  the CPUs/RAM/time  used
  69. 69. Resume of the session Unix → Operating system that in the 70s,  introduced innovative approach Materials of the course → they are all in the  /home/evopadmin folder GNU/Linux, Fedora, Ubuntu → modern operating  systems inspired to Unix
  70. 70. Lets have a break!

×