__**Rejoining class chat**__ Most of you probably already know this but I thought I would throw it on here for quick reference. So to join a class chat session do: $screen irssi /server irc /join nameOfYourCouse __**Using vi/vim**__ * This is not classic __vi__ it's __vim__. * The **esc** key will get you back to command mode. * **vi** - is a moded text editor * command: symbols are commands * input: symbols are input - **i** this will put you into input mode. (This will place characters before the courser. - **a** this will insert after the courser. - **I** this will insert at the beginning of the line - **A** this will insert at the end of a the line. - **o** this will start on the next line. - **O** this will start you on the line before. - **Navigation** - **h** go left - **l** go right - **j** down - **k** up - **w** right by word - **b** left by word - **{}** these jump up and down by stanza - **Manipulation** - **X** remove character left (cut) - **x** remove character right (cut) - **p** place to the left of cursor (paste) - **P** place to the right of cursor (paste) - **.** this will run the last command - __How to save from vi__ - in command mode hit : then w then fileName (:w myFile) - __How to leave the vi text editor__ - :wq - save and quit - :w - name save as - :q - quit - :q! - with without saving __**Viewing files in a directory with Wildcards**__ * **ls -a** - This will list hidden files. If you use the **-A** this will remove the extra information. * **ls -1** - This will list the files that a normal **ls** would give you but it will list them with one file per line. * **ls -1 ????** - This will list only the files in your current directory that have 4 characters. Similarly if you use 5 ?s it would list the files with 5 characters. * **ls | wc -l** - The **wc -l** part of the command counts the entries. * **ls -1 c???** - This will give all the __4__ character files that begin with c. If you wanted to see the ones with uppercase C as well you can use a character class like : **[cC]???** * **ls -1 ?[aeiou]?[aeiou]?** - This command looks very complicated but it is simply giving us the 5 character file names which have vowels in the 2nd and 4th character place. * **ls -1 ????*** - This shows the files which have 4 or more characters. * **ls -1 *p** - This will show all the files that begin with "p" * **ls -1 *hi* ** - This searches for any and all files that have the characters "hi" in them. * **file * **- This command will show the file information for every in the current directory. __**Wildcards**__ * * - match 0 or more of anything. * **?** - match exactly 1 of anything. * **[]** - Character class match any 1 of the enclosed * **[^ ]** - inverted characters class, do not match any 1 of enclosed. * //If it accepts a file you can use a wild card in its place.// __**Some basic scripting stuff and cool commands...**__ * If you would like to use a command but need to have a "-something" the "-" would make the command try and use "something" as an argument. So if you need to have a "-" in something you need in a command you can use **--** to negate the later "-". An example of this: **grep -q -- '-greppingForThis'** * If you want to print out the debugging information for a file you use the **#!/bin/bash -x** we all probably know this. But if you would like to add it as a argument to your script you can use: **set -o xtrace** * If you want to know the width of the screen your running on (or in a script) use **tput cols.** The best way to use this (at least in a script) is probably to set it in a variable like this: **var=$(tput cols)** Then when you call the function it will come back with the screen width. * A cool thing: If you want an error your printing to standard standard error just redirect standard input into standard error by doing **1>&2** * **<<** If you want to compose a file on the command line do: $ cat <stuff here. >More things. >name * __A couple notes__: whatever you put after the "<<" in this case "name" also needs to end the command line (see above). * This is called a "here file" * **<<<** - a "here string." This will simply basically echo what comes after like: $ cat <<< "Stuff" Stuff * When doing a "exit" you can add an exit code like: **exit 0** This is the one we usually use but if you do an **exit 1** (or any other number). That tells the script to exit with a "1" This is really helpful when debugging and if you would like to view the exit code do "$?" on the command line.. * Something cool. If you would like to see your command history do: **history** * Then along the left side you can see the "history" number. You can use those numbers to call back specific commands. Like: ... 550 echo "hello" 551 echo "$test" $ !550 hello