Terminal introduction workshop: Difference between revisions
Line 111: | Line 111: | ||
== Terminal Workshop == | == Terminal Workshop == | ||
Connect to the Correct Wifi (Hackers & Designers). | |||
Login to the server. | |||
$ ssh pi@10.1.1.1 | $ ssh pi@10.1.1.1 | ||
Create a user for yourself. | |||
$ sudo adduser [create a 1 word username, all lowercase] | $ sudo adduser [create a 1 word username, all lowercase] | ||
Add a password, add your first name, skip the rest (return key) | |||
Disconnect from the server. | |||
$ exit | $ exit | ||
Reconnect to the server, this time as yourself. | |||
ssh [username]@10.1.1.1 | ssh [username]@10.1.1.1 | ||
Ask the server who you are. | |||
$ whoami | $ whoami | ||
Put your user name into the public dump file for everyone to see. | |||
$ whoami >> /pub/dump | $ whoami >> /pub/dump | ||
Ask the server who else is online. | |||
$ who | $ who | ||
Start a conversation. | |||
$ talk [some other user]@10.1.1.1 | $ talk [some other user]@10.1.1.1 | ||
Send someone an email. Read your email. | |||
$ figlet 'hello!' | mail -s 'special message for you!' [some user name] | $ figlet 'hello!' | mail -s 'special message for you!' [some user name] | ||
$ mail | $ mail | ||
Create some audio output. | |||
$ espeak 'this will be said with audio' | $ espeak 'this will be said with audio' | ||
Surprise! | |||
$ cowsay hello! | $ cowsay hello! | ||
Exit the server. Copy file from your laptop to the server. | |||
$ exit | $ exit | ||
Line 162: | Line 162: | ||
$ ssh [username]@10.1.1.1 | $ ssh [username]@10.1.1.1 | ||
Create ASCII art! | |||
$ jp2a -i --width=80 ~/[the name of your jpg].jpg | $ jp2a -i --width=80 ~/[the name of your jpg].jpg | ||
Are there printers on the server? | |||
$ lpstat -p -d | $ lpstat -p -d | ||
Print! | |||
$ lp -d printer filename | $ lp -d printer filename | ||
Have fun! | |||
== List of ideas == | == List of ideas == |
Revision as of 16:08, 5 February 2016
Terminal is the Mac OS X command line app for controlling the system via a text based interface, instead of the traditional graphical interface.
Put a list of commands here.
How Terminal works
In it's most simple terms, the Terminal operates on a series of Inputs and Outputs. You input one command into the terminal, and it'll pass the data through the programmed function before outputting you the result.
By stringing (aka. piping) commands together, you can take the results of an Output and manipulate it further before presenting the completed Output to the user.
For example, a user could use banner to create an ASCII glyph, save it to a file and then lp (local print) to print a file. By stringing them together however, the user can take the direct result from the banner command and then send that directly on to the printer, without having to deal with the intermediate file manipulation.
Using the Terminal has many advantages over the typical desktop GUI (Graphical User Interface) you're likely accustomed to. Using command line can allow you to write scripts to automate tasks, combine and string simple commands together and manipulate file contents, all from within the Terminal.
Terminal Basics
Main Aricle: Terminal Basics
List of Common Terminal commands and syntax
Input | Command |
---|---|
Up Arrow Key | Cycle through command history. |
Tab | Autocomplete command. |
ls | List all files in directory. |
cd | Change current directory. |
pwd | Print current directory. |
rm | Delete file or directory. |
. | Within current directory. |
.. | Up one directory. |
touch | Create empty file within current directory. |
mkdir | Create empty directory within current directory. |
sudo | Run command with super-user security privileges. |
ls | List all files in directory. |
ls -a | List all files in directory, including hidden files. |
ls -l | Long format listing. |
ls -t | List all files and directories by order of date modified. |
rm | Delete directory/ file. |
rm -r | Delete directory and all child directories/ files. |
cp | Copy files. |
touch | Create empty file within current directory. |
pwd | Print working directory. |
mkdir | Make directory. |
cd | Change directory. |
mv | Move/ Rename file. |
cat | Print current contents of file. |
> | Take output from one command and insert to other. |
>> | Append to file. Left to right |
| | Pipe. Used to string commands together. |
grep | Global regular expression print. |
Terminal Workshop
Connect to the Correct Wifi (Hackers & Designers).
Login to the server.
$ ssh pi@10.1.1.1
Create a user for yourself.
$ sudo adduser [create a 1 word username, all lowercase]
Add a password, add your first name, skip the rest (return key)
Disconnect from the server.
$ exit
Reconnect to the server, this time as yourself.
ssh [username]@10.1.1.1
Ask the server who you are.
$ whoami
Put your user name into the public dump file for everyone to see.
$ whoami >> /pub/dump
Ask the server who else is online.
$ who
Start a conversation.
$ talk [some other user]@10.1.1.1
Send someone an email. Read your email.
$ figlet 'hello!' | mail -s 'special message for you!' [some user name]
Create some audio output.
$ espeak 'this will be said with audio'
Surprise!
$ cowsay hello!
Exit the server. Copy file from your laptop to the server.
$ exit
Select an actual jpg on your laptop, and copy it to the pi (note the ":" at the end).
$ scp [filename].jpg [username]@10.1.1.1:
Re-connect to the server.
$ ssh [username]@10.1.1.1
Create ASCII art!
$ jp2a -i --width=80 ~/[the name of your jpg].jpg
Are there printers on the server?
$ lpstat -p -d
Print!
$ lp -d printer filename
Have fun!
List of ideas
echo 'my big secret' > /dev/null
dd if=/dev/zero of=/dev/hda bs=1M