0% found this document useful (0 votes)
24 views

Micro Project Osy

Uploaded by

Sahil Jamnik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Micro Project Osy

Uploaded by

Sahil Jamnik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

AJEENKYA D. Y. PATIL SCHOOL OF ENGINEERING


(POLYTECHNIC)

MICRO PROJECT
Academic year: 2024 - 2025

TITLE OF THE PROJECT

REPORT ON VARIOUS TYPES OF COMMAND LINES IN


KALI LINUX

Program: DIPLOMA IN AIML Program code: AN5I

Course: OPERATING SYSTEM Course code: 22516


MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

CERTIFICATE
This is to certify that the following students -

Roll No. Name of the students Exam seat number

38 Aayush Sushil Pandey 2216490122

Of Diploma in Artificial Intelligence and Machine Learning of Institute, Ajeenkya D. Y.


Patil School of Engineering (Polytechnic) Institute Code – 1649, has completed the
Micro Project Satisfactorily in Subject - Operating System for the academic year
2024- 2025 as prescribed in the curriculum.

Place: Lohegaon Date:

Subject Teacher Head of the Department Principal


INDEX

SR.NO. CONTENT PAGE NO.

Introduction
1

History of Linux
2

Linux Architecture
3

Linux command lines


4

Case Studies
5

6 Community and Open-Source Development

7 Security and Stability

9 Conclusion

10 References
INTRODUCTION

Kali Linux is a powerful, Debian-based distribution specifically designed for penetration testing, digital
forensics, and security auditing. With its extensive suite of pre-installed tools and utilities, it is an essential
platform for cybersecurity professionals and enthusiasts. One of the core features of Kali Linux is its
command-line interface (CLI), which provides users with the ability to perform a wide range of tasks
efficiently and effectively.

This report delves into the various types of command lines utilized in Kali Linux, including basic
commands for navigation, file management commands, system monitoring commands, network analysis
commands, and specialized commands used in security testing. Familiarity with these command lines is
crucial for harnessing the full potential of Kali Linux in cybersecurity operations.

1) Basic Commands

Basic commands are foundational to navigating the terminal environment:

• ls: Lists files and directories in the current directory.


• cd: Changes the current directory to the specified path.
• pwd: Prints the current working directory.
• man: Displays the manual pages for commands, providing usage information.

2) File Management Commands

Managing files and directories is essential for organization:

• cp: Copies files or directories from one location to another.


• mv: Moves or renames files and directories.
• rm: Deletes files or directories (be cautious when using this command).
• mkdir: Creates a new directory.
• touch: Creates an empty file or updates the timestamp of an existing file.
HISTORY OF LINUX

Linux is an open-source operating system that has transformed into a fundamental component of modern
computing, impacting a diverse range of devices from servers to smartphones. Its roots can be traced back
to 1969 with the development of Unix at Bell Labs, which introduced a modular and multi-user design
that influenced many subsequent operating systems. In 1983, Richard Stallman initiated the GNU Project
to create a free Unix-like operating system, though it lacked a fully functional kernel. This gap was filled
in 1991 when Linus Torvalds, a Finnish computer science student, released the first version of the Linux
kernel, positioning it as a free alternative to Minix.
Key Milestones:
Origins (1960s-1980s):
➢ Unix Development (1969): Created at Bell Labs, laying the groundwork for many operating
systems.
➢ GNU Project (1983): Launched by Richard Stallman to develop a free Unix-like OS, though the
kernel was missing.
Birth of Linux (1991):
➢ Linus Torvalds released Linux kernel 0.01 as a free alternative to Minix, announcing it on Usenet.
Early Growth (1991-1994):
➢ First stable version (1.0) released in 1994, leading to the creation of various distributions like
Slackware and Debian.
Mainstream Adoption (1995-2000):
➢ Commercial Distributions: Companies like Red Hat and SUSE began offering support and
services, driving enterprise adoption.
Expansion (2000s):
➢ Open Source Movement: Gained momentum, with significant investments from companies like
IBM.
➢ Enterprise and Cloud: Linux became dominant in web servers and cloud computing.
Modern Era (2010s-Present):
➢ Mobile and IoT: Linux underpins Android, revolutionizing smartphones and powering IoT
devices.
➢ Community Collaboration: The Linux Foundation supports development and innovation.
Entering the 2010s, Linux made its mark on the mobile landscape with the introduction of Android, which
revolutionized smartphones and expanded the OS's reach into IoT devices. Today, the Linux Foundation
plays a crucial role in fostering collaboration within the community, supporting a diverse array of projects.
LINUX ARCHITECTURE

