Difference between revisions of "Useful Tools"
(→Tmux) |
|||
Line 1: | Line 1: | ||
Following is a set of useful tools that you may find helpful while navigating your CS major/minor | Following is a set of useful tools that you may find helpful while navigating your CS major/minor | ||
− | THIS PAGE IS IN PROGRESS | + | '''THIS PAGE IS IN PROGRESS''' |
==Shell Commands/Tools== | ==Shell Commands/Tools== | ||
Line 74: | Line 74: | ||
===Tmux=== | ===Tmux=== | ||
+ | |||
+ | Tmux is a '''T'''erminal '''MU'''ltiple'''X'''er. It allows for multiple consoles within a single window, as well as the ability to detach and reattach processes from a single session. | ||
+ | |||
+ | ''TODO: Examples'' | ||
===PuTTY=== | ===PuTTY=== | ||
Line 99: | Line 103: | ||
===Miniconda=== | ===Miniconda=== | ||
− | + | Miniconda is a stand-alone release of the popular package manager '''''conda'''''. | |
+ | |||
+ | ''TODO: Examples of usage and reasons for virtual environments'' | ||
===nvm (for nodejs)=== | ===nvm (for nodejs)=== | ||
Fill | Fill |
Revision as of 17:01, 11 July 2017
Following is a set of useful tools that you may find helpful while navigating your CS major/minor
THIS PAGE IS IN PROGRESS
Shell Commands/Tools
SSH
Secure SHell is a network protocol that allows remote console (i.e. terminal) login from one machine to another. The Midd CS department machines all support SSH from the on-campus network. In addition, there is one machine (basin) that is specifically given a hole in the Midd firewall to allow off-campus connections.
You can find the manual page for the SSH command here. From the manual, the SSH command looks complicated; it's not! There are many optional arguments supported, but to get basic functionality all you need to supply to the command is the username you want to connect with and which machine you want to connect to. If the connection can be established, you will be prompted for the password of the account you are trying to connect with. If the connection cannot be established, you will be given some form of a "cannot resolve hostname" or "connection timed out" error.
NOTE: The examples below are all in UNIX format. To use SSH from a windows, please see the #PuTTY section.
NOTE 2: The first time you remotely connect to a machine, you will be given a warning that the authenticity of the machine you are trying to connect to cannot be verified. Assuming you have correctly entered the name of a Middlebury managed machine or a Middlebury IP address, you can safely ignore this and enter "yes". In the grand scheme of things, if it's your first time connecting to a machine and you are expecting to get this response, you can usually ignore it and enter "yes". But, for the sake of completeness, you should be aware that spoofing is a thing.
On-campus format:
{user@my-machine ~} ssh <username>@machine-name
OR
{user@my-machine ~} ssh <username>@machine-ip
Ex:
{user@my-machine ~} ssh user@killington
{user@my-machine ~} ssh user@140.233.20.155
Off-campus format (remember, basin is the only machine available from off-campus):
{user@my-machine ~} ssh <username>@machine-name.domain-name
OR
{user@my-machine ~} ssh <username>@public-facing-ip
Ex:
{user@my-machine ~} ssh user@basin.cs.middlebury.edu
{user@my-machine ~} ssh user@140.233.20.6
Tip: If you are off-campus and need to connect to a specific machine (or if your computer is having trouble resolving machine names), you can tunnel through basin to the machine you need with two ssh commands.
Ex:
{user@my-machine ~} ssh basin.cs.middlebury.edu
{user@basin ~} ssh killington
OR the shorthand version
{user@my-machine ~} ssh -t basin.cs.middlebury.edu ssh killington
SCP
Secure CoPy is a command that combines the ssh command with the cp command, hence scp.
NOTE: This command only works for UNIX environments. For Windows, see the pscp utility provided by PuTTY
TODO: Examples
Rsync
Fill
Tmux
Tmux is a Terminal MUltipleXer. It allows for multiple consoles within a single window, as well as the ability to detach and reattach processes from a single session.
TODO: Examples
PuTTY
PuTTY is an open source SSH client developed for the Windows platform. You can download it here (just the putty.exe binary form will do, but if you are feeling ambitious you can download the .msi installer).
The PuTTY client has many options for customization (similar to optional arguments with the ssh command). But, to get the basic usage out of it, all you need to do is supply the full hostname of the machine you want to connect to.
If the connection can be made, you will be prompted with a window asking you the username that you would like to login with. After entering a username, you will be prompted for the password associated with the username. Upon successful authentication, you should see a terminal-esque window you would see in a Unix environment.
File System Resources
Home (~) Folders
Fill
Your public_html Folder
Fill
Application Managers
Miniconda
Miniconda is a stand-alone release of the popular package manager conda.
TODO: Examples of usage and reasons for virtual environments
nvm (for nodejs)
Fill