Introduction To DOS & Linux Operating System
Introduction To DOS & Linux Operating System
Here are a few basic DOS commands that you will frequently use in the
command line interface:
Open Source: Linux is free to use, modify, and distribute. The source code
is available for anyone to inspect and contribute to.
Multitasking: Linux is capable of running multiple applications
simultaneously without slowing down the system.
Command Line Interface (CLI): Like DOS, Linux provides a text-based
interface for users to interact with the system, but it also has a graphical
user interface (GUI) for ease of use.
Security: Linux is known for being a more secure operating system
compared to Windows due to its permission-based file system.
Customizability: Linux allows users to customize almost every aspect of the
system, from the user interface to the kernel (the core part of the operating
system).
Distributions: There are many distributions (distros) of Linux,
including Ubuntu, Fedora, Debian, CentOS, and Arch Linux, each catering to
different user needs.
The Linux command line, also known as the terminal, allows users to
perform a variety of operations.
Both DOS CLI and Linux provide valuable skills for the COPA student. DOS
helps in understanding the basic command line interface and is still useful
in certain environments, especially for system maintenance. Linux, with its
powerful command line tools, offers far more flexibility, and is widely used
in server environments, development, and IT management.
Internal commands are built into the command.com file, which is the DOS
command processor. These commands do not require any external files to
execute and are immediately available after starting the system.
External commands are not built into the command processor but are stored
in separate executable files (e.g., .exe, .com files). These commands are
typically located in the system directories like C:\Windows\System32 or C:\
DOS.
Stored in executable
Location Stored in command.com (memory)
files (.exe, .com)
Executes without needing external
Execution Requires external files to run
files
Slower execution due to
Speed Faster execution as they are built-in
dependency on external files
FORMAT, XCOPY, CHKDSK,
Examples DIR, CD, COPY, DEL, REN, EXIT
DELTREE, DISKCOPY
Used for more complex file
Used for basic file management and
Usage operations or system
navigation
maintenance
System Maintenance: Internal commands like CD, DIR, and CLS are useful for
navigating directories and managing files when performing basic
maintenance tasks.
File Operations: Commands like COPY, DEL, and REN help users perform
essential file management tasks, ensuring efficient data handling.
Disk Management: External commands like FORMAT, DISKCOPY, and CHKDSK are
necessary for disk maintenance, ensuring that drives are correctly
formatted, copied, or checked for errors.
Backup and Recovery: External commands like BACKUP and XCOPY allow for
efficient file and directory backup, which is essential for data protection.
Conclusion
In DOS, both Internal and External Commands are essential tools for
managing the system, files, and hardware. While Internal Commands are
used for day-to-day tasks like navigating directories and manipulating
files, External Commands are utilized for more specialized functions, such
as formatting disks and backing up data. Learning and mastering both
types of commands is critical for a COPA student, as these are fundamental
skills needed to work effectively in various IT environments.
Discover more
Software
computer
Operating system
presentations
Presentation
programming
Computer programming
Operating System
Programming
Computers
Open source software has gained significant popularity due to its flexibility,
transparency, and the strong support of communities that contribute to its
development.
Open Source Software (OSS) is any software that is made available with a
license that allows users to access, modify, and distribute the software’s
source code. The term "open source" is often associated with collaborative
and community-driven development. The goal is to allow developers from
all over the world to contribute to software improvement and innovation.
Freedom to Modify: Users can alter the source code to suit their needs, fix
bugs, or improve the software.
Community-driven: OSS projects are often developed and maintained by a
global community of volunteers, developers, and organizations.
Free to Use: Most open-source software is available for free, although some
may have paid versions for additional features.
Transparency: The source code is visible to everyone, making it easier to
identify security vulnerabilities and fix them.
Open source software offers several benefits to both individual users and
businesses. Some of the key advantages include:
1. Cost-Effectiveness
2. Customization
Users can modify the software to meet specific needs and preferences.
Developers can add features, remove unnecessary components, or adjust
performance to optimize it for their use.
3. Security
4. No Vendor Lock-in
5. Community Support
Open source software is often backed by a vibrant community of
developers and users who provide assistance, share knowledge, and
contribute updates.
Support forums, mailing lists, and online documentation provide solutions
to common issues.
2. Apache License
3. MIT License
4. BSD License
Similar to the MIT License but with slightly different terms for distribution
and crediting the original authors.
These licenses aim to balance freedom and responsibility, ensuring that the
open-source community thrives while protecting contributors' rights.
Requires purchase or
Cost Typically free
subscription
Source Code Accessible and modifiable Closed and proprietary
Customization Highly customizable Limited customization
Transparent code, Limited transparency, vendor-
Security
community-driven security controlled updates
Community
Strong community support Vendor-based support
Support
Users have full control over Users depend on the vendor for
Control
software and data updates and support
Despite its many advantages, open-source software also comes with some
challenges:
7. Conclusion
Discover more
office
computer
Presentation
Software
presentations
Operating Systems
Computer
operating system
Microsoft Office
Microsoft Excel
Discover more
open-source
operating system
distribution
Multiuser
Server
Linux Distributions
distros
install
Linux distributions
open-source software
In this section, we will discuss the key features of the Linux Operating
System and how they contribute to its powerful functionality and
widespread use.
1. What is Linux?
Linux is released under the GNU General Public License (GPL), which
ensures that it remains free for anyone to use, modify, and distribute.
The open-source nature of Linux allows users to access the source code,
enabling them to customize and improve the software.
3. Security
Linux is known for its strong security features. It provides various levels of
access control and permissions for files and users.
Linux uses user roles and file permissions to protect the system from
unauthorized access.
Security tools like SELinux (Security-Enhanced Linux)
and AppArmor provide additional layers of protection.
The open-source nature of Linux allows its security to be constantly
reviewed and improved by the community.
Linux is renowned for its stability and reliability. It can run for extended
periods of time without requiring a reboot, making it ideal for use
in servers and data centers.
Linux is less prone to crashes and slowdowns compared to other operating
systems, making it a preferred choice for enterprise-level applications.
One of the strongest features of Linux is its flexibility. Users can modify
almost any aspect of the operating system.
There are multiple Linux distributions (distros) available, each tailored for
different needs. Examples include Ubuntu, CentOS, Debian, and Fedora.
Linux also allows users to choose lightweight desktop environments
like KDE or Xfce, or opt for command-line-only interfaces for more control.
6. Command-Line Interface (CLI)
7. Package Management
9. Multiplatform Support
Linux has built-in support for virtualization, allowing you to run multiple
virtual machines (VMs) on a single host system.
Tools like KVM (Kernel-based Virtual Machine) and VirtualBox enable users
to create and manage virtual environments for testing and development.
While Linux traditionally had limited support for mainstream software, it has
grown rapidly in terms of available applications.
Most open-source software (e.g., LibreOffice, GIMP, Firefox) is supported
natively on Linux.
Many commercial applications, such as Google Chrome, Skype, and Slack,
are also available for Linux.
Additionally, compatibility layers like Wine allow Linux users to
run Windows applications.
The Linux community is vast and active, with developers, users, and
enthusiasts contributing to its growth.
Linux has extensive documentation available, including manuals, forums,
and online resources where users can seek help for troubleshooting.
Many Linux distributions have dedicated communities and mailing lists to
provide support for users.
Ubuntu: User-friendly and ideal for beginners, commonly used for personal
desktops and laptops.
CentOS: A stable and secure distribution, often used in server
environments.
Debian: Known for its stability and reliability, commonly used in servers.
Fedora: A cutting-edge distribution with the latest software and features.
Linux Mint: A distribution based on Ubuntu, designed for users who prefer a
more familiar desktop environment.
Arch Linux: A minimalistic and highly customizable distribution aimed at
advanced users.
Kali Linux: A distribution focused on penetration testing and security
auditing.
Requires purchase or
Cost Free (open-source)
subscription
Command line and graphical
User Interface Graphical User Interface (GUI)
(varies by distro)
High (strong permissions and Vulnerable to more attacks (due
Security
open-source) to popularity)
Feature Linux Windows
5. Conclusion
Discover more
Multi-user software
Software
Linux Distributions
open-source software
multi-user
server
Operating System
Server
Discover more
operating system
Installation
Filesystem
Linux distribution
Processes
file system
File system
Computer Hardware
file systems
Computer Components
In this section, we will explore the core components of the Linux operating
system: its file system structure, how files are organized, and how
processes are managed.
The root directory is the topmost directory in the Linux file system.
It serves as the starting point for all other directories.
All files and directories in the system are contained within this root
directory.
2. Files in Linux
Linux uses a file system to store and organize data. Here are some
important aspects related to files in Linux:
Regular Files: The most common type of file, used to store data such as
text, images, or program code. Regular files can be text files, binary files, or
executable files.
Directory Files: Special files that store information about other files and
directories. Directories are containers that hold file names and locations.
Device Files: Files that represent hardware devices. These files are located
in the /dev directory and are used to interact with hardware, such as hard
drives, printers, and USB devices.
Special Files: Includes symbolic links (shortcuts), sockets, pipes, and FIFO
files used for inter-process communication (IPC).
Named Pipes (FIFOs): A type of file used to facilitate communication
between processes. They allow one process to send data to another in a
structured manner.
Linux uses a robust file permission system to control access to files and
directories. Each file has permissions that determine who can read, write,
or execute the file.
Discover more
Computers
hardware
Software
Computer
Operating Systems
Operating System
Computer hardware
Kernel
computer
operating system's
You can check file permissions using the ls -l command, and change
permissions using the chmod command.
3. Processes in Linux
ps: Displays information about active processes. Example: ps aux lists all
processes running on the system.
top: A dynamic, real-time view of system processes and resource usage.
kill: Sends a signal to terminate a process. Example: kill [PID] will kill the
process with the specified PID.
nice: Adjusts the priority of a process.
bg/fg: Resumes a stopped process in the background (bg) or foreground
(fg).
Discover more
Computers
Computer hardware
Operating System
Process
Processes
Operating system
operating system's
Computer Hardware
file systems
file system
4. Conclusion
Understanding the Linux system structure, how files are organized, and
how processes are managed is fundamental for any COPA student. The
Linux operating system's well-organized file system, strong file permission
system, and robust process management allow users to efficiently control
and optimize the system. Mastering these concepts will enable you to
handle system maintenance, file handling, and process management tasks
with ease.
This section will provide an overview of the various types of Linux shells,
their functions, and how they help users interact with the system.
There are several types of shells available in Linux, each with its features
and functionalities. Let's explore the most commonly used ones:
Key Features:
Basic command execution.
Scripting capabilities for automating tasks.
Limited customization options compared to other shells.
Usage: The Bourne shell is typically used in system startup scripts and is
the default shell in many Unix systems.
The Bash Shell is the most popular shell in Linux today and stands
for Bourne Again Shell. It is an improved version of the Bourne Shell and is
compatible with most of the commands and scripts written for the original
Bourne Shell.
Key Features:
Command-line editing.
History feature to access previously entered commands.
Tab completion for file and command names.
Scripting features with support for loops, conditions, and functions.
Customizable prompt.
Usage: Bash is the default shell in most Linux distributions, including
Ubuntu, CentOS, and Debian. It is used by both beginners and advanced
users due to its user-friendly features.
The C Shell, developed by Bill Joy in the late 1970s, is similar in syntax to
the C programming language. It introduced several features that made it
more user-friendly for programmers, including job control and better script
debugging.
Key Features:
Scripting syntax similar to the C programming language.
Job control to manage processes.
Improved interactive features such as command history and aliases.
Usage: While csh is still available on many systems, it is less commonly
used today compared to bash, as it lacks some advanced features found in
other shells.
Key Features:
Command-line editing.
Filename auto-completion.
Enhanced job control.
History expansion.
Usage: tcsh is preferred by some users due to its improved interactive
features. It is used less frequently than bash but still has a following among
specific user groups.
The Korn Shell, developed by David Korn in the early 1980s, combines the
best features of both the Bourne Shell and the C Shell. It is a powerful,
high-performance shell used by many system administrators and
developers.
Key Features:
Support for arrays, functions, and advanced string manipulation.
Command-line editing and history features.
Job control and background processing.
Scripting features similar to those found in bash and Csh.
Usage: ksh is still used in various enterprise environments for system
administration and programming tasks due to its powerful scripting
capabilities.
Key Features:
Advanced auto-completion and globbing.
Customizable prompts and themes.
Plugins for added functionality.
Support for interactive features like spell checking and command correction.
Usage: zsh is gaining popularity due to its advanced features, including the
ability to handle complex tasks efficiently. It is often used by power users
and developers.
Key Features:
Syntax highlighting and error feedback.
Autosuggestions based on previous commands.
Built-in support for rich scripting features.
Usage: Fish is popular among developers and users who prioritize a more
intuitive and visually appealing command-line experience.
The choice of shell largely depends on your personal preferences, use case,
and the features you require. Here are some guidelines to help you choose:
4. Conclusion
The Linux shell serves as a powerful tool for interacting with the operating
system and executing commands. Understanding the different types of
shells available — including Bash, Csh, Ksh, Zsh, and others — will help
you choose the best shell for your needs.
For students in the COPA trade, gaining experience with multiple shells and
understanding their unique features will enhance your ability to work with
Linux-based systems, automate tasks, and solve problems efficiently.
In this section, we will introduce the most commonly used basic Linux
commands and explain how they work.
Linux uses a hierarchical file system. To navigate and manipulate files and
directories, you need to know some basic commands:
bash
CopyEdit
pwd
bash
CopyEdit
ls
You can use flags like -l for a long listing format or -a to show hidden files:
bash
CopyEdit
ls -la
bash
CopyEdit
cd /path/to/directory
bash
CopyEdit
mkdir directory_name
bash
CopyEdit
rmdir directory_name
2. Managing Files
Linux commands allow you to create, copy, move, and remove files with
ease:
bash
CopyEdit
touch filename.txt
bash
CopyEdit
cp source_file destination_file
bash
CopyEdit
cp -r source_directory destination_directory
bash
CopyEdit
mv old_file new_file
bash
CopyEdit
rm filename.txt
bash
CopyEdit
rm -r directory_name
To force deletion without confirmation, use -f:
bash
CopyEdit
rm -rf directory_name
bash
CopyEdit
cat filename.txt
bash
CopyEdit
more filename.txt
bash
CopyEdit
less filename.txt
bash
CopyEdit
nano filename.txt
bash
CopyEdit
vi filename.txt
4. System Information
bash
CopyEdit
top
Description: Displays disk space usage for all mounted file systems.
Usage:
bash
CopyEdit
df -h
bash
CopyEdit
free -h
bash
CopyEdit
uname -r
5. Managing Processes
bash
CopyEdit
ps
bash
CopyEdit
ps aux
bash
CopyEdit
kill process_id
bash
CopyEdit
kill -9 process_id
In Linux, file permissions control who can read, write, or execute files:
bash
CopyEdit
chmod permissions filename.txt
bash
CopyEdit
chmod u+rwx filename.txt
bash
CopyEdit
chown user:group filename.txt
7. Searching Files
bash
CopyEdit
find /path/to/directory -name filename.txt
bash
CopyEdit
grep "search_term" filename.txt
Conclusion
💾 Always check the directory before performing actions like del to avoid
deleting important files.
🔍 Use dir to explore and view available files in the current directory before
navigating.
🚀 DOS commands are case-insensitive.
🔐 Linux commands are case-sensitive. Always use the correct case for
commands and filenames.
🔍 Use ls frequently to navigate through directories and view files.
⚡ The sudo command is used for administrative tasks. Always be cautious
when using it, as it can make significant system changes.
The rm command deletes files permanently. Use rm -i to prompt for
confirmation before deleting.
Command
Case-insensitive Case-sensitive
Syntax
FAT (File Ext (Extended File System),
File System
Allocation Table) NTFS, and others
Directory
Backslash (\) Forward slash (/)
Separator
Command dir, copy, del ls, cp, rm
Examples
Root Directory C:\ / (Root)
📋 Conclusion
DOS CLI is basic and used primarily for simple file management and
system navigation, while Linux CLI offers a more advanced and secure
environment with greater flexibility.
Mastering CLI in both DOS and Linux is essential for IT professionals to
efficiently manage systems, troubleshoot problems, and automate tasks.
Whether working with legacy systems or modern Linux distributions, CLI
skills remain a core competency in the IT industry. 🚀
In DOS, commands are typed into the Command Prompt window to interact
with the system. These commands allow you to perform a variety of tasks
such as viewing files, navigating directories, and manipulating files and
folders.
Below are some common tasks related to managing files and directories:
1. 📂 Navigating Directories
To see where you are in the directory structure, use the cd command with
no parameters:
To move up one level in the directory tree, use cd ...
2. 📁 Creating a Directory
To create a new directory, use the mkdir command:
3. 💾 Copying Files
To copy a file from one directory to another, use the copy command:
4. Deleting Files
📋 Summary
DOS commands are essential for managing files and directories in older
operating systems or when troubleshooting modern systems.
Key DOS commands like dir, cd, copy, del, and md are used for listing,
navigating, and manipulating files and folders.
Being comfortable with DOS CLI can improve your efficiency in system
management tasks and provide a solid foundation for working with more
modern operating systems. 💻
Linux commands are used to perform various tasks such as listing files,
navigating directories, and managing the system. These commands are
typed into the terminal, which is an interface that allows users to
communicate with the system.
1. Changing Password
📋 Summary
Linux commands are powerful tools for interacting with the system, and
mastering them helps in file management, system administration, and
troubleshooting.
Key Linux commands like ls, cd, mkdir, rm, and cp are essential for working
with files and directories.
Commands like passwd, adduser, and userdel are useful for managing users
and passwords.
Being proficient with Linux commands improves efficiency in managing and
operating a Linux system. 💻
The Linux GUI provides a more user-friendly way to interact with the
system compared to the command-line interface. The GUI typically
includes file managers, application launchers, system settings, and much
more. Popular desktop environments in Linux include GNOME, KDE, and
XFCE, each offering a distinct interface but with similar functionality for
basic tasks.
In the Linux GUI, the File Manager is the primary tool for managing files
and folders. It allows you to navigate the file system, create, delete, move,
and organize your files and directories without needing to use terminal
commands.
Open the File Manager: Click on the file manager icon in the taskbar or
applications menu to open it. Popular file managers include Nautilus,
Dolphin, and Thunar.
Browse Directories: Navigate through folders by clicking on them. The file
manager will display the contents of each directory as you go deeper.
Home Folder: The default folder where your personal files are stored is
usually named Home. You can quickly access it through the file manager.
Search for Files: Use the built-in search feature of the file manager to find
files or folders by name or type. This is useful for locating documents,
pictures, and other files on your system.
Create a New Folder: Right-click in the file manager and select New
Folder. A new folder will appear, and you can name it.
Create a New File: Some file managers allow you to right-click and
choose New Document or open an application like a text editor to create a
new file.
Delete Files and Folders: Right-click on a file or folder and
select Delete or press the Delete key on the keyboard. Deleted files are
usually moved to the trash.
3. 📝 Organizing Files
Move Files: You can drag and drop files from one folder to another to
organize them.
Rename Files: Right-click on a file and select Rename. Enter the new
name and press Enter.
Copy Files: Right-click on a file and select Copy and then paste it in
another folder or directory using Paste option.
Change File Permissions: Right-click on a file or folder,
select Properties, and navigate to the Permissions tab to modify the file
access permissions.
Files and folders that you delete are usually moved to the trash rather than
being permanently deleted. You can restore items from the trash if
necessary.
To permanently delete items, right-click on the trash icon and select Empty
Trash or open the trash folder and delete items individually.
🧰 Exploring the Linux System Using GUI
The Linux GUI offers several tools to explore and configure the system.
These tools help you monitor system performance, change system
settings, and access system information.
1. System Settings
To access system settings, click on the system menu or settings icon in the
taskbar or application menu. From here, you can configure network
settings, display settings, keyboard shortcuts, and more.
Network Settings: Use the network settings to connect to Wi-Fi, configure
network interfaces, and troubleshoot network problems.
Display Settings: Change screen resolution, orientation, and multi-monitor
settings from the display options in the system settings.
User Accounts: Manage user accounts by adding, deleting, or modifying
users. This is typically available in the system settings under
the Users section.
2. 🔨 System Tools
Task Manager: Use the task manager to view running processes, CPU
and memory usage, and terminate unresponsive applications. In GNOME,
this is called System Monitor.
Disk Usage: To check disk usage and free space, use the Disk Utility or
File System tool in the system settings or application menu.
Software Manager: Use a software manager to install, remove, or update
software packages. Popular managers include Ubuntu
Software (GNOME) and Discover (KDE).
Linux allows you to print documents and images directly from the file
manager or from inside applications. Most printers work with Linux, and
driver installation is often automatic.
Scan Documents: Use the Simple Scan application or other scanning
tools to scan documents directly from your scanner.
The Linux GUI also offers tools to access system information, which can be
helpful for troubleshooting or monitoring system health.
About This Computer: Many desktop environments provide an option to
view system details such as the operating system version, memory,
processor information, and available storage.
Log Files: You can view log files using the built-in Logs application, which
provides insights into system activity, errors, and warnings.
📋 Summary
The Linux GUI provides a user-friendly interface to interact with the system,
making file and folder management easier than the command-line interface
(CLI).
Using the file manager, you can navigate the system, create, delete, move,
and organize files and folders.
System settings and tools, such as the task manager, network settings, and
software manager, are accessible through the GUI for configuring and
monitoring your system.
Accessing system information, printing, scanning, and checking system
logs is also simplified through the GUI.