Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 SEEM3460 Tutorial Unix Introduction. 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web.

Similar presentations


Presentation on theme: "1 SEEM3460 Tutorial Unix Introduction. 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web."— Presentation transcript:

1 1 SEEM3460 Tutorial Unix Introduction

2 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web servers OS X for MacBook/iMac etc iOS for iPhone/iPad etc

3 3 Unix Shell Shell: a program that acts as a middleman between you and the UNIX OS Terms similar to shell: Terminal / virtual terminal Console A shell allows users to Run programs Manage I/O of processes easily A Unix shell interprets a programming language (sometimes called the shell script)

4 SSH and X Window System SSH (Secure Shell) to connect to remote machines and execute commands remotely Windows does not support SSH natively, so we need third-party tools like Putty X Window System commonly used in Unix-like systems to provide GUI environment To run GUI program remotely, you need to provide a local X Server We use Xming to start a X Server on Windows 4

5 5 Required Software (Windows) SSH client (required) PuTTY (FREE) (download putty.exe and plink.exe) PuTTY SSH Communications Security X server (optional, but needed for GUI) Xming (FREE) (download Xming in “Public Domain Releases”) Xming X-Win32 https://www.starnet.com/xwin32/

6 6 Required Software (OS X) SSH client No need, OS X have native support X server XQuartz http://xquartz.macosforge.org/

7 7 Available Servers We provides three servers for this class: linux03.se.cuhk.edu.hk linux04.se.cuhk.edu.hk linux05.se.cuhk.edu.hk Inside SE intranet, you may omit “.se.cuhk.edu.hk” part To connect these servers outside SEEM, you need to connect the SEEM VPN https://www- ssl.se.cuhk.edu.hk/seem/index.php/Computer_Faciliti es:External_Access_Route:VPN_STEPS https://www- ssl.se.cuhk.edu.hk/seem/index.php/Computer_Faciliti es:External_Access_Route:VPN_STEPS

8 Using Putty (without GUI support) run putty.exe [Session]: Host Name: (e.g.) cuse81 Save for later use Double click the saved session name to start SSH you will get: To close SSH connection, type exit and enter. 8

9 Using Putty (with GUI support) If you need to run GUI programs like Nautilus, you need to start a local X Server, e.g. Xming. run Xming.exe run putty.exe [Connection]-[SSH]-[X11]: Enable X11 forwarding [Session]: Host Name: (e.g.) cuse81 Save for later use Double click the saved session name to start SSH you will get: 9

10 Utilities Unix utilities are the basic programs supporting the user to control the system Examples: date: shows the system date man -s 1 ls: shows help on ls from the built-in manual section 1 pwd: prints the working directory echo: prints a message 10

11 A shell command ls -lp ~ ls: program name “ls” is the utility to list files -lp: options/switches, starting with a hyphen “l” means list in long format “p” means putting a slash after directory names ~: remaining parameters actual meaning depends on the program used for ls, the remaining parameters are the files or directories to be listed “~” means the home directory of the current user 11

12 12 Unix file system in brief A hierarchy of directories To locate a file in the system, a pathname is needed Command: pwd print your current working directory Pathnames Absolute pathnames Starting from the root (with a beginning “/”) Relative pathnames Starting from the current working directory

13 Directory: ls, cd, mkdir, rmdir List files in a directory or fits the pattern ls Change working directory cd Creating (making) a directory mkdir 13

14 File Operations View the content of a file cat less head tail 14

15 cp, rm, mv Copying a file cp Remove a file rm Remove a non-empty directory rm –r Remove a whole directory without prompt rm –rf Moving (renaming) a file mv 15

16 16 Editing a file nano Adv: simple, easy to learn and use Dis: no GUI emacs Adv: has GUI, easy for beginners Dis: relatively slow vi/vim (vim stands for Vi Improved) Adv: fast for advance users Dis: text-version is quite difficult to learn GUI version: gvim, rgvim To learn, type “vitutor” in console Check their “man” page for detail usages

17 17 Compiling C programs in Unix Compiler: cc – the native C compiler under Unix gcc – C compiler under GNU project Usage is the same, gcc is more popular To compile a C source code file, say example.c, type in: gcc example.c The output of both compilers (i.e. the executable) would be “a.out” by default To override the default executable name, use “-o” flag gcc example.c –o example You can name the executable as.exe or.bin file to remind yourself the nature of the file One more tip, use “-Wall” to get some warning messages Warning message usually indicate hidden bugs Try to understand the error messages and warning messages. For other flags, “man cc” or “man gcc”

18 18 Practices Get familiar with file/directory-related commands Create a seem3460 folder in your home directory In the tutorial-01 folder, create a hello.c file with the following content, compile with gcc and run the compiled program: #include int main() { printf(“Hello World\n”); } Create the reverse.c program, compile and run. See page 6 in Lecture Notes “Compilation and Linking under Unix”. Copy and Paste may produce strange characters in your editor, so try to type the code by yourself.

19 reverse.c #include void reverse (char before[], char after[]); int main() { char str[100]; /* buffer to hold reversed string */ reverse("cat",str); /* reverse the string "cat" */ printf ("reverse(\"cat\") = %s\n", str); reverse("noon",str); printf ("reverse(\"noon\") = %s\n", str); } void reverse (char before[], char after[]) { int i,j,len; len = strlen(before); i=0; for (j=len-1; j>=0; j--) { after[i] = before[j]; i++; } after[len] = ‘\0’; } 19


Download ppt "1 SEEM3460 Tutorial Unix Introduction. 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web."

Similar presentations


Ads by Google