Linux architecture is a modular and layered framework that defines how the operating system functions
and interacts with hardware and software. It consists of several key components, each playing a crucial
role in the overall operation of the system. Here’s an overview of the primary layers in the Linux
architecture:

1. Kernel

The kernel is the core component of Linux, managing system resources and facilitating communication
between hardware and software. It is responsible for:

Process Management: Handling the execution of processes, scheduling, and multitasking.

Memory Management: Managing system memory, including allocation and deallocation for processes.

Device Management: Interfacing with hardware devices through device drivers.

File System Management: Organizing and managing data storage and retrieval.
The Linux kernel is monolithic, meaning it includes all necessary services in one large block of code,
which can improve performance but may require more extensive debugging.

2. System Libraries

System libraries provide essential functions and routines that applications can call to perform tasks
without needing to interact directly with the kernel. The most important library is the GNU C Library
(glibc), which provides standard C library functions, facilitating the development of software applications.

3. System Utilities

These are essential programs and tools that help manage and maintain the system. System utilities
perform tasks such as file manipulation, system monitoring, and user management. Common utilities
include:

Bash: The default shell for command-line interface operations.

Core utilities: Tools like ls, cp, mv, and others for basic file management.

Networking utilities: Tools like ping, ifconfig, and netstat for network configuration and troubleshooting.

4. User Space

User space is where user applications and processes run, separate from the kernel space to enhance
stability and security. Applications running in user space can include:

Graphical User Interfaces (GUIs): Desktop environments like GNOME, KDE, and XFCE that provide a
visual interface for users.

User Applications: Software applications such as web browsers, text editors, and development tools that
interact with the system through system calls.

5. Hardware Layer

The hardware layer encompasses all physical components of the computer system, including the CPU,
memory, storage devices, and peripheral devices. The kernel interacts with this layer through device
drivers, which facilitate communication between the kernel and hardware.
LINUX COMMAND LINES
1. Listing Files and Directories
Command:
ls -l
Output:
drwxr-xr-x 2 user user 4096 Sep 21 10:00 Documents
drwxr-xr-x 3 user user 4096 Sep 21 10:00 Downloads
-rw-r--r-- 1 user user 220 Sep 21 10:00 example.txt
Explanation: Lists files and directories with detailed information including permissions, number of links,
owner, group, size, and modification date.

2. Changing Directory
Command:
cd Documents
Output: (No output, but the current directory changes to Documents)

3. Displaying Current Directory


Command:
pwd
Output:
/home/user/Documents
Explanation: Prints the current working directory.

4. Creating a New Directory


Command:
mkdir new_folder
Output: (No output; a new directory named new_folder is created.)
5. Copying a File
Command:
cp example.txt new_folder/
Output: (No output; example.txt is copied to new_folder.)

6. Moving/Renaming a File
Command:
mv example.txt new_folder/renamed_example.txt
Output: (No output; example.txt is moved and renamed to renamed_example.txt in new_folder.)

7. Deleting a File
Command:
rm new_folder/renamed_example.txt
Output: (No output; renamed_example.txt is deleted.)

8. Viewing File Contents


Command:
cat example.txt
Output:
It contains some sample text.
Explanation: Displays the contents of example.txt.

9. Checking Disk Usage


Command:
df -h
Output:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 5G 15G 26% /
/dev/sda2 30G 10G 20G 34% /home
Explanation: Shows disk space usage for mounted filesystems in a human-readable format.
10. Network Configuration
Command:
ifconfig
Output:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1a2b:3c4d:e5f6:7g8h%eth0 prefixlen 64 scopeid 0x20<link>
ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)
RX packets 123456 bytes 123456789 (123.4 MB)
TX packets 654321 bytes 987654321 (987.6 MB)
Explanation: Displays the network interface configuration.

11. Searching for Files


Command:
find /home/user -name "*.txt"
Output:
/home/user/Documents/example.txt
/home/user/Downloads/sample.txt
Explanation: Searches for all .txt files in the /home/user directory.

12. Viewing Running Processes


Command:
ps aux
Output:
Copy code
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 1234 0.1 1.2 123456 1234 ? Ssl 10:00 0:00 /usr/lib/firefox/firefox
user 5678 0.0 0.5 234567 5678 ? S 10:01 0:00 bash
Explanation: Lists all currently running processes with detailed information.
13. Monitoring System Resources
Command:
top
Output:
top - 10:01:45 up 10 days, 3:21, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 155 total, 1 running, 154 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7856.0 total, 4321.0 free, 1234.0 used, 2301.0 buff/cache
Explanation: Displays real-time resource usage and active processes.

