Agenda
Course overview
Linux & Cloud computing
Big Data Analytics
Data science
Statistics & R
Python
Data Visulalization
Advanced Analysis
Machine Learning
Data engineering
Linux
Cloud computing
Database
Java
Big Data
Linux
What is OS?
What is Linux?
Linux Filesystem
Linux commands
File commands
User commands
Process commands
Monitoring commands
Admin commands
...
Shell scripts
Concepts & Practicals
What is OS?
Interface between computer hardware and programs/applications.
OS (DVD) = Core OS + Utilities + Programs
Core OS = Kernel
Windows: ntoskrnl.exe
Linux: vmlinuz
OS/Kernel functions
Process management
File & IO management
Memory management
CPU scheduling
Hardware abstraction
What is Linux?
Hardware abstraction layer
IO subsystem & Device drivers
Managers/Executive
Process subsystem
File subsystem
Memory subsystem
Scheduler
System calls
Shell
Shell is a special program that interpret user commands and get them executed from
the kernel.
Shell/User interface is of two types.
Graphical user interface
Command line interface
Graphical user interface
OS like Windows, Mac, ...
Windows GUI shell: explorer.exe
Linux desktop managers
GNOME (GNU Network Object Model Environment)
e.g. Ubuntu, CentOS, Fedora, ...
KDE ( Kommon Desktop Environment)
e.g. KUbuntu, SuSE, ...
Command line interface
OS like DOS, UNIX, Linux, ...
DOS shell: command.com
UNIX/Linux shells:
bsh, bash
ksh
csh
dash
...
Shell related commands
ls /bin/*sh
cat /etc/shells
echo $SHELL
chsh command is used to change the login shell.
Linux file systems
File
File is collection of data/info on secondary storage device.
Data (contents)
Metadata (info)
Name
Type
Size
User & group
Permissions
Timestamps (creation, modification, access)
Types of files
regular file (-)
directory file (d)
link file (l)
pipe/fifo file (p)
socket file (s)
char device file (c)
block device file (b)
Try command: ls -l /dev
File System
File system is way of organizing files on the disk.
Structure
Boot block (Booting related progams)
bootstrap & bootloader.
Super block (Partition info)
size, ...
Number of inodes, number of free inodes, info of free inodes
Number of data blocks, number of data blocks, info of data blocks
i-node list
i-node contains file metadata.
i-node list contains inodes of all files.
Data block
File data are split into multiple blocks.
Block size is multiple of 512 bytes. e.g. 1kb, 2kb, 4kb, 8kb, 16kb, 32kb,
...
Block size can be decided during formatting.
Types/Implementations
FAT
NTFS
EXT3/4
ReiserFS
XFS
HFS
Hierarchial file systems (Tree structure)
/ (root)
|- bin
|- boot
|- usr
|- etc
|- root
|- tmp
|- home
|- nilesh
|- dbda
|- sunbeam
|- Documents
|- Downloads
|- ...
File Path
File path can be given in two ways:
Absolute path
e.g. Windows --> D:\movies\hollywood\fountainhead.avi
e.g. Windows --> D:\movies\bollywood\3idiots.mp4
e.g. Linux --> /home/nilesh/movies/hollywood/fountainhead.avi
e.g. Linux --> /home/nilesh/movies/bollywood/3idiots.mp4
In Linux, it start with "/".
Relative path
Path with respect to current directory.
If current directory is
home --> nilesh/movies/hollywood/fountainhead.avi
movies --> hollywood/fountainhead.avi
bollywood --> ../hollywood/fountainhead.avi
hollywood --> fountainhead.avi
Basic commands
pwd
cd dirpath
cat filepath
ls dirpath