Diving Into Bash: Difference between revisions

From HackRVA
Jump to navigation Jump to search
No edit summary
No edit summary
Line 108: Line 108:


   a - insert text behind the cursor            i - insert text ahead of the cursor
   a - insert text behind the cursor            i - insert text ahead of the cursor
 
 
   k - move up    j - move down                l - move right    h - move left
   k - move up    j - move down                l - move right    h - move left
 
 
   n dd - remove “n” of lines from cursor      n dw - remove “n” of words from cursor
   n dd - remove “n” of lines from cursor      n dw - remove “n” of words from cursor
 
 
   :q! - quit without making changes          :wq - write quit
   :q! - quit without making changes          :wq - write quit
 
 
   x - delete character at cursor              n p - paste “n” of times
   x - delete character at cursor              n p - paste “n” of times
 
 
   o - insert blank line under cursor          yy - copy  
   o - insert blank line under cursor          yy - copy  
 
 
   :w - write file                            :n - move to line “n”
   :w - write file                            :n - move to line “n”
 
 
   (esc key) leave insert mode
   (esc key) leave insert mode



Revision as of 17:31, 16 March 2016

Introduction to Linux(Linux 4 n00bs)


Where am I?

At this point you should have your shell open and ready for input.

To find which directory you are in, type the following command.

 pwd

This will output the directory that you are currently working in.

pwd stands for Print Working Directory.

Make a directory

Now, let's make a new directory!

Type the following command:

 mkdir myNewDirectory

mkdir stands for Make Directories.


If you type ls, you will see the directory you just created.

 ls

The ls command will list the contents of a directory.

Change Directory

To navigate between directories, you will need to use the Change Directory command. Take note of the output of pwd:

 cd myNewDirectory
 pwd
 cd ..
 pwd
 cd /
 pwd
 cd /home/linux101
 pwd
 ls -l

Notice that we've added a parameter to the end of the ls command. Passing parameters to a command can allow you to make that function behave differently.

If you compare the difference between ls and ls -l , you will see that ls -l gives you a more detailed view of this data (i.e. a long list.) You can discover more parameters of a command by looking at it's man page.


Yo dawg, take a look at the man page of the man command.

 man man

A man page will typically give you a synopsis, description, examples of the command and what options(parameters) it will take.


Permissions

Exit it out of the man page and you should see the output of your last command

drwxr-xr-x 2 linux101 linux101 4096 Mar 10 11:29 myNewDirectory

The output is showing us the permissions, ownership, datestamp and Name of the directory. You can read more on permissions here.


Change the permissions on your new directory and remove access to "Others." You can do this by running the following command:

 chmod 750 myNewDirectory
 ls -l


You should now see something similar to this:

drwxr-x--- 2 linux101 linux101 4096 Mar 10 11:29 myNewDirectory

Read, Write and Execute is enabled for the User. The Group has read and execute. Others should have no access.



Creating a File

Let's make sure we are in myNewDirectory.

 cd ~/myNewDirectory

To create a new file we will use the touch command.

Create a new file and view the contents of that file with the concatenate command.

 touch newFile
 cat newFile

The cat command should not return anything. This is because the file is empty. Try adding some content to the file.

 echo $'The ships hung in the sky in much the same way that bricks don\'t.\n\n\t ― Douglas Adams, The Hitchhiker\'s Guide to the Galaxy ' >> newFile
 cat newFile

Excellent! We should now have text content in our newFile.

In this step by step we will be introducing you to the command line text editor vim, however there are several other good options such as emacs and nano

 $vim newFile

You should now be in the vim text editor. Here are some good vim commands for your to know

 a - insert text behind the cursor            i - insert text ahead of the cursor
 
 k - move up    j - move down                 l - move right    h - move left
 
 n dd - remove “n” of lines from cursor       n dw - remove “n” of words from cursor
 
 :q! - quit without making changes           :wq - write quit
 
 x - delete character at cursor               n p - paste “n” of times
 
 o - insert blank line under cursor           yy - copy 
 
 :w - write file                             :n - move to line “n”
 
 (esc key) leave insert mode

+This is where we should probably talk about text editors.

+This is where bash script should go


 rmdir ~/myNewDirectory

External Links

  1. Bash 101: Working at the CLI