##general bash commands
history | prints out a numbers list of historical commands |
!654 | executes the command number 654 from history |
vim file | powerful text editor, but takes some learning |
cat file | read out the contents of the file to the terminal |
less file | more powerfull than cat. it gives you the abililty to search and scroll, among many other things |
newcommand !! | execute your new command followed by the previous command (!!) |
newcommand !$ | execute your new command followed by the last word of your previous command. |
##grep command The grep command is basically like a filter for anything that comes accross your terminal. A very common use of grep is to filter a large file or trim down the terminal output to only show things that you care about.
For example, to check if a process is running, you could run the command ps -u jasonrhaas
. This shows you all the processes that are running on the username jasonrhaas.
An output on my computer looks like this:
501 33457 ?? 0:00.09 com.apple.qtkitserver
501 33458 ?? 0:00.02 com.apple.audio.SandboxHelper
501 33459 ?? 0:00.04 com.apple.audio.ComponentHelper
501 33471 ?? 1:22.23 /Applications/Mou.app/Contents/MacOS/Mou
501 33486 ?? 0:00.35 /System/Library/Frameworks/ QuickLook.framework/Resources/quicklookd.app/Co
501 33490 ?? 0:00.27 com.apple.quicklook.satellite
501 33498 ?? 0:05.33 com.apple.WebKit.WebContent
501 33505 ?? 0:03.29 com.apple.WebKit.WebContent
501 33541 ?? 0:00.04 /System/Library/Frameworks/ CoreServices.framework/Frameworks/Metadata.fram
0 33049 ttys000 0:00.06 login -pfl jasonrhaas /bin/bash -c exec -la bash /bin/bash
This is only a small portion of the processes that are running. But lets say this list is huge and I only care about if Mou is running. Well I could use grep to filter this list. If I run ps -u jasonrhaas | grep Mou
The output will look like this
501 33471 ?? 1:45.21 /Applications/Mou.app/Contents/MacOS/M
501 33565 ttys000 0:00.00 grep Mou
Now it's very easy to tell that Mou is running.
There's lots more you can do with grep. For example, grep -v
will give you everything in the sentence minus the word you specific. If you do grep -e
you can use regular expressions.
##The Pipe |
The pipe is this symbol |
. It is used to direct any output from the terminal to the next command after the pipe. In the grep example, the output from the ps
command was directed to grep
, and the output of that showed up on the terminal.
##Input and output redirection
<
is used to direct something to be an input.
>
is used to direct something to be an output.