cs 141 labs are mandatory. attendance will be taken in each lab. make account on moodle. projects...
TRANSCRIPT
![Page 1: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/1.jpg)
CS 141
•Labs are mandatory. Attendance will be taken in each lab.
•Make account on moodle.
•Projects will be submitted via moodle.
![Page 2: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/2.jpg)
Connecting to a Unix/Linux system
Open up a terminal:
![Page 3: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/3.jpg)
Connecting to a Unix/Linux system
Open up a terminal:
The “prompt”
The current directory (“path”)
The host
![Page 4: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/4.jpg)
What exactly is a “shell”?
After logging in, Linux/Unix starts another program called the shell
The shell interprets commands the user types and manages their execution
The shell communicates with the internal part of the operating system called the kernel
The most popular shells are: tcsh, csh, korn, and bashThe differences are most times subtleFor this tutorial, we are using bash
Shell commands are CASE SENSITIVE!
![Page 5: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/5.jpg)
Help!
Whenever you need help with a command type “man” and the command name
![Page 6: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/6.jpg)
Help!
![Page 7: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/7.jpg)
Help!
![Page 8: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/8.jpg)
Help!
![Page 9: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/9.jpg)
Unix/Linux File System
/home/john/portfolio/
/home/mary/
The Path
NOTE: Unix file namesare CASE SENSITIVE!
![Page 10: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/10.jpg)
Command: pwd
To find your current path use “pwd”
![Page 11: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/11.jpg)
Command: cd
To change to a specific directory use “cd”
![Page 12: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/12.jpg)
Command: cd
“~” is the location of your home directory
![Page 13: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/13.jpg)
Command: cd“..” is the location of the directory below
current one
![Page 14: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/14.jpg)
Command: ls
To list the files in the current directory use “ls”
![Page 15: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/15.jpg)
Command: ls
ls has many options -l long list (displays lots of info) -t sort by modification time -S sort by size -h list file sizes in human readable format -r reverse the order
“man ls” for more optionsOptions can be combined: “ls -ltr”
![Page 16: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/16.jpg)
Command: ls -ltr
List files by time in reverse order with long listing
![Page 17: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/17.jpg)
General Syntax: *
“*” can be used as a wildcard in unix/linux
![Page 18: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/18.jpg)
Command: mkdir
To create a new directory use “mkdir”
![Page 19: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/19.jpg)
Command: rmdir
To remove and empty directory use “rmdir”
![Page 20: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/20.jpg)
Displaying a file
Various ways to display a file in Unix cat less head tail
![Page 21: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/21.jpg)
Command: cat
Dumps an entire file to standard output Good for displaying short, simple files
![Page 22: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/22.jpg)
Command: less
“less” displays a file, allowing forward/backward movement within it return scrolls forward one line, space one pagey scrolls back one line, b one page
use “/” to search for a stringPress q to quit
![Page 23: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/23.jpg)
Command: head
“head” displays the top part of a file By default it shows the first 10 lines -n option allows you to change that “head -n50 file.txt” displays the first 50
lines of file.txt
![Page 24: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/24.jpg)
Command: head
Here’s an example of using “head”:
![Page 25: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/25.jpg)
Command: tail
Same as head, but shows the last lines
![Page 26: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/26.jpg)
File Commands
Copying a file: cpMove or rename a file: mvRemove a file: rm
![Page 27: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/27.jpg)
Command: cp
To copy a file use “cp”
![Page 28: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/28.jpg)
Command: mv
To move a file to a different location use “mv”
![Page 29: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/29.jpg)
Command: mv
mv can also be used to rename a file
![Page 30: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/30.jpg)
Command: rm
To remove a file use “rm”
![Page 31: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/31.jpg)
Command: rm
To remove a file “recursively”: rm –rUsed to remove all files and directories Be very careful, deletions are permanent
in Unix/Linux
![Page 32: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/32.jpg)
File permissions
Each file in Unix/Linux has an associated permission level
This allows the user to prevent others from reading/writing/executing their files or directories
Use “ls -l filename” to find the permission level of that file
![Page 33: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/33.jpg)
Permission levels
“r” means “read only” permission“w” means “write” permission“x” means “execute” permission
In case of directory, “x” grants permission to list directory contents
![Page 34: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/34.jpg)
File Permissions
User (you)
![Page 35: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/35.jpg)
File Permissions
Group
![Page 36: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/36.jpg)
File Permissions
“The World”
![Page 37: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/37.jpg)
Command: chmod
If you own the file, you can change it’s permissions with “chmod” Syntax: chmod [user/group/others/all]+[permission] [file(s)] Below we grant execute permission to all:
![Page 38: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/38.jpg)
Command: ps
To view the processes that you’re running:
![Page 39: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/39.jpg)
Command: top
To view the CPU usage of all processes:
![Page 40: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/40.jpg)
Command: kill
To terminate a process use “kill”
![Page 41: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/41.jpg)
Input/Output Redirection (“piping”)
Programs can output to other programsCalled “piping”“program_a | program_b”
program_a’s output becomes program_b’s input
“program_a > file.txt” program_a’s output is written to a file called “file.txt”
“program_a < input.txt” program_a gets its input from a file called “input.txt”
![Page 42: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/42.jpg)
A few examples of piping
![Page 43: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/43.jpg)
A few examples of piping
![Page 44: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/44.jpg)
Command: wc
To count the characters, words, and lines in a file use “wc”
The first column in the output is lines, the second is words, and the last is characters
![Page 45: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/45.jpg)
A few examples of piping
![Page 46: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/46.jpg)
Command: grep
To search files in a directory for a specific string use “grep”
![Page 47: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/47.jpg)
Command: diff
To compare to files for differences use “diff”Try: diff /dev/null hello.txt/dev/null is a special address -- it is always
empty, and anything moved there is deleted
![Page 48: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/48.jpg)
gdb tutorial - link
http://www.cs.cmu.edu/~gilpin/tutorial/
![Page 49: CS 141 Labs are mandatory. Attendance will be taken in each lab. Make account on moodle. Projects will be submitted via moodle](https://reader035.vdocuments.us/reader035/viewer/2022070323/56649dc75503460f94abb9c5/html5/thumbnails/49.jpg)
Repeated Squaring Technique
Step 1. Let y=1. Step 2. Is N odd? If so, let y=y*x. Step 3. Set N to the floor of N/2. Step 4. Is N=0? If so, stop; answer = y. Step 5. Set x=x^2 and go to Step 2.