14. Checking System Information


Command:
uname -a
Output:
Linux user-PC 5.11.0-27-generic #29-Ubuntu SMP Thu Jul 1 10:22:00 UTC 2021 x86_64 x86_64 x86_64
GNU/Linux
Explanation: Shows kernel version and system architecture information.

15. Checking Memory Usage


Command:
free -h
Output:
total used free shared buff/cache available
Mem: 7.8Gi 1.2Gi 3.0Gi 0.3Gi 3.6Gi 6.0Gi
Swap: 2.0Gi 0B 2.0Gi
Explanation: Displays memory usage statistics in a human-readable format.
16. Editing Files
Command:
nano example.txt
Output: (Opens the file example.txt in the Nano text editor for editing.)

17. Viewing Disk Usage of Directories


Command:
du -sh *
Output:
1.0M Documents
2.5M Downloads
5.0K example.txt
Explanation: Shows the disk usage of files and directories in the current directory.

18. Downloading Files


Command:
wget http://example.com/file.zip
Output:
--2023-09-21 10:01:00-- http://example.com/file.zip
Resolving example.com (example.com)... 192.0.2.1
Connecting to example.com (example.com)|192.0.2.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1234567 (1.2M) [application/zip]
Saving to: ‘file.zip’

file.zip 100%[===================>] 1.18M 1.00MB/s in 1.2s

2023-09-21 10:01:02 (1.00 MB/s) - ‘file.zip’ saved [1234567/1234567]


Explanation: Downloads a file from the specified URL.
19. Extracting Compressed Files
Command:
tar -xzvf archive.tar.gz
Output:
file1.txt
file2.txt
folder/
folder/file3.txt
Explanation: Extracts files from a gzipped tarball, listing the files as they are extracted.

20. Getting Help for Commands


Command:
man ls
Output:
LS(1) User Commands LS(1)

NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
-l, --format=long
use a long listing format
...
Explanation: Displays the manual page for the ls command, providing detailed usage information.

These commands further demonstrate the versatility of the Linux command line and its powerful
capabilities for system management, file manipulation, and user interaction.
CASE STUDIES

Case Study 1: Use of Linux in Web Servers

Linux is the most popular operating system for web servers. It is estimated that over half of all web
servers run Linux.

There are a number of reasons why Linux is so popular for web servers. Linux is stable, secure, and
scalable. It is also relatively low-cost, which makes it a good option for businesses and organizations of
all sizes.

Some of the most popular web servers that run on Linux include:

• Apache
• Nginx
• LigHTTPd
• OpenLiteSpeed

Case Study 2: Linux in Embedded Systems

Linux is also widely used in embedded systems. Embedded systems are devices that have a dedicated
function, such as routers, smart TVs, and IoT devices. Linux is popular for embedded systems because it
is lightweight and efficient. It is also highly customizable, which allows developers to tailor Linux to the
specific needs of their embedded system.

Some examples of embedded systems that run Linux include:

• Android devices
• Raspberry Pi
• Arduino
• BeagleBone
• Odroid

Case Study 3: Linux in Supercomputing

Linux is also used in supercomputers. Supercomputers are the most powerful computers in the world.
They are used for scientific research, such as climate modeling and drug discovery.
COMMUNITY AND OPEN-SOURCE DEVELOPMENT

The Linux community is one of the largest and most active open-source communities in the world. The
community is responsible for developing and maintaining the Linux kernel and other system software.
The Linux community is also responsible for creating and maintaining a wide variety of applications,
from desktop environments to web servers.

overview of various command line types in Kali Linux that relate to community and open-source
development:

1. Version Control with Git

➢ git init: Initializes a new Git repository.


➢ git clone <repo-url>: Clones a repository from a remote source.
➢ git add <file>: Stages changes for commit.
➢ git commit -m "message": Commits the staged changes with a message.
➢ git push origin <branch>: Pushes local changes to a remote branch.
➢ git pull: Fetches and merges changes from the remote repository.

2. Collaboration and Communication Tools

➢ ssh: Connects to remote machines securely.


➢ scp: Securely copies files between hosts.
➢ rsync: Efficiently syncs files between directories or remote systems.

3. Development Environment Setup

➢ apt-get install <package>: Installs necessary development tools (e.g., compilers, libraries).
➢ pip install <package>: Installs Python packages from the Python Package Index.
➢ npm install <package>: Installs Node.js packages.

4. Containerization and Virtualization

➢ docker pull <image>: Downloads a Docker image.


➢ docker run <options> <image>: Runs a container from a Docker image.
➢ vagrant up: Starts a virtual machine defined by a Vagrantfile.
5. Build Tools and Automation

