Friday, October 26, 2012

I plugged my Linux box into the tv

And I didn't have any sound coming through the HDMI cable. I am currently using Lubuntu and everything else worked perfectly. The problem was I wasn't using the Nvidia drivers. I was seriously hoping to avoid using the Nvidia drivers since it doesn't play well with Lubuntu. All my text ends up super small. Therefore I switched to Ubuntu. 

To get sound over HDMI I had to install pavucontrol:

sudo apt-get install pavucontrol

Then select HDMI as the output.

However my login screen still says Lubuntu. To change it to Ubuntu I issued the following command:

sudo update-alternatives - - config default.plymouth 

And selected the Ubuntu option. The to make the changes permanent issue the following command 

sudo update-initramfs -u

Now logging in says Ubuntu :-) 

Wednesday, October 17, 2012

Sputnik Update

The battery life on this thing is awesome!

Friday, October 12, 2012

Project Suptnik Update

I just finished my first marathon coding session yesterday. I really like the keyboard. The keyboard's buttons are responsive and just big enough to prevent hitting 2 keys at once. The light up keyboard was a definite bonus when the sun was setting and I didn't have to break my train of thought when the sun was setting.

Friday, September 28, 2012

Kindle Fire vs Nexus 7: Which is the better ereader?

First and foremost I like to read. When ereaders first came out there were quite a few studies indicating that people read faster when reading an actual book. This may be true. However I have found that I read a lot more when using an ereader. I specifically use the term ereader here instead of electronic device since I do not enjoy reading on a computer (this includes laptops, netbooks and ultrabooks). More specifically my reading list includes at least 5 dissertations (1000+ pages) in the last couple of months. If I had 15 minutes to spare I would pick of the ereader instead of the actual dissertation and edit as many pages as I could in the time allotted. With the paper copy I would wait for a sufficient chunk of time where I could knock out an entire chapter, which is typically "never". I even used an ereader to catch up on the 300+ journal articles that I wanted to "read later". Even journal articles that I review get done at a faster pace when using an ereader.

Most of the aforementioned reading and editing was done on my Kindle Fire. Consequently, I was really excited to when the Nexus 7. With the Nexus 7 I could ssh into my VPS, skype, install my favorite keyboard for sending emails on a a tablet, utilize all of my Google apps and still use it as an ereader. Personally I feel that the Nexus 7 is the "do it all tablet".

So which device do I use to read now? Answer... the Kindle Fire. Why? Because given the opportunity to do the aforementioned list, the Nexus 7 lets me do exactly that. Especially when I think of things to do while I am reading. Since I can't do those things on the Kindle Fire I get a lot more reading done with it:)

Tuesday, September 25, 2012

Project Sputnik

I just recently setup my Dell XPS 13 laptop. I downloaded the ISO image and instead of following the directions I used unetbootin. The only hiccup I had doing this way was when I tried to replace the operating system from the installation menu; GRUB was installed in my thumb drive instead of the hard drive. I had to reboot of the thumb drive and do a manual installation choosing to install the boot manager on the hard drive.  This worked and know I have Ubuntu installed. I haven't had a chance to play with it much but it does have gVIM and emacs already installed. Now I need to install the android SDK package.

Tuesday, August 14, 2012

SSH server

I found this over at the Hak5 site. I highly recommend watching the full video:

Basic Client Setup in Linux
ssh -D 8080 user@host
The -D option, from the man pages
-D [bind_address:]port
Specifies a local dynamic application-level port forwarding. This works by allocating a socket to listen to port on the local side, optionally bound to the specified bind_address. Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine
Setting up a Linux OpenSSH Server
On a Debian based Linux machine setting up ssh can be as simple as issuing "sudo apt-get install ssh". In this segment Darren goes over some of the configuration lines you would find useful to modify in /etc/ssh/sshd_config.

