Getting Started With Cpsc (Advanced) Hosted by Jarrett Spiker

Similar documents
Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

When talking about how to launch commands and other things that is to be typed into the terminal, the following syntax is used:

Using UNIX. -rwxr--r-- 1 root sys Sep 5 14:15 good_program

CS Unix Tools. Lecture 2 Fall Hussam Abu-Libdeh based on slides by David Slater. September 10, 2010

Introduction of Linux

Introduction: What is Unix?

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

CSE 390a Lecture 3. Multi-user systems; remote login; editors; users/groups; permissions

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

commandname flags arguments

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

Introduction to the Linux Command Line

Lab Working with Linux Command Line

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Hitchhiker s Guide to VLSI Design with Cadence & Synopsys

Unix. Examples: OS X and Ubuntu

CISC 220 fall 2011, set 1: Linux basics

Linux Essentials Objectives Topics:

Connecting to ICS Server, Shell, Vim CS238P Operating Systems fall 18

CS CS Tutorial 2 2 Winter 2018

Introduction to Linux Workshop 1

Setting up my Dev Environment ECS 030

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2

Introduction to UNIX Command Line

A Brief Introduction to the Linux Shell for Data Science

CENG 334 Computer Networks. Laboratory I Linux Tutorial

Working with Basic Linux. Daniel Balagué

Linux at the Command Line Don Johnson of BU IS&T

Linux Command Line Primer. By: Scott Marshall

CSE 303 Lecture 4. users/groups; permissions; intro to shell scripting. read Linux Pocket Guide pp , 25-27, 61-65, , 176

Introduction to Unix: Fundamental Commands

Linux for Beginners. Windows users should download putty or bitvise:

Getting your department account

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words

Mills HPC Tutorial Series. Linux Basics I

CSC209. Software Tools and Systems Programming.

Introduction to Linux

Operating Systems. Copyleft 2005, Binnur Kurt

Operating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing

The Command Line. Matthew Bender. September 10, CMSC Command Line Workshop. Matthew Bender (2015) The Command Line September 10, / 25

Introduction to the UNIX command line

Linux Bootcamp Fall 2015

CS197U: A Hands on Introduction to Unix

: the User (owner) for this file (your cruzid, when you do it) Position: directory flag. read Group.

Introduction in Unix. Linus Torvalds Ken Thompson & Dennis Ritchie

CS Fundamentals of Programming II Fall Very Basic UNIX

Hands-on Keyboard: Cyber Experiments for Strategists and Policy Makers

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

Lecture 01 - Working with Linux Servers and Git

Introduction to Linux

Lab 2: Linux/Unix shell

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

Intro to Linux & Command Line

Week 2 Lecture 3. Unix

CPSC 213 Labs Cheat-Manual

A Brief Introduction to Unix

Open up a terminal, make sure you are in your home directory, and run the command.

LING 408/508: Computational Techniques for Linguists. Lecture 5

Introduction. File System. Note. Achtung!

UTA Tech Orientation Spring 2019

Introduction to Linux

Chap2: Operating-System Structures

Lecture # 2 Introduction to UNIX (Part 2)

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Find out where you currently are in the path Change directories to be at the root of your home directory (/home/username) cd ~

Basic Survival UNIX.

CS 261 Recitation 1 Compiling C on UNIX

Exercise Sheet 2. (Classifications of Operating Systems)

1 Installation (briefly)

Physics REU Unix Tutorial

A Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers

Computer Systems and Architecture

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to remote command line Linux. Research Computing Team University of Birmingham

XSEDE Scholars Program Introduction to the Linux Environment. Tips and Tricks for Linux Users John Lockman III June 5 th, 2012

TNM093 Practical Data Visualization and Virtual Reality Laboratory Platform

A Hands-On Tutorial: RNA Sequencing Using High-Performance Computing

CSE 390a Lecture 4. Persistent shell settings; users/groups; permissions

Scripting. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers

Chapter-3. Introduction to Unix: Fundamental Commands

History. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME

Introduction to Linux

CST8207: GNU/Linux Operating Systems I Lab Six Linux File System Permissions. Linux File System Permissions (modes) - Part 1

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

Carnegie Mellon. Linux Boot Camp. Jack, Matthew, Nishad, Stanley 6 Sep 2016

This lab exercise is to be submitted at the end of the lab session! passwd [That is the command to change your current password to a new one]

Command Line Interface The basics

