Linux Commands:
Lesson1: Some commands
c d ~
ls -la
1. bashrc file
less.b ashrc command
(Takes us to the less environment where we can write bash
scripts for configurations like setting color of terminal , shell
history etc etc)
[The .bashrc file is mainly for configurations, It is esentially the
script file that is executed when we first open the terminal
window. What is in their will be the configurations for the shell
itself]
2. .profile file
less .profile command
This tends to be used for mainly the environment variables.
or example, I can use it for setting environmentvariables for my Java
F
home directory or my Python home directory
We pressqto come out of the less environment.
3. Now let’s create a simple shell script
A script is nothing but a file with lines of commands or code.
e use VIM which is an editor (in the Unix world) which accepts
W
input.
vim testshell .sh
Then clickion keyboard to go into the INSERT MODE.
Then we go into what is know as the Shebang mode.#!
Shebang Explanation
●
#!
: This is the shebang.
●
/bin/bash
: This specifies the path to the Bash interpreter.
What These Commands Do
1.Shebang (
#!/bin/bash
): When you create a shell script
nd add
a #!/bin/bashat the top, it tells the operating
system to use the Bash interpreter to run the script. This
makes your script portable and ensures it runs correctly
regardless of the shell environment of the user running it.
Then do:
#!/bin/bash
echo "Hello, World!"
Then press esc to get out of the INSERT mode
Finally:wq!To save the file. Now the filetestshell.shis saved.
ow if we dols -lawe’ll see that ourtestshell.shscript file has
N
been created.
owever, script files need to be run and at this moment this
H
cannot be run. It is just a read white file at this moment.
ut I want it to be executable, which requires that I have anx
B
being set on it. In order to do that, I have to use another
command which is calledchmod.
fter using this command, I type in the type of permissions that I want. I
A
type in 755. Then I want to set the file that I want to add the permissions to,
which is testshell.sh.
chmod 755 testshell.sh
If I use thels -lacommand again, I notice thatthe file has now been
turned into an executable file. This means that I can now run the file from
the command line. To run the file, I press./testshell.sh followed by the Enter
key. Now you notice the words hello world are printed out on the screen.
This is how you can create simple scripts and make them executable within
the bash shell.
TO RUN the shell script
./testshell.sh
Lesson 2: More Commands
a)pwd:Print Working Directory
b)ls: List command - To check the Contents of directory
Setting Flags:
ls -l :Returns list of files and directories in thelist structure
Exercise:
Instructions
Step 1: Open Terminal in your VS code editor.
Step 2: Type the command mkdir lab and press Enter
Step 3: Change to the lab directory by typing cd lab and pressing Enter
Step 4: Type the command touch file1.txt and press Enter to create a file named
file1.txt
Step 5: Type the command mkdir dir1 and press Enter
Step 6: Type the command mv file1.txt dir1/ and press Enter to move file1.txt to
the dir1 directory
Step 7: Type the command touch file2.txt and press Enter to create a file named
file2.txt
Step 8: Type the command mkdir -p dir2/dir3 and press Enter. We're using the -p
flag to create the parent directories if they do not exist. In this case it will
create the dir2 directory and then create the dir3 directory inside of dir2.
Step 9: Type the command mv file2.txt dir2/dir3/ and press Enter to move file2.txt
to the dir3 directory
Step 10: Change to the dir2 directory by typing cd dir2
Step 11: Type the command touch file3.txt and press Enter to create a file named
file3.txt
Step 12: Type the command mv file3.txt ../ and press Enter to move file3.txt to the
lab directory
Step 13: Type the command cd .. and press Enter to navigate back to the lab
directory
Step 14: Type the command cd dir1 and press Enter.
Step 15: Type the command ls -l and press Enter. Note how many files and
directories are in the dir1 directory.
Step 16: Type the command cd ../dir2 and press Enter.
Step 17: Type the command ls -l and press Enter. Note how many files and
directories are in the dir2 directory.
Step 18: Type the command cd dir3 and press Enter.
Step 19: Type the command ls -l and press Enter. Note how many files and
directories are in the dir3 directory.
Exercise completed.
esson-3: Pipes and Redirection
L
Pipes:
at text1.txt
c
To check the contents of a file which is some simple text.
c : Word Count
w
wc text.txt -w(w flag tells the wc command to returnthe word
count)
ipes: A coding toolthat allows the output of one command to
P
be used as the input for another command
ls | wc -w
cat text1.txt | wc -w
[Here we first got the text1.txt file and then we used pipe to make
sure the output of the first command (which is text in a text1.txt
file), is used by wc(word count command to count the total words
in the file text1.txt)
etting a combined word count of two files in one command.
G
cat text1.txt text2.txt | wc -w
Lesson 4: REDIRECTION:
td Input < (less than sign
S
Std Output > (less than sign)
We use cat command to insert content to a file.
at > file1.txt (then Enter) [Then add the content]
c
We live in the world of algorithms. …
[Then we hit cmd+D to tell the cat command that it is the end of a
file.]
Lesson 5: Standard Error
rrors happen when things go wrong.
E
We use2 >after the command to highlight the errors.
2 >[For Error]
2 > &1[To combine the error with the standard output]
ifferent streams for input/output and error:
D
Each uses their own streams
hen we are trying to access a wrong directory, which doesn’t
W
exist.
ls -l /bin/user > error.txt
No such file or directory Error:
Now let’s use error flag
ls -l /bin/user 2> error.txt
Now the error stream has been used.
To check the contents of the file, we use:
less error.txt
In this case the error message is displayed in the error.txt
file:
his is printed in the file now instead of the terminal giving the
T
output. Now error.txt is created.
Now to do the best of both worlds.
ls -l /bin/usr > error_output.txt 2>&1
This is the output: Anyways, I need to revisit it.
Lesson 6:grep
Grep is used to search for particular patterns and in the file.
rep file1.txt
g
It returns all the contents of a file in a random order as present in
the file.
rep sam file1.txt
g
Now the file returns all the content starting with sam
grep is case-sensitive
Sogrep Sam file1.txtwill return different result.
We can add a flag to avoid the case-sensitivity
grep -i sam file1.txt
ow the command will return all the names with sam at any place
N
in a name (Partial match in middle or end)
e can do an exact match with -w flag
W
grep -w Sam file1.txt
We get exact same resultSamas the output - the exactmatch