AllowTcpForwarding yes GatewayPorts yes RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys AllowUsers bob alice PermitRootLogin no Protocol 2 Port 222 LoginGraceTime 1m ListenAddress ClientAliveInterval 60 ClientAliveCountMax 0
Be sure to restart the SSH deamon after editing the configuration. stop ssh;start ssh;service ssh restart;/etc/init.d/ssh restart #one of these should do it! :)
On a Linux OpenSSH server for example these key pairs will be found in /etc/ssh/*key*. The public keys will be world readable while the private keys can only be read by a superuser.
On a Linux client for example the key fingerprints of remembered servers are stored in ~/.ssh/known_hosts. Since SSH version 4 the username and hostnames associated with these servers are hashed.
To remotely verify the key fingerprint of an SSH server
ssh-keyscan -t rsa,dsa REMOTEHOSTNAME > /tmp/ssh_host_rsa_dsa_key.pub ssh-keygen -l -f /tmp/ssh_host_rsa_dsa_key.pub
Alternatively, on the remote server the key fingerprints can be found by:
cd /etc/ssh ls *key* cat ssh_host_key # this is the private key # permission will be denied if not superuser cat ssh_host_key.pub # this is the public key ssh-keygen -lf ssh_host_rsa_key.pub # field 1 = bit length of key # field 2 = fingerprint of key # field 3 = name of key
Setting up Key Pair Authentication in Linux with OpenSSH
On the remote host:
mkdir .ssh chmod 700 .ssh cd .ssh
On the local host:
ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub user@host:.ssh/authorized_keys2
Back on the remote host:
ls -la authorized_keys2 chmod 600 authorized_keys2 exit
On the local host:
ssh user@host

CAC

This is a helpful tool for setting up CAC access in linux.  Here is what I could find on it:

pcsc_tools

he pcsc_tools package provides an especially handy utility, pcsc_scan, which can help verify that your CAC reader really is talking to the OS, regardless of what any application is telling you:
$ pcsc_scan

The original way to install DoD root certificates, even on Windows XP, was to visit http://dodpki.c3pki.chamb.disa.mil/rootca.html and just click on each one to install.


Firefox Client Certificate Setup

  1. Insert CAC into reader - the green light should flash.
  2. Add CAC Module to Firefox as a Security Device
    1. Preferences Menu
    2. Advanced Section
    3. Encryption Tab
    4. Security Devices Button
    5. Load Button
    6. Enter CAC Module as the module name, and browse to /usr/lib/pkcs11/libcoolkeypk11.so for the module filename (or /usr/bin/libcackey.so or /usr/lib/libcackey.so if using the CACKey custom PKCS#11 library available from cackey).

Cisco vpn installer

Cisco vpn installer:

sudo apt-get install network-manager-vpnc

Now you need to select IPV4 Settings tab click on routes

Here you need to select “Use this connection only for resources on its network” click ok otherwise your traffic significantly slowed down

Know Your Network: The Complete Guide [Night School]

Know Your Network: The Complete Guide [Night School]:
We spent last week learning all about your home network, your routers, and all the cool things you can do with them. Here's the complete guide that will teach you how to pick out the best network hardware, get to know it better, make it perform at its best, and access just about anything on your network from practically anywhere in the world. More »


How to Build a Computer from Scratch: The Complete Guide [Video]

How to Build a Computer from Scratch: The Complete Guide [Video]:
Last week, we showed you how to build your own custom PC, from picking the parts, to putting it together and installing your OS. Here's the complete guide, along with a printable PDF version that you can use as a reference. More »


Make and Host Your Own Customized, Personal Landing Page in a Few Minutes [Video]

Make and Host Your Own Customized, Personal Landing Page in a Few Minutes [Video]:

Personal landing like Flavors.me are really popular right now, but we prefer more complete control over what Google has to say about us. Here's a Lifehacker-made, easily customizable, open-source solution that you can place on any server and have running in minutes. More »

How to Crack a Wi-Fi Network's WPA Password with Reaver [Video]

How to Crack a Wi-Fi Network's WPA Password with Reaver [Video]:
Your Wi-Fi network is your conveniently wireless gateway to the internet, and since you're not keen on sharing your connection with any old hooligan who happens to be walking past your home, you secure your network with a password, right? Knowing, as you might, how easy it is to crack a WEP password, you probably secure your network using the more bulletproof WPA security protocol. More »

Connect to a network from the command line


iwlist wlan0 scan | grep 'ESSID\|Encryption\|WPA'
wpa_passphrase ssid password
wpa_supplicant -B -Dwext -i wlan0 -c ssid"

Breaking into command prompts using Microsoft Paint!

T thought this was too cool not to share:

Let’s face it, a lot of public Windows machines aren’t locked down properly. This trick, sent in by 0perator, goes to show how trivial it can be to obtain a shell using the notorious MsPaint tool. Begin by opening Paint and starting a new image with the dimensions of 1 px tall and 6 px wide. Then from left to right paint one pixel at a time with these custom RGB values:
  • 10,0,0
  • 13,10,13
  • 100,109,99
  • 120,101,46
  • 0,0,101
  • 0,0,0
Now save the image as a 24-bit bmp file. Rename the extension .bat, open and enjoy the shell.
To see what’s really going on here open the file in a hex editor. My favorite on Windows is HxD Hex Editor. It’s freeware. Of course it’s worth mentioning that any machine secured properly with group policies isn’t going to be susceptible to this attack, but you’d be surprised how many aren’t.

What Kind of Maintenance Do I Need to Do On My Linux PC? [Ask Lifehacker]

What Kind of Maintenance Do I Need to Do On My Linux PC? [Ask Lifehacker]:
Dear Lifehacker,
You've gone through Windows and Mac maintenance, but what about Linux users? I'm pretty new to Linux, and I'm familiar with Windows maintenance, but don't know if the same rules apply. What do I need to do to maintain an Ubuntu system? More »



Embed a TrueCrypt Volume In A Playable Video File [Security]

Embed a TrueCrypt Volume In A Playable Video File [Security]:

Steganography is the process of hiding an encrypted message in some otherwise innocent looking format. We've gone over some ways to do this in the past with image files, but now you can take it to a whole new level by hiding an entire TrueCrypt volume in an mp4 video file. More »

How to Create a Custom Windows Installation DVD or USB Install [Always Up To Date Guide]

How to Create a Custom Windows Installation DVD or USB Install [Always Up To Date Guide]:

When you need to reinstall Windows, you shouldn't have to spend an entire day installing years of updates, drivers, and necessary software along with it. Here's how to create a Windows installation disc (or USB stick) that's up to date, customized, auto-installing, and far less time-sucking than your original. More »


CSS3 Generator Helps You Create and Learn New Complex CSS Code [Web Development]

CSS3 Generator Helps You Create and Learn New Complex CSS Code [Web Development]:

If you learned learned to make a web site with us, or if you're just picking up HTML and CSS, you may have wanted to learn a few more complex styles. One of the best ways to learn is by looking at other code, and CSS3 Generator can write custom CSS code for you so you can learn how it works (or just use it). More »

Lock Down Your Computer Like the NSA [Security]

Lock Down Your Computer Like the NSA [Security]:

Want to secure your computer with the same techniques used by the National Security Agency? Turns out the NSA has published guides for securing Windows, Mac, Linux, and Solaris operating systems using methods that "are currently being used throughout the government and by numerous entities as a security baseline for their systems." More »


How to Quickly Find and Replace Text Across Multiple Files with One Command


If you need to find and replace the occurrence of a word, phrase, URL, or whatever, and it’s in several documents, this can be a really tedious task. If you’re running Mac OS X, Linux, or really any Unix-based operating system, you can use the command line to save you a lot of time and effort.

All you really need is this simple command:

perl -pi -w -e 's/SEARCH_FOR/REPLACE_WITH/g;' *.txt

The search string is what you need to alter. You want to replace SEARCH_FOR with the text you’re searching for and REPLACE_WITH with the text you want to use as a replacement. You’ll also want to change *.txt if you’re working with HTML files (or another type of text file). This command also assumes you’re in the directory you want, so you’ll also need to use cd to change to the directory you want or will have to specify the full path. For example:

perl -pi -w -e 's/stupid/awesome/g;' ~/Desktop/*.txt

The above command will replace all occurrences of “stupid” with “awesome” found in any .txt files on the desktop. Pretty neat!

Basics of Photography: The Complete Guide [Night School]

Basics of Photography: The Complete Guide [Night School]:
We spent the last week learning all about the basics of photography, from the way your camera works to composing your photos to editing them in post. Here's the complete guide, along with a PDF of all the lessons and some additional resources fo learning more. More »


How to Fix Three of the Most Common System Problems Without Restoring a Backup [How To]

How to Fix Three of the Most Common System Problems Without Restoring a Backup [How To]:
Corrupt system files, account lockouts, and accidentally deleted data are three scary computer problems that often send people running for their backup drives. While restoring a backup may technically fix things, a full system backup is usually a very time-consuming overkill in these cases, and nobody likes the time-warp effect of restoring one (e.g., if your last full backup ran a week ago). When these problems occur, fixing them can be far simpler than you might think. More »

promiscuous mode

promiscuous mode or Monitor mode

alfa AWUS 036H has Realtek RTL8187 chipset

to find chipset in linux use command: lsusb

to set to monitor mode use command: airmon-ng start wlan0

airodump-ng mon0

How to Make a Web Site: The Complete Beginner's Guide [Video]

How to Make a Web Site: The Complete Beginner's Guide [Video]:

Last week we taught you how to make a web site from start to finish, including finding a reliable web host to host your site. Here's the complete guide so you have access to all the lessons in one convenient location. More »

Getting Started with Linux: The Complete Guide [Night School]

Getting Started with Linux: The Complete Guide [Night School]:

If you've been meaning to try out Linux but felt too overwhelmed, we've got all the info you need to get started. Here are our five lessons on getting a working Linux partition up and running. More »

Digital Painting 101: The Complete Guide [Night School]

Digital Painting 101: The Complete Guide [Night School]:

If you're interested in learning to make concept art—or simply taking your recreational painting into the digital sphere—concept artist Matt Kohr spent a week teaching us the basics. Here's the complete 101 course for your edification. More »

The Basics of Video Editing: The Complete Guide [Night School]

The Basics of Video Editing: The Complete Guide [Night School]:

Last week we learned the basics of video editing, covering everything from the general workflow to special effects and color correction to a primer on encoding and delivery. Here's the complete guide with all the videos and notes in one convenient location. More »

Learn the Basics of Photoshop: The Complete Guide [Night School]

Learn the Basics of Photoshop: The Complete Guide [Night School]:

Want to learn how everything works in Photoshop? We'll help you make your photos better, draw vector graphics, and design a web site. More »


Learn the Basics of Photoshop in Under 25 Minutes [Video]

Learn the Basics of Photoshop in Under 25 Minutes [Video]:

Photoshop is an incredibly powerful but also intimidating application. If you've wanted to start using Photoshop but didn't know where to start, we'll be teaching you the basics all week long. More »


How to Turn Your Computer Into the Ultimate Remote Access Media Server [Video]

How to Turn Your Computer Into the Ultimate Remote Access Media Server [Video]:

If you're out of the house a lot but still want access to files on your home computer, one of the best ways to solve that problem involves setting up your computer as a remotely accessible home media server. Here's a look at how to not only access your files (and control your computer) remotely, but also share files with others, stream music and video, access your photo library, and a whole lot more. More »

How to Secure and Encrypt Your Web Browsing on Public Networks (with Hamachi and Privoxy) [How To]

How to Secure and Encrypt Your Web Browsing on Public Networks (with Hamachi and Privoxy) [How To]:

When you're browsing from a public Wi-Fi connection—like at your favorite coffee shop—anyone on that network can snoop on what you're doing, with very few exceptions. So can the IT crew at your workplace. Today, we're going to walk through setting up an encrypted proxy server on your home computer so you can secure your browsing session no matter where you're connected, keeping your private data significantly more private. More »

Canonical’s New Component Catalog Makes Building a Linux-Friendly PC Easy

For those who want to build their own linux box check out the following:


Building a PC is great, but Linux users have always had to do the extra legwork of finding out which components were Linux-friendly. Now, Ubuntu developers Canonical have released a comprehensive list of hardware certified to work with Linux.
 

http://www.ubuntu.com/certification/catalog

EXIFTool

This is tool is very helpful for when you want to post images on the web:


Linux users can use a tool called EXIFTool (which is available for Windows and OS X too, but is a command line tool, so we opted for the easier alternatives above). You can install it on Ubuntu by running the command:
 sudo apt-get install libimage-exiftool-perl

Then, to clean your photos, just cd to the their folder and run:
 exiftool -all= *.jpg

It will make copies of all your photos for you, adding _original to the end of the original photos (with the personal information still intact).
There are a lot of other programs out there, but these are some of the easeist ways to delete any personal information that may be lingering in your photos. Keep in mind you’ll still need to do manual photo editing if your address or phone number is in the shot itself—this only removes data from the file on your computer, not the visible picture.

Interesting Windows Programs

LookInMyPC: Is a Must-Have Tool for Computer Troubleshooting 

Jalapeno Keyfinder: Retrieves Lost Serial Numbers

RouterPassView: Recovers Lost Router Passwords 
kon boot: bypass windows login pasword
 
Cain & Abel: is a password recovery tool for Microsoft Operating Systems


network miner: used to sort pcap files 

firepassword: password for firefox


 

Chome: about


About:DNS 
About:Cache 
About:Plugins
About:Memory
About:Crash

Audit Tabs 
Just hit Shift+Esc to open up Chrome’s built-in Task Manager to see how much memory and CPU cycles each tab is consuming.

Mount Shared Folder

sudo mount.vboxsf Shared ~/Shared -o rw,exec,uid=1000,gid=1000,dev

Printing in linux

apt install cups hplip system-config-printer-gnome

Remastersys


The Setup


   1. You need to tell Ubuntu where to find the packages. In the terminal use this command to open the source list.

          sudo gedit /etc/apt/sources.list

   2. Then insert this line at the end of the file that pops up if you have Lucid 10.04. For other distros go here to find the correct repository.

          deb [www.geekconnection.org] karmic/

   3. SAVE THAT FILE THEN update your sources like so..

          sudo apt-get update

   4. Install Remastersys like so

          sudo apt-get install remastersys

   5. Type in this to see the different commands available to you

          sudo remastersys

   6. Now to create a bootable .iso file you can use this command. (“custom” can be anything you want).RESULTING .ISO FILE IS LOCATED IN home/remastersys/

          sudo remastersys backup custom.iso

   7. Move the .iso file to a safe directory then clean out your remaster directory like so.

          sudo remastersys clean

Take Heed

    * Don’t use if you have personal information and passwords saved into your internet browser. It copies EVERYTHING!
    * Clean out your browser cache and use sudo apt-get clean to remove unused packages.

Bash

I am not sure where I saw this but I thought it was extremely helpful:
(If someone could provide a link to the original article that would be very helpful)



Facts:

   1. You can do almost anything in a terminal which you would also do from a GUI interface.
       
   2. Most commands were designed first to work in the terminal, then a GUI put on top of them.  That's why some GUI's may feel clunky - they were an afterthought at times.
       
   3. The default location for your terminal to open from the menu is in your home folder, also known as ~
       
   4. Your current directory can be noted by the . operator.  Most commands when they act on the current folder selection, operate on .
       
   5. Commands, locations, and files are case sensitive.  /home is not the same as /HOME or /Home.
       
   6. Use the tab key to complete file names.  If you have a long driver titled, for example,
      driver-128947232jaseu.sh, simply type dri and it will fill in the rest, provided you don't have 2 names starting with "dri" and if you do, add another character to make it "driv" and try again.
       
   7. Almost any command can be read about in full using the manpage or by typing -h or --help after writing the initial command.  This syntax is either man command_name,  command_name -h, or command_name --help.
       
   8. To get even more information, you can use info.  A command can be searched for by using info command_name.  For most of these commands which are part of the coreutils package, one can find info as well using info coreutils command_name invocation where command_name is replaced by the command searched for.
       
   9. Almost any command can also explicitly display what is happening.  This is done usually by the -v or --verbose
       
  10. You can specify multiple command flags to a command at a time to get more information (see the ls -al example below.)
       
  11. Command names are not always obtuse - due to space limitations in the old days of Unix they were shortened, and the conventions stuck.

Commands:

cd -> Used to navigate the directories.  You can move to any location by path.

   1. cd This will move you back to your home, same as cd ~
   2. cd .. This will take you back exactly one directory.  Starting in /home/justin/Desktop, cd .. will put me into /home/justin.  This can be expanded upon, cd ../../ from the Desktop location instead will move me 2 back, from my Desktop to /home.
   3. cd foldername/ This will move you forward to the given folder in your current folder.  Take note of the missing prefix / it is an important omission.  if I am in /home/justin and I want to get to Desktop, I must type cd Desktop/ without the / before Desktop.  Typing / before it places us in the root of file system, which is incorrect.
   4. cd /some/other/path This will take you to the specified folder path, supposing it exists as typed exactly.  Don't forget your tab completion!

ls -> Used to list folder contents.  You can view many kinds of file and folder attributes.

   1. ls By itself, ls will simply list all your files in the current folder.  From fact #4, this literally does ls .
   2. ls -l Provides a longer listing format including owners, permissions, size, and date modified.
   3. ls -a Displays hidden files and folders as well as the normal listing.
   4. ls -al Combine options to display both hidden files and in the long format.
   5. ls -h Show file sizes in human readable format (K, M, Gbyte) filesizes instead of bytes.  Often used in conjuction with the -l flag.
   6. You can view files in directories you are not even in.  If I am in /home/justin/Desktop, and I want to view a file in /home/justin, I can do ls ../ list files one directory back (and not have to go back to do so.)

cp -> Copy files

   1. cp file /path/to/folder Copies specified file to the given path.
   2. cp -r folder /path/to/folder  Copies recursively the contents of the folder to another folder.
   3. cp *.extension /path/to/folder  Copies files matching the given extension to the new folder.  To copy all .doc files, it becomes cp *.doc /path/to/folder and the folder must exist.
   4. cp name* /path/to/folder  Copies all files starting with 'name' to the given folder.  To copy all files starting with example, it becomes cp example* /path/to/folder and the folder must exist.

mv -> Move files

   1. The syntax of mv is similar to the example above with cp exempt for example #2.  mv does not take the -r flag since moving a folder also moves its contents.  The syntax is not exact in all instances, but works with the above examples.  Consult your manpages for more details.

rm -> Remove files

   1. For all intents and purposes, removing files via rm is permanent.  It does not use the Trash bin.  Use with caution and make sure you are deleting explicitly what you want, not what you think you want.  If you decide to get fancy with your delete commands, it's probably going to come back to bite you.
   2. rm file  Remove the specified file from the system.
   3. rm -r folder  Remove the specified folder from the system
   4. rm -rf folder  Removes the specified folder forcefully from the system.  This command can severely break your configuration if used incorrectly as it will not prompt you if something critical is being deleted.  If you have to use this, chances are something more is broken or there was a mistake made.  This should only be used as an absolute last resort method and is not recommended.

nano -> full command line text editor

   1. One can edit files using nano in a terminal to do quick and dirty files all the way up to full configurations.  It's handy, but keep in mind it handles plain text files and programming files, things like MS Word documents will not open properly! 
   2. If a file is owned by root, it is not editable as a normal user.  nano must be prefixed with sudo in order to save changes.  Otherwise, it will open in read-only mode.
   3. nano newfile.whatever  Nano creates a new file of the specified name and opens it for editing.
   4. nano existing_file  Nano opens the existing file for editing.
   5. From inside nano
         1. Save file using the ctrl+o key combination, and either change the name or press entier to keep the same name.  This will save the file.
         2. Exit nano by using ctrl+x key combination.  If you have unsaved changes, it will ask if you want to save.

mkdir -> Create directories

   1. mkdir folder_name  Creates the folder with the specified name
   2. mkdir -p /path/to/folder/name  Creates each folder as necessary.  To create folder /home/justin/newfolder/2ndfolder, and only /home/justin exists, using mkdir -p will make both directories newfolder and 2ndfolder.

ps -> List processes

   1. ps aux  List all processes in detail running on the system, including user, Process ID (PID), and name of process.  Using this, one can view their process list and if necessary, kill unnecessary or stalled processes.

kill / killall / xkill -> Kill offending processes.

   1. kill PID  PID is a number referencing the offending process.  One should obtain the PID from a command like ps aux.  If a process refuses to die, one can alternatively specify kill -9 PID which should terminate the process by any means, even uncleanly or if it will mess up the system.
   2. killall program  Killall kills *by name* all instances of said program.  If there are for example 3 firefox sessions open, killall firefox will do just that; kill all firefox sessions.  kill would simply take the specified PID of the offending firefox process you wish to kill, and kill that one only.
   3. xkill is a GUI way to click and kill windows.  Typing in xkill should present a skull-and-crossbones icon, and the next window clicked on will be killed.

Pipes  ->  The most useful thing you will learn in *NIX.  Redirecting output of a program to anothers input.

   1. Pipes are represented by the ' straight bar ' otherwise known as the ' | ' key.
   2. It is a rarely used key in Windows, it is often found on the backslash key.
   3. They are used to link commands together.  Pipes take the output of one command and route it to be used as input for a second command chained together.
   4. Consult more online resources with information about pipes and their use as there are volumes.

> and >> redirectors  -> Send output to a file instead of the terminal.

   1. > is used to *overwrite* currently existing files contents and replace with the output from the new command.
   2. >> is used to *append* information to currently existing files.  This is useful for logging.
   3. Example: ps aux > processes.log  Sends the output of ps aux to the file processes.log for viewing the command output in a text editor and overwrites the current contents of the file. 

tee -> Send output to both a file and the terminal

   1. tee is used in conjunction with a ' | ' in order to take the command output and send it elsewhere.  This is useful if there are errors which fly by the screen before you can read them, this way whatever goes on the screen is also captured to a file.
   2. Example: dmesg | tee boot.txt would run the command dmesg which shows the initial boot info, and the ' | ' sends the output of dmesg to tee, which then does its job by sending it to the terminal and to the log file boot.txt.

File Execution -> So you want to execute files or programs from the terminal?  Make sure it's  marked executable.  If not, see Quick Tip #4 below.

   1. Need to execute a file in the current directory after it is marked executable?  The ./ operator can execute the file as a normal user provided you do not need root rights.  ./ literally means "in the current directory" so it does not work on files outside of the present directory.
       
   2. Need to execute a file not in the current directory?  You must pass the path to the proper executing program.  If it is a python program, it's python /path/to/file and if it is a shell file, it is sh /path/to/file as an example.  There are of course other programs, but these will be the most common for beginners.
       
   3. Need to execute a file with root rights because you received operation not permitted?  Prefix the command with sudo.  Thus, from the above example, sudo python /path/to/file will execute the script with root rights.
       
   4. Need to execute a GUI program from the terminal?  Simply type the program name (case sensitive!) and it will launch.  This will render the current terminal unusable.  Closing the terminal while the program is open will kill the program.  A better way is to background the program, using program_name & and then typing the word exit at the terminal to close it and keep the process running.
       
   5. Need to run a GUI program with root rights from the terminal?  Prefix it with gksudo or gksu and not sudo.  Using sudo to launch GUI applications is a bad habit and should be avoided.
       
   6. Do not, do *not* use sudo simply because something receives "Operation not permitted."  Keep in mind what you are doing as you can absolutely *destroy* systems by running commands in the wrong place with root rights.  This point cannot be emphasized enough.  Make sure your files come from reputable sources.

Quick tips:

   1. Lost yourself in a directory?  Not sure where you are?  Type pwd to print working directory.
       
   2. Want to calculate your disk space quickly?  df -h can give you a quick checkup.
       
   3. Want to calculate the size of a folder or file quickly?  du -cksh target_name can do exactly that.  Want to calculate the size of the current folder?  du -cksh .
       
   4. Need to mark a file executable?  chmod +x filename can do that.  Next time you see a file you need to execute and it is not marked executable, now you know how to fix it.
       
   5. Want to mount an iso like Daemon-Tools on Windows?  Linux has this functionality built in.  Simply create a directory somewhere, say /home/justin/isomount, and issue the command mount -o loop /path/to/myisofile.iso /home/justin/isomount and the contents will be mounted inside that folder.
       
   6. Run a command before, you need to re-run it, but you can't really remember what it was exactly?  Type history into the terminal and it will print out your command history.  Want to clear your history?  history -c will wipe the information.