➢ make: Builds and compiles projects from source.


➢ cmake: Configures and generates build files.
➢ npm run <script>: Executes a predefined script from package.json.

6. Package Management for Development

➢ apt-cache search <package>: Searches for packages in the repositories.


➢ apt-get remove <package>: Removes an installed package.
➢ dpkg -i <package.deb>: Installs a Debian package file.

7. Text Editors for Development

➢ nano <file>: Opens a file in the Nano text editor.


➢ vim <file>: Opens a file in the Vim text editor.
➢ code <file>: Opens a file in Visual Studio Code (if installed).

8. Community Contributions

➢ curl: Transfers data from or to a server (often used to interact with APIs).
➢ wget <url>: Downloads files from the web.
➢ diff <file1> <file2>: Compares two files and shows differences.

The open-source development model is a key factor in the success of Linux. Open-source development
allows anyone to contribute to the development of Linux. This has helped to create a large and diverse
community of developers who are committed to making Linux the best operating system possible.
SECURITY AND STABILITY
When discussing security and stability in Linux, there are several key points to consider:
Security
➢ User Privileges: Linux uses a robust permission system to restrict access. Users have different
levels of permissions (root, user, etc.), minimizing risks.

➢ Package Management: The use of package managers (like apt, yum, or pacman) helps ensure that
software is obtained from trusted sources and is regularly updated.

➢ Firewall: Tools like iptables or ufw can be configured to manage incoming and outgoing traffic,
providing an extra layer of security.

➢ SELinux/AppArmor: These are mandatory access control (MAC) systems that restrict programs'
capabilities beyond standard Unix permissions, enhancing security.

➢ Regular Updates: Keeping the system and its packages up-to-date is crucial for protecting against
vulnerabilities.

➢ Intrusion Detection Systems (IDS): Tools like Tripwire or OSSEC can monitor and alert for
unauthorized changes.

➢ Encryption: Full disk encryption (using LUKS, for example) and secure communication protocols
(like SSH, TLS) protect sensitive data.

Stability
➢ Kernel Stability: Linux is known for its stable kernel, which is continually maintained and
improved by a large community of developers.

➢ Modular Design: The modular nature of Linux allows for the addition or removal of components
without affecting overall system stability.

➢ Filesystem Integrity: Filesystems like ext4, Btrfs, and XFS offer features that help maintain data
integrity and recover from crashes.

➢ Logging and Monitoring: Tools like Syslog, journalctl, and monitoring systems (like Nagios or
Prometheus) help keep track of system performance and issues.

➢ Community Support: A vast community of users and developers offers extensive documentation,
forums, and user groups, which can help resolve issues quickly.
CONCLUSION

Linux offers a robust framework for both security and stability, making it a preferred choice for various
applications, from servers to personal computing. Its built-in user permission systems, effective package
management, and advanced security features like SELinux and AppArmor contribute to a secure
environment. Additionally, the stability of the Linux kernel, modular design, and resilient filesystems
ensure reliable performance.

By adhering to best practices—such as regular updates, effective firewall configurations, and


monitoring—users can significantly enhance their Linux systems' security and stability. With a supportive
community and extensive resources available, Linux remains a powerful and dependable platform for
users at all levels.

Linux is a free and open-source operating system that has revolutionized the computing landscape. It is
the most popular operating system for servers and embedded systems, and it is also gaining traction as a
desktop operating system. Linux offers a number of advantages over other operating systems, such as
cost-effectiveness, flexibility, and security. Linux is also supported by a large and active community of
developers.
REFERENCES
1) https://www.kali.org/tools/

2) https://www.cybrary.it/blog/kali-linux-command-line-pt-2-working-with-directories

3) https://www.researchgate.net/publication/30334385_Common_Kali_Linux_Commands_Overview

4) https://kinsta.com/blog/linux-commands/

5) https://www.javatpoint.com/kali-linux-commands
Dr. D Y Patil Educational Enterprises Charitable Trust’s
AJEENKYA D. Y. PATIL SCHOOL OF ENGINEERING,
(POLYTECHNIC)
Approved by AICTE NO. West / 1-3847411/2010/ New Dated 13 July
2010/DTE/Affiliated to MSBTE, Mumbai.
Dr. D Y Patil Knowledge City, Charholi Bk, Via Lohegaon, Pune –
412105

Annexure - I

MICRO-PROJECT PROPOSAL
Title of Micro-project:

REPORT ON VARIOUS TYPES OF COMMAND LINES IN KALI LINUX

1.0 Aims/Benefits of the Micro-project –

