unit 10
play

Unit 10 Linux Operating System 2 Linux Based on the Unix - PowerPoint PPT Presentation

1 Unit 10 Linux Operating System 2 Linux Based on the Unix operating system Developed as an open-source ("free") alternative by Linux Torvalds and several others starting in 1991 Originally only for Intel based processors


  1. 1 Unit 10 Linux Operating System

  2. 2 Linux • Based on the Unix operating system • Developed as an open-source ("free") alternative by Linux Torvalds and several others starting in 1991 • Originally only for Intel based processors but has now been ported to other platforms (i.e. ARM processors in your phone, etc.) • Commonly used in industry and in embedded devices

  3. 3 Using the Command Line • While it has a GUI interface like your Mac or Windows PC much of its power lies in its rich set of utilities that are most easily run Terminal Icon at the command line (aka command prompt or terminal) • Here we can navigate the file system (like you would with Explorer or Linux Terminal View Finder), start programs (double- clicking an icon), and much more by simply typing commands Vocareum Terminal View

  4. 4 Navigating the File System • A file system has – Folders (directories) – Files • They are organized in a hierarchy • Everything we can do with a GUI we can do at the command line

  5. 5 Some Basic Commands • Here are some helpful commands to use in Linux at the command prompt Command List (see) all files in the current folder ls Present working directory shows the current folder pwd location of the terminal cd dirname Change directory to a new folder cp srcfiles dest Copy file(s) to a new location Move/rename files to a new name/location mv srcfile dest rm srcfiles Remove files from the current folder mkdir dirname Make directory / create a new folder rmdir dirname Remove directory / delete a folder (must be empty first)

  6. 6 Directory Structure Ex. 1 • Each circle is a directory / • Each name in the box is a file home • Starting from your home (e.g. 'mark') directory/folder… you start here mark • Use cd to change directories (folders) Desktop Documents – cd Desktop – cd cs102 cs102 other – cd hw7 src • Or go multiple folders at a time hw7 test2.h – cd Desktop/cs102/hw7 test2.cpp hw7a.cpp hw7b.cpp

  7. 7 Directory Structure Ex. 2 • To go up a level use / – cd .. • To go up 2 levels use home – cd ../.. you start here • Let's go one level to 'cs102' mark – cd .. • Now make a directory Desktop Documents – mkdir hw8 cs102 other src Shortcuts: . = Current directory hw7 hw8 .. = Parent directory (up one) test2.h ~ = Home directory test2.cpp * = Wildcard to match filenames hw7a.cpp Unix commands: hw7b.cpp pwd = Print current working dir

  8. 8 Directory Structure Ex. 3 • Let's say we want to start a / new lab with a copy of our old work and just modify it. home Let's copy our work you start here – Recall I'm in cs102 folder mark currently – cp hw7/* hw8/ Desktop Documents cs102 other src Shortcuts: . = Current directory hw8 hw7 .. = Parent directory (up one) test2.h ~ = Home directory test2.cpp * = Wildcard to match filenames hw7a.cpp hw7a.cpp Unix commands: hw7b.cpp hw7b.cpp pwd = Print current working dir

  9. 9 Directory Structure Ex. 4 • Let's now go into the test / folder – cd test home • Now rename the hw7a.cpp to you start here hw8.cpp mark – mv hw7a.cpp hw8.cpp • Now delete the hw7b.cpp file Desktop Documents – rm hw7b.cpp • Remember, you can see all the cs102 other src files in a folder by typing – ls • hw8 hw7 You can see what test2.h folder/directory you are in by test2.cpp typing hw7a.cpp hw7a.cpp – pwd hw7b.cpp hw7b.cpp

  10. 10 EDITORS AND COMPILERS

  11. 11 Editors • "Real" developers use editors designed for writing code – No word processors!! • You need a text editor to write your code – Eclipse, Sublime, MS Visual Code, Emacs, Atom, and many others • These often have handy functions for commenting, indenting, checking matching braces ({..}) etc.

  12. 12 Starting An Editor • From the command line you can navigate to the folder where you want to create new files or where your files already exist – cd cs102 • You need to know the name of the editor application ( subl for Sublime, code for MS Visual Code, emacs for Emacs) and you can include a filename after the application name and it will open that file (if it exists) or create it (if it doesn't) – subl hw8.cpp & – code hw8.cpp & – emacs hw8.cpp & – The '&' prevents the terminal from freezing until the editor is closed and thus allows you to continue typing in new commands into the terminal while the editor remains open

  13. 13 Compilers • Several free and commercial compilers are available – g++: – clang++ – XCode – MS Visual Studio • Several have "integrated" editors, debuggers and other tools and thus are called IDE's (Integrated Development Environments)

  14. 14 Software Process Std C++ & Other Libraries #include <iostream> using namespace std; 1110 0010 0101 1001 int main() 0110 1011 0000 1100 Load & { int x = 5; 0100 1101 0111 1111 g++ cout << "Hello" 1010 1100 0010 1011 Execute << endl; 0001 0110 0011 1000 cout << "x=" << x; return 0; Compiler Executable } Note: Most documentation Binary Image C++ file(s) and books use $ as a ("test") (test.cpp) placeholder for the command line prompt. $ subl test.cpp & $ subl test.cpp & $ subl test.cpp & $ g++ – g – Wall – o test test.cpp $ g++ – g – Wall – o test test.cpp or $ ./test $ make test Edit & write Compile & fix compiler Load & run the 1 2 3 code errors executable program

  15. 15 g++ Options • Most basic usage – g++ cpp_filenames – Creates an executable a.out • Options – -o => Specifies output executable name (other than default a.out) – -g => Include info needed by debuggers like gdb, kdbg, etc. – -Wall => show all warnings • Most common usage form: – $ g++ -g -Wall hw8.cpp -o hw8

  16. 16 Running the Program • First ensure the program compiles – $ g++ -g -Wall hw8.cpp -o hw8 • Then run the program by preceding the executable name with ./ – $ ./hw8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend