"a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text."
- Wikipedia
We'll bootstrap our work with four:
#!/bin/bash
if [ -z "$1" ]; then
echo "Hello, World!"
else
echo "Hello, $1!"
fi
pwd, ls, cd, mkdir, touch, cp, mv, less, man
find, grep, history, pkill
"cryptographic network protocol for secure data communication, remote command-line login, remote command execution, and other secure network services between two networked computers"
- Wikipedia
# start a remote shell session
$ ssh some.machine.com
# run a remote command
$ ssh some.machine.com 'cd my_scripts; ./do_stuff.sh'
# start a remote shell session on a vagrant box
$ vagrant ssh
# copy a file from remote to local
$ scp some.machine.com:my_scripts/do_stuff.sh .
Google these if interested:
Navigation, modes, yanking, pasting, deleting, saving, quitting
# start a new screen
$ screen
# start a new named screen
$ screen -S my_name
# list running screens
$ screen -ls
# connect to a running screen
$ screen -rx my_name
Create window, switch window, kill window, rename window, scrollback, disconnect