command lines in Kali Linux, enhancing their proficiency with the command line interface (CLI)
essential for effective interaction with the operating system. By exploring the specialized tools
available in Kali Linux for penetration testing and cybersecurity, participants will gain insights
into the unique capabilities of this distribution. This project fosters skill development, allowing
users to perform tasks more efficiently.

2.0 Course Outcomes Addressed –

This micro-project on various types of command lines in Kali Linux addresses several key course
outcomes. First, it fosters technical proficiency by enabling students to understand and effectively
navigate the command line interface, utilizing the specialized tools available in Kali Linux for
practical applications such as network analysis and penetration testing.

3.0 Proposed Methodology –

The proposed methodology for this micro-project on various types of command lines in Kali
Linux consists of several structured steps. Initially, a thorough literature review will be conducted
to gather existing resources, documentation, and tutorials related to Kali Linux and its command
line tools, providing a solid foundation for the project.
4.0 Action Plan –

Planned Name of responsible


Sr. Planned Start Finish Team
Details of Activity
No. Date
Date Members
1 Discussion and finalization
of topic

2 Preparation and submission


of abstract

3 Literature Review
4 Collection of data
5 Collection of data
6 Discussion and outline of
content

7 Formulation of content
8 Editing of content
9 Editing of content
10 Proof reading of content
11 Compilation of report
12 Compilation of report
13 Presentation
14 Seminar
15 Viva voce
16 Final submission of
microproject
5.0 Resources Required –

Sr.
Name of Resource/material Specifications Quantity Remarks
No.

1 LAPTOP 16 GB RAM, 512 1


SSD

2 NETWORK 1
Wi-Fi

3 GOOGLE - -

Names of Team Members with Roll nos.


1. Aayush Sushil Pandey (38)

Dhanashri Ma’am
(Name and Signature of Subject Teacher)
Dr. D Y Patil Educational Enterprises Charitable Trust’s
AJEENKYA D. Y. PATIL SCHOOL OF ENGINEERING,
(POLYTECHNIC)
Approved by AICTE NO. West / 1-3847411/2010/ New Dated 13 July
2010/DTE/Affiliated to MSBTE, Mumbai.
Dr. D Y Patil Knowledge City, Charholi Bk, Via Lohegaon, Pune –
412105

Annexure - II

MICRO-PROJECT REPORT
Title of Micro-project:

REPORT ON VARIOUS TYPES OF COMMAND LINES IN KALI LINUX

6.0 Rationale –
The rationale for this micro-project is to equip participants with essential command line skills in
Kali Linux, fostering practical cybersecurity abilities and ethical awareness to meet the increasing
demand for skilled professionals in the digital landscape.

7.0 Aim/Benefits of the Micro-project –


command lines in Kali Linux, enhancing their proficiency with the command line interface (CLI)
essential for effective interaction with the operating system.

8.0 Course Outcomes Achieved –


This micro-project on various types of command lines in Kali Linux addresses several key course
outcomes. First, it fosters technical proficiency by enabling students to understand.

9.0 Literature Review –


The literature review highlights the importance of mastering command line tools in Kali Linux for
effective cybersecurity practices, drawing from foundational texts, online resources, and
community discussions that emphasize practical applications and ethical considerations..

10.0 Actual Methodology Followed -


The actual methodology followed a structured approach, combining literature review, hands-on
exercises, interactive workshops, documentation creation, assessments, ethical discussions, and
final presentations to provide a comprehensive learning experience in using command lines in Kali
Linux.
11.0 Actual Resources Required –

Sr.
Name of Resource/material Specifications Quantity Remarks
No.

1 LAPTOP 16 GB RAM, 512 1


SSD

2 NETWORK 1
Wi-Fi

3 GOOGLE - -

12.0 Outputs of the Micro-Projects –


The outputs of the micro-project include a reference guide on command lines in Kali Linux,
documented practical exercises, participant presentations, and assessment feedback, all serving as
valuable resources for future cybersecurity learning.

13.0 Skill Developed/Learning outcome of this Micro-Project -


The micro-project develops skills in command line proficiency, problem-solving, collaboration,
ethical understanding in cybersecurity, and effective documentation and communication, preparing
participants for real-world applications in the field.

14.0 Applications of this Micro-Project -


This micro-project has several applications, including enhancing participants' capabilities in
penetration testing and ethical hacking, improving system administration skills, facilitating
cybersecurity training programs, supporting research in security tool effectiveness, and serving as
a foundational resource for further studies in network security and systems management.

Dhanashri Ma’am
(Name and Signature of Subject Teacher)

You might also like