1 SEEM3460 Tutorial Unix Introduction 2

Published  . 0 views
↓ Download
1 SEEM3460 Tutorial Unix Introduction 2
1 / 1
1 SEEM3460 Tutorial Unix Introduction 2 - slide 1 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 2 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 3 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 4 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 5 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 6 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 7 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 8 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 9 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 10 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 11 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 12 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 13 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 14 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 15 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 16 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 17 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 18 of 19 1 SEEM3460 Tutorial Unix Introduction 2 - slide 19 of 19
Description: 1 SEEM3460 Tutorial Unix Introduction 2 Introduction Unix-like system is everywhere Linux Android for smartphones Google Chrome OS for Chromebook Web servers OS X for MacBookiMac etc iOS for iPhoneiPad etc 3 Unix Shell Shell: a program

Related Topics

Download Presentation

"1 SEEM3460 Tutorial Unix Introduction 2" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

slide1. 1 SEEM3460 Tutorial Unix Introduction<br>
slide2. 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<br>
slide3. 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)<br>
slide4. 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<br>
slide5. 5 Required Software (Windows) SSH client (required)
PuTTY (FREE) (download putty.exe and plink.exe)
SSH Communications Security
X server (optional, but needed for GUI)
Xming (FREE) (download Xming in “Public Domain Releases”)
X-Win32
https://www.starnet.com/xwin32/<br>
slide6. 6 Required Software (OS X) SSH client
No need, OS X have native support
X server
XQuartz
http://xquartz.macosforge.org/<br>
slide7. 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_Facilities:External_Access_Route:VPN_STEPS<br>
slide8. 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<br>
slide9. 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<br>
slide10. 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<br>
slide11. 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<br>
slide12. 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<br>
slide13. Directory: ls, cd, mkdir, rmdir List files in a directory or fits the pattern
ls <directories/filename patterns>
Change working directory
cd <aDirName>
Creating (making) a directory
mkdir <newDirName> 13<br>
slide14. File Operations View the content of a file
cat <file paths>
less <file paths>
head <file path>
tail <file path> 14<br>
slide15. cp, rm, mv Copying a file
cp <oldFileName> <newFileName>
Remove a file
rm <FileName>
Remove a non-empty directory
rm –r <DirName>
Remove a whole directory without prompt
rm –rf <DirName>
Moving (renaming) a file
mv <aFileName> <aDirectoryName>
mv <oldFileName> <newFileName> 15<br>
slide16. 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<br>
slide17. 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”<br>
slide18. 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 <stdio.h>
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.<br>
slide19. reverse.c #include <stdio.h>
#include <string.h>

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<br>