ebook img

Linux Fundamentals A Practical Guide for Data Scientists, Machine Learning Engineers, and IT Professionals PDF

157 Pages·2021·33.575 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Linux Fundamentals A Practical Guide for Data Scientists, Machine Learning Engineers, and IT Professionals

Linux Fundamentals A Practical Guide for Data Scientists, Machine Learning Engineers, and IT Professionals Neba Nfonsang Copyright © 2021 Neba Nfonsang All rights reserved. DEDICATION I dedicate this book to the Almighty God who gave me the inspiration, wisdom, strength, and grace to complete this book. I also dedicate this book to my awesome wife Ruka and my wonderful kids, Carol, Mark-Bright and Debbie. CONTENTS ACKNOWLEDGMENTS 1 Introduction to Linux 2 Linux Directory Structure and Basic Linux Commands 3 Navigation 4 Working with Files and Directories 5 Standard I/O Redirection and Piping 6 Users and Group Management 7 Permissions Management 8 Regular Expression 9 Text Processing 10 Process Management 11 Scheduling Jobs 12 Other Useful Utilities 13 Customizing the Shell Environment 14 Shell Scripting 15 Deploying a Machine Learning Model 16 Connecting to a Remote Linux Instance Resources ACKNOWLEDGMENTS I want to thank Dr. Nick Cutforth and Dr. Bruce Harmon for being very supportive towards my academics and teaching career at the University of Denver. I am grateful to work with faculty who give their best to help students at the University of Denver. I also want to thank the students at the University of Denver for the opportunity to expand my ideas and teaching. I am convinced that the University of Denver is one of the best Universities you can go for education or teaching. 1 Introduction to Linux T his chapter provides the motivation for learning the fundamental concepts of Linux. This chapter also briefly describes the structure of the Linux operating system, Linux distributions, and the Linux system architecture. Other concepts covered include types of shells, features of the Linux operating system, installation of a VirtualBox, how to create a virtual machine and the installation of Ubuntu on a virtual machine. Why Linux? With the rise of Artificial Intelligence, Machine Learning Engineering, DevOps, and Cloud Computing, the demand for Linux has increased. This is because most back-end jobs involving the deployment and release of applications can be efficiently done in Linux. If you want to break into the IT world or if you want to learn how to deploy software applications or machine learning models, you definitely need to know how to use Linux commands. You will surely reap some benefits from learning how to use Linux commands. Moreover, Linux is one of the most reliable and secure operating systems. The Linux operating system powers local servers, remote servers, electronic devices, embedded systems, mobile phones, smart watches, smart TVs and so on. Linux Operating System and Linux Distributions Just like Microsoft Windows and macOS, Linux is an operating system. Compared to other operating systems, Linux is open source. Generally, an operating system is a software that directly manages a computer system’s hardware and resources such as the central processing unit (CPU) and memory storage. An operating system connects software applications and physical resources in your desktop or laptop computer. Therefore, an operating system helps software applications to function, by managing the communication between computer software and hardware. Linux has several versions (also called distributions) to suit various users. Some popular Linux distributions include Ubuntu, Red Hat, Debian, CentOS, Fedora, Linux Mint, etc. Linux System Architecture The Linux system architecture basically consists of the Linux kernel, system libraries, user applications and hardware, as shown in the figure below. The kernel and system libraries are the key components of the Linux operating system. The kernel consists of various modules and interacts directly with the underlying hardware such as CPU, RAM, and I/O. That means, the kernel is used for the management of system resources: Device management : all input and output devices are managed by the kernel. Memory management: the kernel keeps track of used and unused memory, implements virtual memory, allocates memory for user programs and so on. Process management : the kernel assigns enough time for processes and prioritizes processes. Handling system calls : a user application can ask the kernel to perform certain tasks. Programs use system calls to execute certain operations. System libraries are functions or programs used to access the kernel’s features. Standard libraries are procedures for communicating with the kernel. When applications place system calls for the kernel to perform certain tasks, the system calls are usually not invoked directly but through libraries. Various applications are used to execute specific tasks inside a Linux computer. The shell is a special application, a user interface used to communicate with the kernel which in turn controls hardware components and processes. Though a single computer generally has a single kernel, several shells can run simultaneously on the operating system of the same machine. Types of Shells There are different types of shells in Linux, including the: Bourne Again shell (bash) Bourne shell (sh) C shell (csh) Korn shell (ksh) TC shell (tcsh) Note that, it is possible to have more than one type of shells installed on the Linux operating system. Features of the Linux Operating System Some key features of the Linux operating system are as follows: Multi-user: Multiple users can use different shells to access the same system resources such as memory, hard disk, application programs at the same time. Multi-tasking : Multiple applications can run on the Linus operating system at the same time. Portable : The Linux operating system works in the same way across different platforms. File system: Files and directories are arranged in a hierarchical manner and everything including regular files, folders, memory, I/O, and devices are treated as files. Shell: This is a command line interface in Linux that allows a user to enter commands with a keyboard, to execute a program or accomplish a specific task. Security: Linux provides security in three major ways, including: Authentication - password protection is provided by assigning passwords and login IDs to users. Authorization - users are provided with the permissions to read files, write on files or execute programs; hence users are restricted on what they may or may not do on the computer. Encryption - files are converted into a format that is not readable. Installation of Linux OS A Linux operating system can be installed on different machines including: local computers, local virtual machines (VirtualBox or VMware workstation), and remote machines in the cloud environment (AWS or Azure) Installing VirtualBox VirtualBox is an open-source virtualization application that allows you to create multiple virtual machines where different operating systems such as Linux, Windows, macOS can be installed. You can download the VirtualBox package that matches with your operating system from https://www.virtualbox.org/ and install it on your computer. To open VirtualBox, search for the Oracle VM VirtualBox icon on your computer and double click on the icon. The VirtualBox interface is as shown below.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.