Diving Into Bash
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