Linux:Command Line Useful Commands:
## to access folder name having space
MBIDSAR-M-X1PX:Python mbidsar$ cd Python Space
## to access folder name having space
MBIDSAR-M-X1PX:Python mbidsar$ cd Python Space
-bash: cd: Python: No
such file or directory
MBIDSAR-M-X1PX:Python
mbidsar$ cd Python\ Space/
MBIDSAR-M-X1PX:Python
Space mbidsar$
MBIDSAR-M-X1PX:Python
Space mbidsar$
## to list all folders
under directory
MBIDSAR-M-X1PX:Python mbidsar$ ls -R Python\ Space/
MBIDSAR-M-X1PX:Python mbidsar$ ls -R Python\ Space/
cbse-Python examples
Python
Space//cbse-Python:
cbse.zip unit-1.pdf unit-2.pdf
Python
Space//examples:
check_arg_type.py hello.c mymath.c mysql-2.py mysql-5.py reflect.py threads-with-lock.py
client.py logger.py myque.py mysql-3.py mysql-at.py server.py threads.py
decorator.py multiprocess.py mysql-1.py mysql-4.py mystack.py threads-2.py
MBIDSAR-M-X1PX:Python
mbidsar$
## to represent parent directory of current directory
MBIDSAR-M-X1PX:Python mbidsar$ cd ..
MBIDSAR-M-X1PX:Desktop
mbidsar$
## to move back
between folder
MBIDSAR-M-X1PX:Desktop mbidsar$ cd -
MBIDSAR-M-X1PX:Desktop mbidsar$ cd -
/Users/mbidsar/Desktop/Python
MBIDSAR-M-X1PX:Python
mbidsar$
## this will take you
from wherever you are to home folder
MBIDSAR-M-X1PX:Python mbidsar$ cd
MBIDSAR-M-X1PX:Python mbidsar$ cd
MBIDSAR-M-X1PX:~
mbidsar$
## to create and
remove directory
MBIDSAR-M-X1PX:Python mbidsar$ mkdir new_folder
MBIDSAR-M-X1PX:Python mbidsar$ mkdir new_folder
MBIDSAR-M-X1PX:Python
mbidsar$ rmdir new_folder/
## in order to remove, folder it should be empty
MBIDSAR-M-X1PX:Python mbidsar$ mkdir new_folder
MBIDSAR-M-X1PX:Python
mbidsar$ mkdir new_folder/hello
MBIDSAR-M-X1PX:Python
mbidsar$ rmdir new_folder
rmdir: new_folder:
Directory not empty
MBIDSAR-M-X1PX:Python
mbidsar$
For this we can do rm -r ## delete recursively
## move file to other dir
MBIDSAR-M-X1PX:Python
mbidsar$ vi forfun.txt
MBIDSAR-M-X1PX:Python
mbidsar$ mv forfun.txt new_folder/
MBIDSAR-M-X1PX:Python
mbidsar$ ls for*
ls: for*: No such
file or directory
## to move all .txt
files to new folder
MBIDSAR-M-X1PX:Python mbidsar$ mv *.txt new_folder/
MBIDSAR-M-X1PX:Python mbidsar$ mv *.txt new_folder/
## to move back all
files to current dir
MBIDSAR-M-X1PX:Python mbidsar$ mv new_folder/* .
MBIDSAR-M-X1PX:Python mbidsar$ mv new_folder/* .
## use of ? to delete files. this will delete file name with funny followed by any single character
MBIDSAR-M-X1PX:Python mbidsar$ cp funny.txt funny1.txt
MBIDSAR-M-X1PX:Python
mbidsar$ cp funny.txt funny2.txt
MBIDSAR-M-X1PX:Python
mbidsar$ rm funny?.txt
MBIDSAR-M-X1PX:Python
mbidsar$ ls fun*
'fun.txt funny.txt
## find all files in current directory search based on name
MBIDSAR-M-X1PX:Python mbidsar$ find . -name "*.txt"
./abc.txt
./forfun.txt
./fun.txt
./funny.txt
./misc.txt
./python regexp for
ipv4 matach.txt
./Questions.txt
MBIDSAR-M-X1PX:Python
mbidsar$
## to search in different folder
MBIDSAR-M-X1PX:Python mbidsar$ find ~/ -name "*folio*"
find:
/Users/mbidsar//Library/Caches/com.cisco.Jabber/com.apple.opencl: Permission
denied
find:
/Users/mbidsar//Library/Saved Application
State/com.yourcompany.StellarPhoenixMacDataRecovery.savedState: Permission
denied
MBIDSAR-M-X1PX:Python
mbidsar$
## to give up privilege
MBIDSAR-M-X1PX:Python mbidsar$ sudo -k
## if you want to work as root
MBIDSAR-M-X1PX:Python mbidsar$ su root
Password:
Now prompt will change to #
To switch back to $ prompt type exit
Now prompt will change to #
To switch back to $ prompt type exit
## Octal file
permissions
file rwxrwxrwx
first rwx represent user or owner of the file
2nd rwx represent group the owner is the member of
3rd rwx represent all other group the owner is not the member of
user rwx 421 = 7
group rx 41 = 5
Other r 4 = 4
file rwxrwxrwx
first rwx represent user or owner of the file
2nd rwx represent group the owner is the member of
3rd rwx represent all other group the owner is not the member of
user rwx 421 = 7
group rx 41 = 5
Other r 4 = 4
## we can change permission of file using chmod command
two ways to do so
-> octal (e.g. 755 644 777)
-> symbolic (e.g. a=r, g+w, and o-x)
user = u ,
to provide user read, write and execute permission: chmod u+rwx
group = g,
to provide group read permission: chmod g=r
others = o,
to remove read, write and execute from others : chmod o-rwx
All = a
+ adds permission; - removes permission
= adds permission but removes others
##Comparision of octal and symbolic values
777 or a+rwx : rwxrwxrwx
755 or u+rwx,g=rx,o=rx : rwx-xr-xr
644 or u=rw,g=r,o=r : rw-r- -r- -
700 or u=rwx,g-rwx,o-rwx : rwx- - - - - -
## to run executable
file on command line
./file.sh
==> executable means runs on its own without having to be loaded by other program first
## let’s provide read, write and execute permission to user
./file.sh
==> executable means runs on its own without having to be loaded by other program first
## let’s provide read, write and execute permission to user
MBIDSAR-M-X1PX:Python
mbidsar$ chmod 744 LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$
MBIDSAR-M-X1PX:Python
mbidsar$ ls -lh LEGB.py
-rwxr--r-- 1 mbidsar staff 0B Mar 22 10:04 LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$ ./LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$
## let’s remove read permission for user
MBIDSAR-M-X1PX:Python mbidsar$ chmod 244 LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$ cat LEGB.py
cat: LEGB.py:
Permission denied
MBIDSAR-M-X1PX:Python
mbidsar$ chmod 755 LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$ cat LEGB.py
MBIDSAR-M-X1PX:Python
mbidsar$
## when a user create a file in home directory, it starts with 664 permission
MBIDSAR-M-X1PX:Python mbidsar$ touch newfile
MBIDSAR-M-X1PX:Python
mbidsar$ ls -lh newfile
-rw-r--r-- 1 mbidsar staff 0B Mar 22 10:08 newfile
MBIDSAR-M-X1PX:Python
mbidsar$
## we can change the ownership of the file
MBIDSAR-M-X1PX:Python mbidsar$ sudo chmod root newfile
## after changing ownership we won’t be able to write to it
"newfile" [readonly] 1L, 8C
## lets move back the ownership. Now i am able to write to file
MBIDSAR-M-X1PX:Python mbidsar$ sudo chown mbidsar newfile
MBIDSAR-M-X1PX:Python
mbidsar$ vi newfile
## for changing group ownership we will use chgrp
## command to print whatever you give to it
MBIDSAR-M-X1PX:Python mbidsar$ echo "hello"
hello
MBIDSAR-M-X1PX:Python
mbidsar$
## use of pipeline
MBIDSAR-M-X1PX:Python mbidsar$ echo "hello" | wc
1
1
6
MBIDSAR-M-X1PX:Python
mbidsar$
==> one line of text, one word and six character
MBIDSAR-M-X1PX:Python
mbidsar$ echo "hello world from the
command line" | wc
1
6
34
MBIDSAR-M-X1PX:Python
mbidsar$
==> one line of text, six word and 34 character
## Cat
concatenate and print files
MBIDSAR-M-X1PX:Python mbidsar$ cat comment.py
Comment.py:
----------
print('Hi i am
Manish')
if False:
print('This
code will not execute')
if True:
print('Hello
Manish')
"""
#or
if False:
"""
def sum(x,y):
return(x+y)
print(sum(1,2))
"""
## to see first 10 and
last 10 lines of a file
First-10
First-10
MBIDSAR-M-X1PX:Python
mbidsar$ head comment.py
print('Hi i am
Manish')
if False:
print('This
code will not execute')
if True:
print('Hello
Manish')
"""
MBIDSAR-M-X1PX:Python
mbidsar$
Last-10
MBIDSAR-M-X1PX:Python
mbidsar$ tail comment.py
"""
#or
if False:
"""
def sum(x,y):
return(x+y)
print(sum(1,2))
"""
MBIDSAR-M-X1PX:Python
mbidsar$
## we can also customize it. this will print 1st 5 lines of a file
MBIDSAR-M-X1PX:Python mbidsar$ head -n 5 comment.py
print('Hi i am
Manish')
if False:
print('This
code will not execute')
MBIDSAR-M-X1PX:Python
mbidsar$
## last 3 lines of
file
MBIDSAR-M-X1PX:Python mbidsar$ tail -n 3 comment.py
MBIDSAR-M-X1PX:Python mbidsar$ tail -n 3 comment.py
print(sum(1,2))
"""
MBIDSAR-M-X1PX:Python
mbidsar$
MBIDSAR-M-X1PX:Python mbidsar$ cat comment.py | cat -n | tail -n 5
15 return(x+y)
16
17 print(sum(1,2))
18 """
19
MBIDSAR-M-X1PX:Python
mbidsar$
MBIDSAR-M-X1PX:Python
mbidsar$ cat comment.py | tail -n 5 |
cat -n
1 return(x+y)
2
3 print(sum(1,2))
4 """
5
MBIDSAR-M-X1PX:Python
mbidsar$
## to view large files
MBIDSAR-M-X1PX:Python mbidsar$ less comment.py
MBIDSAR-M-X1PX:Python mbidsar$ less comment.py
press q to quit
## to filter piece of
information
grep is used to search files for text that matches a given pattern
grep is used to search files for text that matches a given pattern
MBIDSAR-M-X1PX:Python mbidsar$ grep "sum" comment.py
def sum(x,y):
print(sum(1,2))
MBIDSAR-M-X1PX:Python
mbidsar$
MBIDSAR-M-X1PX:Python mbidsar$ grep -n "sum" comment.py
14:def sum(x,y):
17:print(sum(1,2))
MBIDSAR-M-X1PX:Python
mbidsar
## grep is case sensitive
MBIDSAR-M-X1PX:Python mbidsar$ grep -n "Sum" comment.py
MBIDSAR-M-X1PX:Python
mbidsar$
## for case
in-sensitive we can use -i
MBIDSAR-M-X1PX:Python mbidsar$ grep -i "manish" comment.py
MBIDSAR-M-X1PX:Python mbidsar$ grep -i "manish" comment.py
print('Hi i am
Manish')
print('Hello
Manish')
MBIDSAR-M-X1PX:Python
mbidsar$
## to omit lines which we don’t want to see
MBIDSAR-M-X1PX:Python mbidsar$ grep -vi "sum" comment.py
print('Hi i am
Manish')
if False:
print('This
code will not execute')
if True:
print('Hello
Manish')
"""
#or
if False:
"""
return(x+y)
"""
MBIDSAR-M-X1PX:Python
mbidsar$
## for regex, we can
use -E. To fetch he occurrence of letter "hijk"
MBIDSAR-M-X1PX:Python mbidsar$ grep -E "[hijk]" comment.py
MBIDSAR-M-X1PX:Python mbidsar$ grep -E "[hijk]" comment.py
print('Hi i am
Manish')
if False:
print('This
code will not execute')
if True:
print('Hello
Manish')
if False:
"""
print(sum(1,2))
MBIDSAR-M-X1PX:Python
mbidsar$
## 6 or more any word character
MBIDSAR-M-X1PX:Python mbidsar$ grep -E "\w{6,}" comment.py
print('Hi i am
Manish')
print('This
code will not execute')
print('Hello
Manish')
return(x+y)
MBIDSAR-M-X1PX:Python
mbidsar$
## awk and sed
tools to extract or modify text from a file or stream
## we have two editors. One is vi and another is nano
nano is by default present in MacOS.
== to write or save file in nano ctl + o
== to exit out of file ctl + x
== ctl + v to move down the screen
== ctl + y to move up the screen
== ctl + a to beginning of line
== ctl + e to end of line
## tar
create and manipulate tape archive files
.tar
.tar.gz
.tgz
.tar.bz2
tar -caf myfiles.tar.gz Exercise\ Files/
## Exercise and Files are are folders we want to compress
## to extract tar file
tar -xf mayflies.tar.gz
Problem: You have received a log file from your admin.
In logs there are some breaking attempts by hacker .Your task is
1. Extract the log file
2. look for invalid user authorization requests
3. Create a file containing the usernames
Solution:
## tar -xvf log.tar.gz
## cat auth.log
## cat auth.log | grep “input_userauth_request” | awk ‘{print $9}’ | sort -u >> users.txt
## cat users.txt
1. Extract the log file
2. look for invalid user authorization requests
3. Create a file containing the usernames
Solution:
## tar -xvf log.tar.gz
## cat auth.log
## cat auth.log | grep “input_userauth_request” | awk ‘{print $9}’ | sort -u >> users.txt
## cat users.txt
## to find which linux
distribution you are using
cat /etc/* -release
mac oS is not linux it is unix variant
## uname -a works in linux too
cat /etc/* -release
mac oS is not linux it is unix variant
## uname -a works in linux too
MBIDSAR-M-X1PX:Python
mbidsar$ uname -a
Darwin MBIDSAR-M-X1PX
16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018;
root:xnu-3789.73.8~1/RELEASE_X86_64 x86_64
## in Linux to see free memory
free -h
cat /proc/cpuinfo
## to see space across volumes
df -h
## to see space taken by files and folders
du -h
## “dnf” is used to install software in fedora . It is replacement of yum
eg. sudo def install nano
## in ubuntu we use “apt” to install software
e.g. sudo apt-get update
Misc-Questions:
1. Select the command that gives you the absolute path of the folder where you are currently working.
pwd
2. ls -l shows the permissions and ownership of files, among other things.
Yes, this is true.
3. What command do you use to create a folder?
mkdir
4. Which of the following commands copies test1.txt to test2.txt?
cp test1.txt test2.txt
5. What character do you use with the find command to match any number of characters?
*
6. What are the two basic user roles in Linux?
normal and superuser
7. "rwxrw-r--" indicates that the owner of the file can read and write, but not execute the file.
Yes, this is false.
8. The command line is a text-based interface to type commands and direct text-based input and output to screen, files, and other programs.
You’re correct!
9. What is the general pattern of a command line statement?
command, options, arguments
10. What does ~ represent in a command line statement?
the user's home folder
11.What is the keyboard shortcut to jump to the end of the command line?
Ctrl + E
12. Which typed statement will show you more information about a particular command?
man [commandName]
13.What is the core Unix philosophy?
Tools should do one thing, and do it well.
14. What is the result of this command: echo "command" | wc
"1 1 8"
15. Select the command that lists the last few lines of a log file.
tail log.txt
16. The grep command prints the lines of text that match a pattern .
You’re correct!
17. Which 'awk' command shows the first column of data from a log file?
wk '{print $1}' logs.txt
18. What are the two modes in Vim?
insertion mode and command mode
19. You can use ^O to save a file in nano
Yes, this istrue.
20. Which command help you select lines that have specific text you are looking for?
grep
21. Write the command that lists the contents of all the files in the systems /etc folder that end with -release.
cat /etc/*-release
22. This command outputs the RAM value for the local machine
free -h
No comments:
Post a Comment
Note: only a member of this blog may post a comment.