Introduction To. Barry Grant

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Introduction to Linux (Part I) BUPT/QMUL 2018/03/14

Session 1: Accessing MUGrid and Command Line Basics

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

Introduction to Linux. May 9, 2010 Isaac Ye SHARCNET York University

Files (review) and Regular Expressions. Todd Kelley CST8207 Todd Kelley 1

Introduction to UNIX. SURF Research Boot Camp April Jeroen Engelberts Consultant Supercomputing

Transcription:

Getting Started With Cpsc (Advanced) Hosted by Jarrett Spiker

Advanced? - Assuming that everyone has done at least a year of CPSC already, or has a strong base knowledge. - If not, there is a Beginners session at MS 160 - Feel free to ask questions

Goal Provide some tools to help with the rest of you CPSC classes and/or degree.

BASH command line The default in Unix systems. - Mac - Linux (Ubuntu, Fedora) If you are on Windows - I m so sorry - There s always partitioning - There are tools like Cygwin which will allow you to use bash - There is Bash for Windows terminal available for 64-bit Windows 10 Anniversary Edition

BASH concepts ~ is your home directory / is the root directory. is the current directory.. is the above directory pipes output from one command to the input of another > writes output to a file

Basic BASH commands - cd <destination> - Change directory - ls - List contents on current directory - You can add a directory to change which directory will be listed - cp <source> <destination> - Copy file from one location to another. - Using -r flag copies recursively - mv <source> <destination> - Move a file/directory from one location to another - Also works as a rename operation - rm <target> - Remove a file/directory - -r flag makes the deletion recursive. -f skips asking for confirmation

- mkdir <name> - Creates a directory

Advanced BASH commands

chmod Changes access rights to a file/directory. chmod 777 ~/myfile.txt

You can pass a 4 digit octal number. <???><owner access><group access><world access> 4 - read 2 - write 1 - execute chmod 736 file gives all access to owner, write and execute privileges to group, and read and write access to world

You can pass letter options to change specific bits chmod <who><change><permission> Who is either u (user), g (group), o (others/world). It defaults to all. Change is either +, -, = (defaults) Permission is r (read), w (write), x (execute) So you can give everyone execute privileges with chmod +x file Or take away group and world write privileges with chmod go-w file

grep/find grep and find are search tools. grep Jarrett file.txt will return all of the lines in file.txt which contain the word Jarrett -r option can be used to search all of the files in a directory grep -r Bar testdir/ will find all of the lines which contain Bar in the testdir directory There are a bunch more options. man grep is useful.

find locates file names. `find. Test* ` finds all the files in the current directory which begin with Test Again, there are a lot of options, it s worth looking at man find (or just googling it)

SSH Connect to a server. This will be needed in some second/third year Cpsc courses. ssh <username>@<server name> The U of C servers are: csa.cpsc.ucalgary.ca csb.cpsc.ucalgary.ca etc. Close with exit

SCP Copy a file from a server to your local machine or vice versa scp <username>@<server name>:<file path> <local destination> Or vice versa to copy from your local machine to the server.

Env Vars Environment variables define locations on your system, or just work as nice shorthands. echo $PATH will print the contents of the variable PATH Export PATH=<stuff> will set PATH to stuff within the current terminal (NOTE DONT DO THIS. Use export PATH=$PATH:<stuff> to append to the path). To make changes permanent you write the export command to the ~/.bashrc file (Linux) or the ~/.bach_profile file (Mac)

Useful env vars JAVA_HOME sets which JDK java processes will run with. PATH is the set of paths which will be searched for executables when you enter them in the terminal. Gradle, Maven, IDEA all have _HOME variables as well

Internships

Source Control

Public Profile Stack overflow Github (Bitbucket) Personal Website

Editors

VIM/EMACS Light weight Fast Built in Alternatively, the terminal has build in editors pico nano

IDES Integrated development environments. Which one is largely personal preference. Atom Extremely lightweight Most features and language support comes from plugins Visual Studio Microsoft IDE Strong C#, C++, ect. support Very large, RAM intensive program

IntelliJ Free community edition, the paid edition is free for students Basis for several other IDEs Android Studio Web Storm Pretty much anything else IDEA does Attempts to take care of a lot of the overhead that comes with a large solution for the user More or less succeeds

Eclipse Based on plugins Support for a lot of languages (with varying quality) Free and open source Can have a decent learning curve Some overhead for more complicated projects

Eclipse Demo