Ubuntu Linux for Beginners | Mostafa Mahmoud | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

98 Lessons (3h 13m)
    • 1. Ubuntu Linux for Beginners Course Promo Video

    • 2. Course Overview

    • 3. 0 Section One Overview

    • 4. 1 What is Ubuntu

    • 5. 2 What is an Operating System

    • 6. 3 Ubuntu History

    • 7. 4 Ubuntu Pros and Cons

    • 8. 0 Section Two Overview

    • 9. 1 Ubuntu Try

    • 10. 2 Virtualbox Introduction

    • 11. 3 Virtualbox Installation

    • 12. 4 Creating a New Virtual Machine

    • 13. 5 Ubuntu Installation

    • 14. 6 Installing apps on Ubuntu Introduction

    • 15. 7 Installing apps on Ubuntu via terminal

    • 16. 8 Uninstalling Ubuntu apps via terminal

    • 17. 9 Installing apps on Ubuntu Graphically

    • 18. 10 Uninstalling Ubuntu apps using Ubuntu Software Center

    • 19. 11 Installing and uninstalling apps on Ubuntu using Debian pkg

    • 20. 0 Section Three Overview

    • 21. 1 Logging in, activating ui and logging out

    • 22. 2 Absolute Basics

    • 23. 3 Using Special Key for the Shell

    • 24. 4 Getting Help

    • 25. 5 The man pages

    • 26. 6 The help option

    • 27. 7 Graphical help

    • 28. 0 Section Four Overview

    • 29. 1 General 0verview of the Ubuntu file system

    • 30. 2 Orientation in the file system

    • 31. 3 manipulating files

    • 32. 4 Creating Files using touch command

    • 33. 5 Creating Directories

    • 34. 6 Moving Files and Directories

    • 35. 7 Copying Files and Directories

    • 36. 8 Removing Files and Directories

    • 37. 9 Finding Files and Paths

    • 38. 10 Linking Files

    • 39. 11 Creating Symbolic Links

    • 40. 0 Section Five Overview

    • 41. 1 Multi user and multi tasking

    • 42. 2 Interactive processes

    • 43. 3 Automatic processes

    • 44. 4 Daemons

    • 45. 5 Linux Pipes

    • 46. 6 The grep command

    • 47. 7 The sort command

    • 48. 8 Filter

    • 49. 9 Process attributes

    • 50. 10 Displaying process information

    • 51. 11 Process Creation

    • 52. 12 Ending Processes

    • 53. 13 Signals

    • 54. 14 Shutdown

    • 55. 15 Managing Processes

    • 56. 16 Managing Process Priority & Niceness

    • 57. 17 Managing Process CPU Resources

    • 58. 18 Managing Process Memory Resources

    • 59. 19 Tuning System Performance

    • 60. 20 Network Problems

    • 61. 21 Disk IO Problems

    • 62. 22 Users

    • 63. 23 Graphical Tools

    • 64. 24 Interrupting Processes

    • 65. 25 Scheduling Processes

    • 66. 26 The sleep command

    • 67. 27 The at command

    • 68. 0 Section Six Overview

    • 69. 1 Linux Regular Expressions

    • 70. 2 Simple Redirections

    • 71. 3 Advanced Redirection filters

    • 72. 0 Section Seven Overview

    • 73. 1 Text Editors

    • 74. 2 The easy way to vim

    • 75. 0 Section Eight Overview

    • 76. 1 Ubuntu Virtual Terminal

    • 77. 2 Starting Virtual Terminals

    • 78. 3 Virtual Terminal Shortcuts

    • 79. 0 Section Nine Overview

    • 80. 1 The Ping Command

    • 81. 2 The Ftp Command

    • 82. 3 The telnet Command

    • 83. 4 The telnet Command Troubleshooting

    • 84. 5 The ssh Command

    • 85. 6 The ssh Command Troubleshooting

    • 86. 0 Section Ten Overview

    • 87. 1 Creating a User

    • 88. 2 Delete and disable an account

    • 89. 3 Adding and Removing users from the usergroups

    • 90. 4 File Security

    • 91. 5 Ownership in Ubuntu files

    • 92. 6 Permissions

    • 93. 7 chmod Command

    • 94. 8 Absolute(Numeric) Mode

    • 95. 9 Symbolic Mode

    • 96. 10 Changing Ownership and Group

    • 97. Installating QT Creator on Ubuntu

    • 98. Summary

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

  • Ubuntu Linux for Beginners

    Hi, I'm Mustafa Mahmoud. A Senior Linux Administrator and Online Instructor. I have been working as Linux System Administrator for more than ten years, currently devoted to teaching. I like to share my knowledge with others and help them advance in their careers.

    I prepared this course for newbie Ubuntu Linux users. By the end of the course, you should have obtained enough information to easily install, run, and manage the Ubuntu Linux operating system.

    Students testimonials

    • Ajish: The explanations were clear and to the point, will enroll in more of his courses. Thank you!
    • Gh Atef: It has been a wonderful experience. Mustafa is an amazing instructor. The contents and length of the course are just perfect to start working freely on Ubuntu. The course covers a wide variety of topics explained clearly and simply. I would highly recommend this course.
    • Usama Ali: Awesome contents teaching methodology.

    What you should know before starting

    • Basic knowledge of using a PC.

    Requirements - A PC with the minimum requirement of installing Ubuntu 18.04 LTS:

    • 2 GHz dual-core processor
    • 4 GiB RAM (system memory)
    • 25 GB of hard-drive space
    • VGA capable of 1024x768 screen resolution Either a DVD drive or a USB port for the installer media
    • Either a CD/DVD drive or a USB port for the installer media
    • Internet access is helpful

    In this course you’ll learn:

    • Ubuntu Linux history
    • Trying Ubuntu without installing
    • Installing VirtualBox
    • Creating a new Virtual Machine
    • Installing Ubuntu Linux
    • Installing the VirtualBox Guest Additions
    • Methods of installing and uninstalling apps on Ubuntu
    • The Linux system's basic modes
    • The Ubuntu Linux basic commands
    • The Shell special key
    • Getting help in Linux
    • The Ubuntu Linux file system
    • Managing Linux process
    • Input and output redirection
    • Text editors general overview
    • Ubuntu Linux Virtual terminals
    • Ubuntu Linux Administration basics

    Course Content:

    1. Background & Introduction.
    2. Beginning with the introduction of the Ubuntu Operating System and mentioning its history.
    3. What is an operating system?
    4. The pieces that make up the operating system.
    5. Ubuntu Pros & Cons.
    6. Installing Ubuntu.
    7. Ubuntu live distribution.
    8. Creating a bootable Ubuntu USB stick from Microsoft Windows.
    9. Ubuntu Try.
    10. Introducing the VirtualBox program and showing the step-by-step procedure of downloading and installing it.
    11. Creating a new Virtual machine for the Ubuntu OS.
    12. Steps for downloading and installing the Ubuntu 18.04 OS.
    13. Installing the VirtualBox Guest Additions.
    14. Having a full-resolution Ubuntu VM on your computer.
    15. Starting the Ubuntu OS.
    16. Logging in and Logging out.
    17. Introducing the Ubuntu OS.
    18. Introducing the Shell or Terminal "the command-line interface".
    19. Installing software on Ubuntu intro.
    20. Steps for adding and removing applications from the Ubuntu OS Graphically and using the Command line.
    21. sudo command.
    22. apt-get command.
    23. apt-cache command.
    24. Opening a list of your currently installed programs in the terminal using dpkg command.
    25. aptitude command.
    26. The Ubuntu Software Center.
    27. Installing and uninstalling software in Ubuntu using the Debian package 'dpkg'.
    28. Manual download of a .deb (Debian package) method.
    29. QuickStart.
    30. The Linux system's basic modes.
    31. Ways of launching a terminal on Ubuntu.
    32. Describing the command prompt in the terminal.
    33. How to get into the text mode 'virtual consoles' and how to switch back to the graphical mode.
    34. The Important Basic Commands of the Linux OS.
    35. pwd command.
    36. cd command.
    37. The absolute path.
    38. The relative path.
    39. ls command.
    40. passwd command.
    41. file command.
    42. cat command.
    43. exit command.
    44. The Linux shell special keys.
    45. Getting help in Linux.
    46. man command.
    47. info command.
    48. whatis command.
    49. which command.
    50. --help option.
    51. The graphical help.
    52. gnome-help command.
    53. yelp command.
    54. About Files and the File System.
    55. The shell built-in commands.
    56. Overview of the Linux File System.
    57. The file types.
    58. The file type signs.
    59. What is a partition?
    60. The kinds of major partitions on a Linux system.
    61. The data partition.
    62. The swap partition.
    63. The important files and directories on the Linux operating system.
    64. The standard root partition.
    65. The swap space.
    66. The /boot partition.
    67. The /usr partition.
    68. The /home partition.
    69. The /var partition.
    70. The /opt partition.
    71. The mount points.
    72. df command.
    73. Orientation in the file system.
    74. The PATH environment variable.
    75. echo command.
    76. Displaying and setting paths.
    77. Adding a new directory to the PATH variable.
    78. export command.
    79. The ( ~/.profile & ~/.bashrc ) files.
    80. source command.
    81. The kernel.
    82. The shell.
    83. The shell types.
    84. The sh or Bourne Shell.
    85. The Bash or Bourne Again Shell.
    86. The csh or C Shell.
    87. The tcsh or Turbo C Shell.
    88. The ksh or the Korn shell.
    89. The file /etc/shells.
    90. The SHELL variable.
    91. The HOME variable.
    92. Navigating through the Linux File System.
    93. The /etc directory.
    94. The /dev directory.
    95. The /var directory.
    96. ls command popular options.
    97. Creating, copying, moving, and removing files and directories.
    98. Finding files and paths.
    99. which command.
    100. find command.
    101. locate command.
    102. Linking Files.
    103. The hard link.
    104. The soft link or symbolic link.
    105. Creating a symbolic link.
    106. ln command.
    107. Processes
    108. What is a process?
    109. Multi-user and Multi-tasking Process Types.
    110. Interactive and Automatic Processes.
    111. Foreground process.
    112. Background process.
    113. less command.
    114. Job control.
    115. kill command.
    116. Daemons.
    117. Linux Pipe.
    118. pg command.
    119. more command.
    120. grep command.
    121. sort command.
    122. Linux Filter.
    123. Process Attributes.
    124. ps command.
    125. Displaying Process.
    126. The real group owner of a process (RGID).
    127. The effective group owner of a process (EGID).
    128. The SGID (Set Group ID upon execution).
    129. pstree command.
    130. top command.
    131. How to Create a Process.
    132. How to End a Process.
    133. Linux Signals.
    134. Showing signals list.
    135. The common signals in Linux.
    136. SIGTERM.
    137. SIGINT.
    138. SIGKILL.
    139. SIGHUP.
    140. SIGSTOP.
    141. Reboot, halt, and shutdown commands.
    142. Managing Processes.
    143. time command.
    144. About system performance.
    145. About system Load.
    146. Managing process priority and niceness.
    147. nice command.
    148. renice command.
    149. Managing Process CPU and Memory Resources.
    150. uptime command.
    151. memusage command.
    152. memusagestat command.
    153. Tuning System Performance.
    154. vmstat command.
    155. netstat command.
    156. iostat command.
    157. Network I/O problems.
    158. Network integrity problems.
    159. Disk I/O problems.
    160. Users classes.
    161. The graphical tools.
    162. The Gnome System Monitor.
    163. The xload application.
    164. Interrupting processes.
    165. pidof command.
    166. The xkill program.
    167. Scheduling processes.
    168. sleep command.
    169. at command.
    170. The Input and Output Redirection.
    171. Linux Regular Expressions.
    172. Basic regular expressions.
    173. Interval Regular expressions.
    174. Extended regular expressions.
    175. Brace expansion.
    176. Simple Redirections.
    177. The redirection operators.
    178. Input redirection.
    179. Combining redirections.
    180. spell command.
    181. The append operator.
    182. date command.
    183. Advanced Redirections.
    184. Use of file descriptors.
    185. Separating standard output from standard error.
    186. tty command.
    187. tee command.
    188. uptime command.
    189. Text Editors.
    190. Importance of Text Editors.
    191. The Easy Way to Learn the Vim Editor.
    192. vimtutor command.
    193. Ubuntu Virtual Terminals.
    194. What are virtual terminals?
    195. Starting virtual terminals and navigating through them.
    196. Virtual terminal shortcuts.
    197. Ubuntu Communication Utilities
    198. Ping
    199. FTP
    200. Telnet
    201. SSH
    202. The Ubuntu System Administration Basics.
    203. Creating a user using the terminal.
    204. Creating a user using the GUI.
    205. Deleting and disabling an account using the terminal.
    206. Deleting and disabling an account using the GUI.
    207. Adding a user to a usergroup.
    208. Removing a user from a usergroup.
    209. The gnome-system-tools.
    210. The users-admin command.
    211. The File Security in Terms of Ownership and Permissions.
    212. Levels of authorization in Linux.
    213. Ownership in Linux files.
    214. Permissions.
    215. chmod command.
    216. chmod command absolute and symbolic modes.
    217. Changing Ownership and Group.
    218. chown command.
    219. chgrp command.
    220. The Bonus of the Course, Steps of installing 'Qt Creator' on Ubuntu OS.

    The Commands included in the course:

    • vim
    • vimtutor
    • man
    • info
    • whatis
    • apropos
    • cat
    • --help option
    • apt-get
    • sudo
    • dbkg
    • pr
    • lp
    • lpr
    • pwd
    • cd
    • ls
    • passwd
    • file
    • exit
    • touch
    • mkdir
    • rm
    • rmdir
    • mv
    • cp
    • grep
    • sort
    • find
    • ln
    • echo
    • jobs
    • bg
    • fg
    • kill
    • xkill
    • tty
    • tee
    • date
    • uptime
    • ps
    • pstree
    • top
    • nice
    • renice
    • vmstat
    • netstat
    • iostat
    • sleep
    • at
    • atq
    • atrm
    • nano
    • shutdown
    • chmod
    • adduser
    • su
    • userdel
    • groupmod
    • usermod
    • deluser
    • chown
    • chgrp
    • groups
    • umask

Join me:

Meet Your Teacher

Teacher Profile Image

Mostafa Mahmoud

Data Scientist/ML Engineer/Linux Expert


Hello, I'm Mostafa. A data scientist, ml engineer, and Linux expert. I worked for ten years as a Linux systems administrator at Express, then I had the opportunity to turn to data science. Because of my passion for this field and my keen attention to detail, I got my Udacity certifications to work as a data scientist and machine learning engineer. The most recent projects I worked on were Finding Donors for CharityML, a full exploratory and explanatory analytics work project for Ford Go Bike company trips data, and creating a logistic regression to predict absenteeism. I'm working on improving my skills and looking for job opportunities that will help me in this direction.

Skills: Python, SQL, Linux
Applications: Jupyter Notebook, Weka, Excel, Pycharm,... See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Ubuntu Linux for Beginners Course Promo Video: Hey there, welcome to the Ubuntu Linux for beginners course, where you will learn to install and manage the Ubuntu Linux operating system. I, Mostafa Mahmoud, a senior Linux administrator and online instructor. I had been working as Linux system administrator for more than 10 years, currently devoted to teaching. I like to share my knowledge with others and help them advance in their careers. Through this course, you will go from 0 to hero in using and managing the Ubuntu Linux operating system. Path dives right into the first steps anyone needs to take to begin their Ubuntu Linux journey. The courses cover topics that get you up and running with the Linux OS. This includes discussing Ubuntu Linux installation and configuration scenarios before getting started with the Linux command line as well as Linux administration. By the end of this path, you'll have formed a solid foundation with Linux that will serve as a stepping stone to more advanced Linux skills enrolls. I prepared this course for newbie Ubuntu Linux users and no previous knowledge is needed. I only asked you to come open-minded and ready to learn. Feel free to take a look at the course description, and I look forward to seeing you inside. 2. Course Overview: Hello and welcome to the Ubuntu Linux for beginners course. My name is Mustafa and I am happy and grateful to be your instructor. Let's take a look at our schedule for our training session. The first section will be an overview of the course. In section 2, background and introduction, you will learn what do boon to us, meaning of operating system Ubuntu history, pros and cons of Ubuntu. In section 3, installing Ubuntu, you will learn to install Ubuntu using virtual box. You will learn the different ways to add and remove programs from the Ubuntu operating system. In section for QuickStart, you will learn how to connect and disconnect the system. Have a look at the text and graphics mode. Learn how to change your password, how to navigate through the file system, determined the file type, view text files, you special keys, and how to get help. In section five about files in the file system, I will show you the layout of the Ubuntu file system, view and set paths describe the most important files on Ubuntu. Find lost in hidden files, create, Move, Copy and remove files and directories. View the contents of files, understand and use the different types of links. In six. After File processes are the most important thing in any Linux system, including Ubuntu. In this section, you'll take a closer look at those processes and learn about Multi-user processing, multitasking process types, interactive and automated processes. What demons are, you will learn about pipes and how to use them. Grep command and how to use it to search for specific information. The sort command and its usefulness for sorting the contents of files and directories in different ways. Output filters, process attributes, process information, display, process lifecycle, process control with different signals, system star and shut down, shutdown command, process management, system performance tuning, network problems, disk input output problems, getting the most out of your system. User categories, graphical tools, interrupting processes, and scheduling processes. In section seven, input and output redirection, you will learn about Linux regular expressions, what they are, and how to use them. You will learn more about Linux as powerful mechanism for redirecting inputs, outputs, and errors. This will include standard input and output errors. Redirection operators, using the output of one command as the input to another command. How to put command output into a file for later reference. How to append the output of multiple commands to a file. Input redirection, how to handle standard error messages, how to combine redirection of input, output an error streams. In Section 8, text editors, I will discuss the importance of mastering and editor. Then I will show you the easy way to learn the popular Vim editor. In section nine, Ubuntu virtual terminals, you will learn what virtual terminals are using virtual terminals, how to access and utilize them. And virtual terminal shortcuts. In Section 10, Ubuntu Linux communication utilities. While working on Ubuntu Linux, you may need to connect to other devices. And for that, there are some basic utilities that you can take advantage of. These utilities can help you communicate with networks, other Linux systems, and remote users. The common utilities you will learn in this section are paying FTP, Telnet, and SSH. In the 11 section, we boon to administration, you will learn some important basic jobs of an Ubuntu system administrator, which will include how to create a user, had to delete and disable the account, add and remove users from user groups. File security, ownership in Ubuntu files. Permissions, chmod command using absolute in symbolic modes, finding out file properties and changing file permissions for security. In section 12, you will learn to install QT Creator on Ubuntu as a bonus for our course. I hope this was informative to you and I would like to thank you for watching. 3. 0 Section One Overview: Background and introduction. In this section, you will learn what Ubuntu is, the meaning of the operating system. Ubuntu history and Ubuntu pros and cons. 4. 1 What is Ubuntu: Just like Windows 10 and Mac OSX, Ubunto as an operating system. It is an open source operating system based on the Debian GNU, Linux distribution. It's freely available with both community and professional support. Ubuntu incorporates all the features of the Unix operating system with an added customizable graphical user interface that makes it popular in universities and research organizations. Ubuntu is officially released in three additions, desktop, Server Core for the Internet of Things, devices, and robots. It is shipped in a stable and regular release cycle. The new release will be shipped every six months. And Ubuntu is long-term support release will become available, which is supported for five years. The Ubuntu releases in-between, known as development or non LTS releases are supported for nine months each. I hope this has been informative for you and I would like to thank you for viewing. 5. 2 What is an Operating System: Operating system. The operating system is the software that manages the communication between software and hardware. Without the operating system, the software wouldn't function. It is comprised of several pieces. The bootloader is the software that manages the boot process of your computer. The kernel is the core of the system and manages the CPU, memory, and peripheral devices. It is the lowest level of the operating system. Demons or background services, for example, printing and sound that either starts up during boot or after you log into the desktop. The shell is a common process that allows you to control the computer via commands typed into a text interface. The graphical server as the subsystem that plays the graphics on your monitor, the desktop environment as the piece of the puzzle that the users interact with. There are many desktops environments to choose from. For example, unity, nome, and KDE. Each desktop environment includes built-in applications such as file managers, configuration tools, web browsers, games, and other applications. Linux offers thousands upon thousands of high-quality software titles that can be easily found in installed. Thanks for viewing. 6. 3 Ubuntu History: Ubuntu history. Mark Richard Shuttleworth, born the 18th of September 1973, is a South African and British interpreter who is the founder and CEO of canonical limited, the company behind the development of the Linux-based Ubuntu operating system. Ubuntu as a free and open source Linux distribution based on a much older Linux distribution known as Debian, because it was started by two people named Deborah and EN. Debian is still a widely respected operating system but came under criticism for infrequent updates and less than user-friendly installation and maintenance. But these areas have shown improvement recently, Mark took the Debian distribution and work to make it a more human friendly distribution that he called Ubuntu. The first release was in October 2004. Ubuntu as officially released in three additions, desktop, server and core for the Internet of Things, devices, and robots. The canonical limited company promotes and provide support for Ubuntu Linux. It releases updated versions predictably every six months. And each release receives free support for 18 months with security fixes, high-impact bug fixes, and conservative, substantially beneficial, low-risk bug fixes. It generates revenue by selling support and services to compliment to a boon to the word Ubuntu as an ancient Zulu and COSO word, which means humanity to others. Thanks for viewing. 7. 4 Ubuntu Pros and Cons: Ubuntu pros and cons. Ubuntu pros. Ubuntu is free and open source. It's installation as easy and fast, probably because the setup is very small, around one gigabyte for the base version, it is easy to customize. There are fewer viruses on Ubuntu and this makes it even more vulnerable as anyone would hardly care to install an antivirus. But it's better to use antivirus with Ubuntu for security. With kernel modules coming every six months, we boon to these days is highly updated in terms of hardware support, many bugs are fixed in the following releases, you will have a lot of free applications. Ubuntu offers many interfaces. You can choose freely for many desktop environments, from known to KDE to unity, to sentiment with the excellent development community and online forums, you can find help for almost all the issues you face. Ubuntu cons, lack of games, no Microsoft Office Suite, unless you use MS Cloud 360 or LibreOffice, it is recommended you learn a few basic Linux commands. The almost all things can be done with the graphical user interface. You may have some problems with hardware compatibility. For example, with graphics drivers and printers. Some software like Photoshop and auto CAD may not run smoothly with you. Thanks for viewing. 8. 0 Section Two Overview: Ubuntu installation. In this section, you will learn install Ubuntu using Virtual Box. Also, you will learn to add or remove software on Ubuntu operating system. 9. 1 Ubuntu Try: For most, the idea of installing an operating system might seem like a very daunting task, but Linux offers one of the easiest installations of all operating systems. Most versions of Linux offer what is called a live distribution, which means you run the operating system from either a CD, DVD or USB flash drive without making any changes to your hard drive, you get the full functionality without having to commit to the installation. Once you have tried it out and you decided you wanted to use it, you simply double-click the install icon and walk through the simple installation wizard requirements. You will need a two GB or larger USB stick flash drive. Microsoft Windows XP, or later. Rufus, a free and open source USB stick writing tool. Go to Google search. Search for Rufous. Choose your language. Then download and install. After finishing, press Close. We will also need an Ubuntu ISO file. Go to the Ubuntu website. Choose the download section. Choose Ubuntu desktop, then press the download button. Your download will start automatically. After finishing the installation, perform the following to configure your USB device and Rufus launch Rufous. Then insert your USB stack. Rufus will update to set the device within the device field. If the device is incorrect, select the correct one from the device fields drop-down menu. From boot selection, select the disk or ISO image. To select the Ubuntu ISO file, press the Select button. This will open a file requester from which you can navigate and select the ISO file. From the partition scheme, select the master boot record or MBR, target system bios or UEFI. Leave all other parameters with their default values and click start to initiate the writing process. If you are asked that there are files needed to be downloaded, agree to the download. You will then be alerted that Rufus has detected that the Ubuntu ISO as an ISO hybrid image. This means the same image file can be used as the source for both a DVD and a USB stick without requiring conversion. Keep right in ISO image mode selected and click on Okay to continue. Rufus will warn that all data on your selected USB advices about to be destroyed. This is a good moment to double-check. You have selected the correct device before clicking OK. The ISO will now be written to your USB stick and a progress bar and Rufus will give you some indication of how long this will take. Reasonable modern machine, this should take around three minutes. Rufus will complete the writing process and silently drop it to its default window. Congratulations, you now have Ubuntu on a USB stick, bootable and ready to go. Once you set up your USB drive to be bootable with Ubuntu. You can then reboot your system, catch the boot menu, and boot from the USB. If your computer doesn't automatically boot from USBE, try holding F2 when your computer first starts. With most machines, this will allow you to select the USB device from a system-specific boot menu. It will let you run a live CD version of Ubuntu that is fully usable. Press the right arrow to enter the graphical installation. A few moments later you will see the language selection followed by Ubuntu boot options. Select the top entry. Try Ubuntu without installing your live desktop will appear. Have a look around, check out the new features and enjoy the simplicity of the Ubuntu intuitive interface. You can still choose to install Ubuntu after passing the welcome page by clicking on the Install Ubuntu icon on the desktop background, or just shut down, remove the USB drive and start your computer like normal. Thanks for watching. 10. 2 Virtualbox Introduction: Virtual Box introduction. Now I will give you a short description of virtual box. Then I will show you how to download and install VirtualBox on your machine. Oracle VM VirtualBox as a free and open source hypervisor for X86 computers, currently being developed by Oracle Corporation. Virtual box can be installed on several hosts operating systems including Linux, Mac OS, Windows, Solaris, and open Solaris. It supports the creation and management of these virtual machines running versions and derivations of Windows, Linux, BSD, Solaris, and the limited virtualization of macOS, guests on Apple hardware. For guest operating systems, a Guest Edition package of device drivers in system applications as available, which typically improves performance, especially of graphics. Thanks for watching. 11. 3 Virtualbox Installation: Virtual Box installation and configuration procedures. Go to the Virtual Box website. Go to the download section. There are versions available for Windows, Mac and Linux. Download the Windows version at the top by clicking Windows hosts. If your host operating system has Mac OSX, then you will click on Mac OSX hosts to download the dot DNG file. After finishing downloading, open the file and follow the steps you will see. Back to Windows users after finishing, start the installation, press Next to continue the setup wizard. Choose not to install USB support, networking or Python support. Do this by clicking the gray icon near each option and selecting the red X or entire feature would be unavailable. Then click Next to continue. If this is your first time dealing with virtual machines, this will eliminate the need to install custom drivers, which makes installing and uninstalling VirtualBox easier. If you have worked with virtual machines before, you can choose to keep this option selected. Uncheck the default settings if you don't wish Virtual Box icons to appear on the desktop or the quick launch bar. However, keep the register file association box checked. This will ensure that files associated with virtual box open only with Virtual Box. Then press Next click install to install Virtual Box. Click Finish to Open Virtual Box. Thanks for watching. 12. 4 Creating a New Virtual Machine: Creating a new virtual machine. After starting VirtualBox, click the New button to start the Virtual Machine Wizard. Give your virtual machine a name. If you give it Ubuntu, the version will automatically default to Ubuntu. Then click Next. Select the amount of memory your VM will use. When we choose our operating system in the previous step, virtual box automatically recommends the proper amount of memory to use. The recommended values are one GB if the machine ram is four GB and two GB if the machine ram is eight GB, use of RAM lower than four GB is not recommended. Can still use 512 K bytes for machine ram of two GB. Click Next to create a new virtual hard disk. Then click Create. This opens a second wizard to create a new virtual hard disk. Choose VDI, click Next and select dynamically allocated memory. Selection of memory size greater than 10 GB is recommended. Select either fixed size storage or dynamically expanding storage depending upon your needs. Fixed size storage is going to be the size of the virtual hard disk of the host operating system. For example, a virtual disk of 10 GB will be 10 GB on the host operating systems hard disk, a dynamically expanding storage will be only the size of Ubuntu on your hard disk, but will grow in size as files are added to it until it reaches its limit. Click Next. Then select the size of the virtual hard disk to be 10 GB. Click Create. Done. Now you will see your new virtual machine on the list. Thanks for watching. 13. 5 Ubuntu Installation: Ubuntu installation. Now we will install the Ubuntu operating system using virtual box. We will do this to keep your old operating system as it is. So you can switch back to your old operating system anytime you want without any difficulties. And if you want to install Ubuntu directly to your machine, there is no problem. You can follow the same steps. But my advice is to start first with Virtual Box until you feel free that you are familiar with Ubuntu. Setting the ISO file to start. Select your new virtual machine. Once you have done this, click the Settings button, click the storage tab. Click on Controller, IDE adds optical drive. Then press choose Disk button to choose the Ubuntu ISO file. Then press Open Ubuntu ISO will be mounted under the controller device. Click on the system tab on the left. Choose boot order and keep Optical on the top as the first priority. Press Okay to return to the main window, your Ubuntu machine is ready to boot now. Now to install Ubuntu, select install. Now to install Ubuntu, select your virtual machine, then click the Start button. Ubuntu Virtual Machine will start in a separate window. The machine will boot from the selected ISO and you will see the language option. Choose your preferred language and press Install Ubuntu. Continue to keep the default keyboard layout or choose your desired one. On the next screen, Ubuntu will give you a checklist and you will be asked if you need to update during install and if you need to install third-party software, choose both and click Continue. The next option will ask you if you wanted to delete all data and install Ubuntu. Or you can also choose to create your own partitions from options, something else. We will choose Erase disk and install Ubuntu, then press Install Now. And alert will appear for writing the changes to desks. Press the Continue button. Select your time zone from the map, then click Continue. Type your username in the first text box. This will automatically fill in the login name and the computer name. Type your password. Confirm your password and click Continue. Ubuntu. We'll begin the installation. Once the installation is complete, click Restart. Now to finish the installation, the machine will restart and installed. Ubuntu will load from the hard disk, provide a password to the username to log into the main window of Ubuntu. Installing Guest Additions. The Virtual Box Guest Additions consist of device drivers and system applications that optimize the operating system for better performance and usability. Once you have logged into Ubuntu, click on the Devices tab in VirtualBox. Select insert the guest edition CD image. Press the Run button when ubuntu asks to install a program and it needs a password, type your user password and click authenticate. Let the terminal program run. And when it has finished, press Enter, reboot your virtual machine. And once it has booted, click on the View menu, then click auto resize guest display. And you will have a full resolution Ubuntu virtual machine on your computer. Thanks for watching. 14. 6 Installing apps on Ubuntu Introduction: How to install software on Ubuntu. In Windows, the program has installed by running the setup dot EXE file. The installation package contains the software as well as many independent components that are required to run the program. In Linux, installation files are distributed as packages, but the package contains only the software itself. Any dependent components must be installed separately, which are usually available as packages themselves. 15. 7 Installing apps on Ubuntu via terminal: We have two methods to install software on Ubuntu. The first method is using the terminal. Open the terminal by pressing Control Alt T, or by going to your dashboard and searching for terminal. After opening the terminal, update all the installed packages in your system using the command sudo, apt dash get update. You will be asked for the root password, right? The password. And press Enter. At the end of any command, you must press the Enter key to execute it. To search for software using APT, use this command. Apt dash cash surge application name. For example, to install GIMP, short for new image manipulation program type. Sudo apt, get install. Now, wait until the installation is finished. You can swap out with the name of whatever software you're installing. Thanks for watching. 16. 8 Uninstalling Ubuntu apps via terminal: How do uninstall a program on Ubuntu using the terminal. Open the terminal to show a list of the currently installed programs. You can use the command deep EKG dash, dash list. Then press Enter. Find the program that you want to uninstall. You will need to know the official name of the program file rather than the name of the program itself. For example, a Vg, rather than the AVG antivirus. Here, as an example, I will choose the new image manipulation program Camp. Enter the APT dash, GET command, type sudo, apt, get removed. Again into the terminal, making sure to use the programs actual name and press Enter type in your root password. Then press Enter. To confirm the deletion type y and press enter. Your program will begin to uninstall itself. Once it finishes, you can close the terminal. This process may take a while to complete depending on the size of the program. Thanks for watching. 17. 9 Installing apps on Ubuntu Graphically: How to install software on Ubuntu graphically. Click on the Dashboard in the sidebar. Search for Ubuntu Software Center and open it. From the bottom of the page, you can select the category of software you want to install. For example, you would select graphics and photography. And alternate way is to use the search function and search for the required software. From graphics and photography. We will choose my paint as an example from the list. And click Install. You will be prompted for the password, type it, and continue installing the software by pressing authenticate. After finishing the installation, press the Launch button to try the software you have installed. Thanks for watching. 18. 10 Uninstalling Ubuntu apps using Ubuntu Software Center: How do uninstall a program on Ubuntu Software Center? Open Ubuntu Software Center. Click the installed tab. Find the program that you want to uninstall. Scroll through the list of installed programs until you arrive at the one that you want to uninstall or search by name for it. Here, the program we are looking for is my pane. Click on it. Click on the remove button. Confirm the decision. If prompted. If asked to confirm, click Remove again. Enter your password and press authenticate. The prompt that you see may vary slightly depending on your version of Ubuntu. After removing is finished, close Ubuntu Software. Thanks for watching. 19. 11 Installing and uninstalling apps on Ubuntu using Debian pkg: How to install software on Ubuntu using the Debian package. Packages or manually installed via the Debian package management system using the command deep EKG. Deep EKG is the backend to commands like APT dash, which in turn are the backend for gray installed apps like the software center. Manual download of a dot db Debian package method. You can use the Download sub-command of apt. For example, if my paint is the package you want, we will use the following command. Dash, get, download my paint. Once downloaded, you can double-click on the package to have it opened in the software center from where you can install it. Or just open the terminal, navigate to the download location and run this command, sudo deep EKG, dash I, my paint dot db. Now you have my paint installed on your computer. To remove my paint package. Type this command, sudo, DP, k, g, dash, are my paint. Done? Thanks for watching. 20. 0 Section Three Overview: Quickstart. In this section, you will learn about connecting and disconnecting from the system. Take a look at the text and the graphics mode. Learn how to change your password, how to navigate through the file system, determining file type, viewing text files using special keys and how to get help. 21. 1 Logging in, activating ui and logging out: Logging in, activating the user interface and logging out. To work in a Linux system directly, you will need to provide a username and password. Linux systems have two basic modes for a system to run in, either quick and sober, and text console mode, which looks like DOS with mouse multitasking and multi-user features. Or in the graphical mode, which looks better but eats more system resources. This is the default nowadays on most desktop computers. You know, you will connect to the system using graphical mode when you are asked for a username and password to login, make sure the mouse pointer, as in the login window, provide your username and password to the system and click sign in or press Enter. It's generally considered a bad idea to connect graphically using the root username, which is the system administrator's accounts. Since the use of graphics includes running a lot of extra programs in the roots case with a lot of extra permissions. So to keep all risks as low as possible, use a normal user account to connect graphically, but there are enough risks to keep this in mind as general advice for all use of the root account only login as root when extra privileges are required. After entering your username password combination, it can take a little while before the graphical environment has started. Depending on the CPU speed of your computer, the software you use, and your personal settings. To continue, you will need to open a terminal window. There are two ways to launch the terminal on Ubuntu. Go to the dashboard and type terminal. Then click on it. Or you can press Control Alt T to launch the terminal. Also, clicking the right mouse button on the desktop background will usually present you with a menu containing a terminal window application. The terminal window is your control panel for the system. Almost everything that follows is done using the simple but powerful text tool. A terminal window should always show a command prompt when you open it. Once you launch the terminal, you would find something as Mustafa at mustafa dash VB colon Tilda, dollar sign written on it. The first part of this line, Mustafa, is the username. The second part, Mustafa dash VB, is the computer name or host name. The host name helps identify a computer over the network. In a server environment, host name becomes important. The colon as a simple separator, the Tilda sign shows that the user is working in the home directory. If you change the directory, this sign will vanish. For example, if we moved from the home directory slash home slash Mustafa to the bin directory using the cd command, the Tilda sign will disappear. It will appear again when moving back to the home directory slash home slash Mustafa, the dollar sign suggests that you are working as irregular or standard user on Ubuntu while working as root user hashes displayed. To disconnect from the system in graphical mode, you need to close all terminal windows and other applications. After that, hit the logout icon or find the logout on the menu. Closing everything is not really necessary and the system can do this for you. But session management might put all currently open applications back on your screen when you connect again. When you see the login screen again asking to enter username and password, lockout was successful to get into text mode while you are logged in graphical mode, press Control, Alt F2 to have sex. You know, you are in text mode when the whole screen is black showing characters. A text mode login screen typically show some information about the machine you are working on, the name of the machine and a prompt waiting for you to login. The login is different from a graphical login in that you have to hit the Enter key after providing your username. As there are no buttons on the screen that you can click with the mouse, then you should type your password followed by another enter. You won't see any indication that you are entering something, not even an asterisk, and you won't see the cursor moved. But this is normal on Linux and is done for security reasons. When the system has accepted us a valid user, you will be given a shell indicated with the same prompt that you would get in graphical mode, also in text mode login as root only to do setup and configuration that absolutely requires administrator privileges, such as adding users, installing software packages, and performing network and other systems configuration. Once you've finished, immediately leave the special account and resume your role as an, an privileged user. Systems like Ubuntu force you to use sudo so that you don't need direct access to the administrative account. Logging out is done by entering the logout command followed by enter. You are successfully disconnected from the system when you see the login window on the screen, again. Returning to the graphical mode is easily done by pressing Control Alt F1. Thanks for viewing. 22. 2 Absolute Basics: Absolute basics. After launching the terminal, let's have a look at the Quickstart commands. Pwd, print working directory command used for displaying the current working directory. Cd change directory command used for changing directories. If you want to navigate to the home directory type CD, then press Enter. You can also use the cd tilde, a command. The root of the file system in Linux as denoted by a forward slash similar to C colon backslash in Windows. Note that in Windows you use backward slash while in the Linux system the forward slashes used type cd slash to move to the root directory. Don't forget the space between CD and slash. Otherwise, you will get an error. You can navigate through multiple directories at the same time by specifying their complete path. For example, if you want to move to the CPU directory under slash dev directory, you don't need to break this operation into two parts. Instead, you can type cd slash dev slash CPU to reach the directory directly. For navigating up one directory level, we can use cd dot dot here by using the cd dot.com, we have moved up one directory from slash dev slash CPU to slash dev directory. Then by again using the same command, we have jumped from slash dev to root directory slash. A path in computing is the address of a file or folder. For example, slash home slash username slash downloads. This is the path for the downloads directory. There are two kinds of paths. The first absolute path, let's say you have to browse the image is stored in the pictures directory of the home folder Mustafa. The absolute file path of pictures directory slash home slash Mustafa slash pictures. To navigate to this directory, you can use the command cd slash home slash Mustafa slash pictures. This is called absolute path, as you're specifying the full path to reach the file. Second relative path. The relative path comes in handy when you have to browse another subdirectory within a given directory, it saves you from the effort to type complete paths all the time. Suppose you are currently in your home directory and you want to navigate to the Downloads directory, you don't need to type the absolute path cd slash home slash Mustafa slash downloads. Instead, you can simply type cd downloads and you would navigate to the Downloads directory as you are already present within the slash home slash Mustafa directory. This way you don't have to specify the complete path to reach a specific location within the same directory in the file system. Next, LS, the list directory command. This command displays a list of files in the current working directory, like the DIR command in dose. The PSS WD command is used for changing the password for the current user. The file command displays the file type of a file. The cat command throws the content of any text file on the screen. And the exit command is used to leave the session. The arguments to a command or specifications for the objects on which you want the command to take effect. An example as ls slash ETC, where the directory slash ETC, as the argument to the ls command. This indicates that you wanted to see the content of that directory. Instead of the default, which would be the content of the current directory obtained by just typing ls followed by enter. Some commands require arguments. Sometimes arguments are optional. You can find out whether a command takes options and arguments and which ones are valid by checking the online help for that command, which we will discuss later. Thanks for viewing. 23. 3 Using Special Key for the Shell: Using special key, using bash features, several special key combinations allow you to do things easier and faster with the new shell Bash, which is the default on almost any Linux system, you are strongly suggested to make a habit out of using them to get the most out of your Linux experience from the very beginning. Now, let's try some examples. Press Control a to move the cursor to the beginning of the command line. Press control C to end a running program and return the prompt. Press Control D to logout of the current shell session. It is equal to typing exit or logout. Press Control E to move cursor to the end of the command line. Press Control H to generate backspace character. Press Control L to clear this terminal. You can press Control R to search in command history for a particular command. Press arrow left or arrow right to move the cursor one place to the left or right on the command line, so that you can insert characters at other places than just at the beginning and the end. Press arrow up or arrow down to browse history, go to the line that you want to repeat, edit details if necessary, and press Enter to save time. Press Shift Page Up or shift page down to browse the terminal buffer to see text that has scrolled off the screen. You can press the tab key at anytime for filename completion. When multiple choices are possible, the system will either signal with an audio or visual bell or do nothing. Also, pressing the Tab key twice will show you file or command completion possibilities. I hope this has been informative for you and I would like to thank you for viewing. 24. 4 Getting Help: The goal of gun new Linux has to become more self-reliant. And as usual with this system, there are several ways to achieve the goal. One popular way to get help is to find someone who knows and no matter how patient in peace, loving the Linux community is, almost everyone expects that you have tried one or more of the coming methods before you ask them. 25. 5 The man pages: The man pages. A lot of beginning users fear the man or manual pages because they are an overwhelming source of documentation. They are however, very structured, as you will see from the Coming example. Reading man pages is usually done in a terminal window when in graphical mode or just in text mode if you prefer it. Type the command, man, man. The documentation for man will be displayed on your screen after pressing Enter, browse to the next page using the space bar. Or you can use the down arrow or the mouse scroll. You can go back to the previous page using the peaky. When you reach the end, men will usually quit and you get the prompt back. Press Q if you want to leave the man page before reaching the end, or if the viewer does not quit automatically at the end of the page. Each man page usually contains a couple of standard sections. As we can see from the madman example. The first line contains the name of the command you are reading about and the ID of the section in which this man page is located. The man pages are ordered in chapters. The name of the command and a short description is given, which is used for building an index of the man pages. You can look for any given search string in this index using the apropos command. For example, apropos, MKDIR. Apropos searches for MKDIR in the man page and displays the command description. The synopsis of the command provides a technical notation of all the options and or arguments this command can take. You can think of an option as a way of executing the command. The argument is what you executed on. Some commands have no options, are no arguments. Optional options and arguments are put in between square brackets to indicate that they can be left out. A longer description of the command is given. Options with their descriptions are listed. Options can usually be combined. If not. So this section will tell you about it. Environment describes the shell variables that influence the behavior of this command. Note that not all commands have this sometimes section specific to this command are provided. A reference to other man pages as given in the c Also section in between parentheses as the number of the man page section in which define this command. There might also be author and copyright information. Some commands have multiple man pages. For instance, the PSS WD command has a man page in section one and another in section five. By default, the man page with the lowest number is shown. If you want to see another section than the default, specify it after the man command. For example, MAN five, PAS FWD. If you wanted to see all man pages about a command, one after the other, use the dash j option to man command. For example, man dash a PAS FWD. In this way, when you reach the end of the first man page and press space again, the man page from the next section will be displayed. Thanks for viewing. 26. 6 The help option: The dash dash help option. Most new command support the dash dash help option, which gives a short explanation about how to use the command and a list of available options. Let's try this option with the cat command. Cat dash, dash help. As you can see, it gives a short explanation about how to use the cat command and a list of its available options. Thanks for viewing. 27. 7 Graphical help: Graphical help. Don't despair if you prefer a graphical user interface. No help browser is very easy to use, provides painless access to human pages and Information. System documents and man pages can be easily navigated with a simple interface. You can start it by entering the command known dash help info, colon info, or by typing info, colon info. And you will get a browsable info page about the info command. Similarly, the command Yelp man colon ls, will present you with the man page for the ls command. Note that some commands don't have separate documentation because they are parts of another command, such as CD and logout. They are part of your shell program and are called shell built-in commands. Thanks for viewing. 28. 0 Section Four Overview: About files in the file system. In this section, you will take a general overview of the Linux file system, displaying and setting paths describing the most important files including Kernel in Shao, viewing file properties, finding lost and hidden files, creating, moving and removing files and directories, linking files and creating symbolic links. 29. 1 General 0verview of the Ubuntu file system: A general overview of the Linux file system. A simple description of the Linux system is that on a Linux system, everything is a file. If something is not a file, it is a process. A Linux system makes no difference between a file in a directory, since a directory is just a file containing names of other files, programs, services, texts, images, and so forth are all files. Input and output devices. Generally all devices are considered to be files according to the system. In order to manage all those files in an orderly fashion, we will think of them in an ordered tree-like structure on the hard disk. While it is reasonably safe to suppose that everything you encounter on a Linux system as a file, there are some exceptions. Directories or files that are lists of other files. Special files are the mechanism used for input and output. Most special files are in slash dev directory. Links as a system to make a file or directory visible in multiple parts of the systems file tree. Later we will talk about links in detail. Sockets as a special file similar to TCP IP sockets providing interprocess, networking protected by the file systems access control. Named pipes act more or less like sockets and form a wafer processes to communicate with each other without using network sockets semantics. To display the file type, we will use dash l option with the l, ls command. The file type will be determined using the first character of each input line. Dash for a regular file, D for a directory file, l for a link file. C for a special file, for a socket file, and P for a named pipe file. In order not to always have to perform a long listing for seeing the file type. A lot of systems by default don't issue just L, but L, S, dash f, which suffixes filenames with characters like forward slash, asterisk, pipe hat to indicate the file type. Now, before we look at the important files and directories, you will need to know more about partitions. Most people have a vague knowledge of what partitions are, since every operating system has the ability to create or remove them. It may seem strange that Linux uses more than one partition on the same desk even when using the standard installation procedure. So some explanation has called for one of the goals of having different partitions as to achieve higher data security in case of disaster, by dividing the hard disk into partitions, data can be grouped in separated. When an accident occurs, only the data in the partition that got the hit will be damaged while the data on the other partitions will most likely survive. There are two kinds of major partitions on a Linux system. Data partition, which has normal Linux system data, including the root partition containing all the data to start up and run the system. And swap partition, which is an expansion of the computer's physical memory, has an extra memory on the hard disk. The standard root partition, indicated with a single forward slash has about a 100 to 500 megabytes and contains the system configuration files, most basic commands and server programs, system libraries, some temporary space, and the home directory of the administrative user. A standard installation requires about 250 megabytes for the root partition. Swap space indicated with swap or virtual memory is only accessible to the system itself and is hidden from view during normal operation. Swap is the system that ensures that you can keep on working whatever happens. On Linux, you will virtually never see irritating messages like out of memory. Please close some applications first and try again. Because of this extra memory. Using memory on a hard disk is naturally slower than using the real memory chips of a computer. But having this little extra has a great comfort. Linux generally counts on having twice the amount of physical memory in the form of swap space on the hard disk. The kernel is on a separate partition as well in many distributions because it is the most important file of your system. You will find that you have a slash boot partition holding your kernel and accompanying data files. The rest of the hard disks has generally divided into data partitions. When you perform a standard workstation installation, it usually happens following a set pattern. A partition for user programs named slash usr. A partition containing the user's personal data named slash home. A partition to store temporary data like print and mail, cuz named slash var. A partition for the third party and extra software named slash OPT. Once the partitions are made, you can only add more. Changing sizes are properties of existing partitions as possible but not advisable. Mount points. All partitions are attached to the system via a mount point. Mount point defines the place of a particular data set in the file system. Usually, all partitions are connected through the root partition. On this partition, which is indicated with the forward slash directories are created. These empty directories will be the starting point of the partitions that are attached to them. During system startup, all the partitions are thus mounted on a running system. Information about the partitions and their mount points can be displayed using the df command, which stands for disk full or disk free. In Linux, df is the new version and supports the dash H or human-readable option, which greatly improves readability. The df command only displays information about active non swap partitions. These can include partitions from other network systems. To find out which partition a directory is on, use the df command with a dot as an option. Show the partition the current directory belongs to and inform about the amount of space used on this partition. Thanks for viewing. 30. 2 Orientation in the file system: Orientation in the file system. When you want the system to execute a command, you rarely have to give the full path to that command. For example, we know that the ls command is in the slash bin directory. You can check with which dash a ls command. Yet you don't have to enter the command slash bin slash LS for the computer to list the content of the current directory. The path environment variable takes care of this. This variable lists those directories in the system where executable files can be found and thus saves the user a lot of typing and memorizing locations of commands. So the path naturally contains a lot of directories containing been somewhere in their names. As I will demonstrate, we can use the echo command to display the content of the variable path. Echo dollar sign path. In this example, the directories are subsequently searched for the required program. As soon as a matches found, the searches stopped even if not every directory in the path has been searched. If you use programs and other directories more frequently, you can change your path to look in your directories. For example, to add your home directory, we can use the Export path command. After the last colon, add your new path. Note that when using the export command in a shell, the changes are temporary and only valid for this session until you log out. Opening new sessions, even while the current one is still running, will not result in a new path in the new session. To make it permanent, you need to add export path equal dollar sign path, colon slash path to directory, to your Tilda slash dot profile file or Tilda slash dot bash RC file. Note that this will not automatically update your path for the remainder of the session. To do this, you should run source Tilda Slashdot profile or source Tilda Slashdot bash RC. Now we will talk about the most important files and directories. First, the kernel. The kernel is the heart of the system. It manages the communication between the underlying hardware and the peripherals. The kernel also make sure that processes in demons, which are server processes, are started and stopped at the exact right times. The kernel has a lot of other important tasks. For now, it suffices to know that the kernel is the most important file on the system. Second, the shell. The shell manages the interaction between the system and its users. It is a way of talking to the computer like a language. It is very difficult for a programmer to include all options and possible uses of a command in the GUI format. Thus, GUIs are almost always less capable than the command or commands that form the back-end. The shell allows the user to handle a system in a very flexible way. And additional acid is that the shell allows for task automation. Just like people know different languages and dialects, the computer knows different shell types. Sh or Bourne shell is the original shell still used on Unix systems and in Unix related environments. This is the basic shell, a small program with few features. Bash are born again, shell is the standard new shell, intuitive and flexible, probably most advisable for beginning users while being at the same time a powerful tool for the advanced and professional users. On Linux bashes, the standard shell for common users. This shell is a so-called superset of the Bourne shell, a set of add-ons and plug-ins. This means that the bourne again shell is compatible with the Bourne shell, which means that commands that work in SH also work in Bash. However, the reverse is not always the case. All examples in this course use Bash, COSH, or seashell. The syntax of this shell resembles that of the C programming language, sometimes asked for by programmers. The Turbo C shell is a superset of the common seashell, enhancing user friendliness and speed. The Korn shell is sometimes appreciated by people with a Unix background. It is a superset of the Bourne shell with standard configuration, a nightmare for beginning users. The file slash, ETC slash shells, given overview of known shells on a Linux system. To view this, you can use the command cat slash, ETC, slash shells. Note that slash bin slash essay is usually a link to bash which will execute in Bourne shell compatible mode when called in this way, your default shell is set in the slash, ETC, slash PAS FWD file to switch from one shell to another. Just enter the name of the new shell in the act of terminal, the system finds the directory where the name occurs using the path settings. And since a shell is inexcusable file, the current shell activates it and it gets executed. A new prompt is usually shown because each shell has its typical appearance. If you don't know which shell you are using, either check the line for your account in slash, ETC, slash PAS, FWD, or type the command echo dollar sign shell. About the home directory, your home directory as your default destination when connecting to the system. In most cases, it is a sub-directory of slash home. Whatever the path to your home directory, you don't have to worry too much about it. The correct path to your home directory is stored in the home environment variable in case some program needs it. With the echo command, you can display the content of this variable by using the command echo dollar sign home. Your home directory as indicated by a Tilda shorthand for slash path to home slash username. This same path is stored in the home variable, so you don't have to do anything to activate it. A simple application to switch to your home directory using one elegant command is typing cd space tilda and press Enter. You can check using the PWD command. The most important configuration files and most configuration files are stored in the slash ETC. Directory. Content can be viewed using the cat command, which sends text files to the standard output, usually your monitor. The syntax of straightforward cat filename. Example for files stored in the slash ETC directories dot bash RC file, which is the system wide configuration file for the bourne again shell. Another example is the host file, which is a list of machines that can be contacted using the network but without the need for a domain name service. The PSS WD file, which lists local users use the shadow utilities, user add, user mode and user told to edit this file. Note that editing this file manually is done when you know what you are doing. About devices. Devices are generally every peripheral attachment of a PC that is not the CPU itself, is presented to the system as an entry in the slash dev directory. For example. Cd ROM for CD drive console, for special entry for the currently used console. About slash var directory. In the slash var directory, we find a set of directories for storing specific non-constant data. All files that change frequently, such as log files, mailboxes, schoolers, are kept in a subdirectory of slash var. I hope this has been informative for you and I'd like to thank you for viewing. 31. 3 manipulating files: Manipulating files. Ls can give a lot of other information such as the file type as we already discussed. It can also show permissions on a file. File size I, node number, creation, date, and time, owners, and amount of links to the file. By adding the dash l option to the ls command, it can list all the files, directories and their mode, the number of links, owner of the file, file size, modified date and time, and filename. With the dash a option to Ls. Files that are normally hidden from view can be displayed as well. You can type ls dash l t to list files ordered by date. By typing ls dash l, uppercase S. You will have a list of files ordered by file size. You can use dash R option to reverse the result. For example, ls dash LTR, and ls dash l, uppercase S, uppercase R. You can get more options for ls command using the manual of Ls by typing man ls. These features allow seeing the file type without using any options to ls. To achieve this, every file type has its own color. The color dash LS, default color scheme. Blue color for directories. Red color for compressed archives. White color for text files. Pink color for images. Cyan color for links. Yellow color for devices. Green color for executables, flashing red color for broken links. The same information was in earlier days displayed using suffixes to every non-standard filename. The default suffix scheme for Ls. Nothing for a regular file. Forward slash for directories. Asterisk for an executable file. At symbol for a link. Equal character for a socket pipe, for a named pipe. To find out more about the kind of data we are dealing with, we use the file command by applying certain tests that check properties of a file in the file system, magic numbers and language tests File tries to make an educated guess about the format of a file. For example, if we type file documents, we will see the type is a directory. The file command has a series of options, among others, the dash d option to look into compressed files. Thanks for viewing. 32. 4 Creating Files using touch command: Creating files using touch command. The touch command as a standard program for any Linux operating system that is used to create, change, and modify the timestamps of a file. Let's take some examples of using the touch command to create an empty file test. You can use the command to check to change or update the last access and modification time of the file data. You can use the dash a option. For example. To check. Here, I used the option to show the last access time instead of the last modification time. Using the option sets the current time and date on a file. Here, if the data file doesn't exist, it will create a new empty file data. To avoid creating a new file, you can use the dash C option. For example. To check. This command will not create the file text if it doesn't exist. If you'd like to change only the modification time of the file test, then you can use the dash m option. For example. To check. Note, it will only update the last modification time of the test file and the access time will remain as it is. Touch command can also create any number of files simultaneously. For example, to create three new empty files named file one, file to file three, you can use the command to check. Thanks for viewing. 33. 5 Creating Directories: Creating directories, a way of keeping things in place as to give certain files specific default locations by creating directories and subdirectories or folders and sub folders if you wish. This is done with the MKDIR command. Now let's try MKDIR Archive. Let's check the creation of the archive directory by using the command LS dash LD archive. Here we use the d option to list directories only. The first part is the file type and access permissions. Next, the number of hard links. Then the owner of the file, the user group size in bytes, date and time, and directory name. To create more than one directory in one line inside the archive directory. First, change directory to archive. Then type MKDIR 2019, 2020, 2021. Let's check using the ls command. Creating directories and subdirectories in one step is done using the dash p option. If we tried without the dash p option, we will get an error. Mkdir 2019 slash reports slash new project. After pressing Enter, we will get an error. Cannot create directory. This is a result of not using the dash p option. By adding the dash p option to the previous command, MKDIR, dash p 2019 slash reports slash new project. Let's check ls 2019 slash reports. Keep in mind that Linux is a case-sensitive operating system. Thanks for viewing. 34. 6 Moving Files and Directories: Moving files. Now that we have properly structured our home directory, it is time to clean up in classified files using the MV command to move the MO file from the archive directory to the new project directory. We will use the command MV archive slash mo dot TXT, space archive slash 2019 slash reports slash new project. Let's check type ls. Thanks for viewing. 35. 7 Copying Files and Directories: Copying files. The cp command copy files from one location to another. If the destination as an existing file, then the file is overridden. And if the destination as an existing directory, the file is copied into the directory. The directory is not overwritten. The syntax for cp command is cp source destination. For example, CP test dot TXT 2020. To check ls 2020. A useful option as a recursive copy to copy all underlying files and subdirectories using the dash uppercase R option to the cp command. For example, CP dash our 2020, 2019 to check ls 2019 slash 2020. Thanks for viewing. 36. 8 Removing Files and Directories: Removing files and directories. The RM Linux command is used to remove and delete the file from the directory. The syntax used is RM options file or directory. Options for the RM command R dash F to remove all files in a directory without prompting the user. Dash I interacted with this option RM prompts for confirmation before removing any files. Dash R or dash uppercase R to recursively remove directories and subdirectories in the argument list. The directory will be empty to files and removed. The user is normally prompted for the removal of any right dash protected files that the directory contains. For example, to remove and delete a file, use RM followed by the filename, then press Enter. Here, RM command removed and deleted the file test. To delete a directory tree. For example, TMP directory RM dash ir, TMP. This RM command recursively removes the contents of all subdirectories of the TMP directory, prompting you regarding the removal of each file and then removes the TMP directory itself. To remove more files at once. Rm file one name, file to name and press Enter. Here. Rm command removed file one and file two at the same time. Rm DIR command. Rm DIR command is used to delete and remove empty directories. You can use ls dash a to check whether a directory is empty or not. The syntax says RMD IR options directory. You can use the dash p option with the RM DIR command to remove the directory and its parent directories which become empty. For example, RMD IR TMP. Here, RM DIR command will remove and delete the directory TMP if the directory is empty. Thanks for viewing. 37. 9 Finding Files and Paths: Finding files in a directory containing many files, you can check if there are any files beginning with the letter a, just by typing ls a and pressing the Tab key twice, rather than pressing Enter. If there is only one file starting with a, this file will be shown as the argument to ls or any shell command for that matter immediately. A very simple way of showing the full path of a given executable command is using the which command? The which command looks in the directories listed in the user's search path for the required file, which doesn't work for ordinary files. The syntax says which options program name, the which command is useful when troubleshooting command not found problems. For example, which ls then press Enter. Using the which command also checks to see if a command as an alias for another command. For example, which dash a, ls. Here we use dash a to print all matching executables in path. If this doesn't work on your system, use the alias command and check the result. Alias ls. Ls has alias to ls, dash, dash, color equal auto, find and locate. These are the real tools used when searching other paths besides those listed in the search path, the Find tool is very powerful, which may be the cause of a somewhat more difficult syntax. The file command not only allows you to search file names, but it can also accept file size, date of last change, and other file properties as criteria for a search. The most common uses for finding filenames. The syntax says find path options. For finding filenames, the syntax will be fine. Path, dash, name, search string. This can be interpreted as look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name, not in their content. For example, find dash name, test. Here, the system would search for any file name to test in the current directory and any subdirectory. Another example, type find slash, dash name test, then press Enter. Here. The system would search for any file name test on the root and all subdirectories from the root. And if we use this option, find dash name, asterisk, dash size plus 1, 0, 0, 0, 0. Here, the system would search for any file in the list that is larger than 100 kilobytes. Another application of find is for searching files of a certain size, as in the next example, where a user wants to find all files in the current directory or one of its subdirectories that are bigger than five megabytes. Find dot for the current directory. Dash size plus 5000 K. Find can also perform operations on the found files. A common example is removing files. It is best to first test without the dash exec option that the correct files are selected. To search for files ending in dot TMP. Find dot, dash name, asterisk, dot TMP, and press Enter. After that, the command can be rerun to delete the selected files. Find dot dash name, asterisk, dot TMP, dash, exec, RM, curly brackets, backslash, and press Enter. Here we used RM to delete all the files ending with TMP. Later on in 1999, after 20 years of fine locate was developed. This program is easier to use but more restrictive than fine, since its output is based on a file index database that is updated only once every day. On the other hand, a search in the locate database uses fewer resources than fine, and therefore shows the results nearly instantly. For example, locate alias, then press Enter. Most Linux distributions use locate these days, the abbreviation of security enhanced locate, the modern version of locate that prevents users from getting output. They have no right to read. Thanks for viewing. 38. 10 Linking Files: Linking files. A link is nothing more than a way of matching two or more filenames to the same set of file data. There are two ways to achieve this. They behave similarly but are not the same. First, hard link, a hard link associates two or more filenames with the same i-node. Each regular file is in principle a hard link. Also, hard link share the same data blocks on the hard disk while they continue to behave as independent files. There is an immediate disadvantage, which is hard links can't span across partitions since they refer to I nodes and I node numbers are unique within a given partition. Second, soft link or symbolic link, and soft link as a small file that has a pointer to another file. A symbolic link contains the path to the target file instead of a physical location on the hard disk. Since I nodes are not used in this system, soft links can span across partitions. Note that removing the target file for a symbolic link makes the link useless. Thanks for viewing. 39. 11 Creating Symbolic Links: Creating a symbolic link. The symbolic link is particularly interesting for beginning users. They're fairly obvious to see and you don't need to worry about partitions. The command to make links as LN. In order to create siblings, you need to use the dash S option. The syntax for the lm command is ls dash S, target file. Link name. For example, ls dash S slash OPT slash MP3 slash Mau, Mau. Here slash OPT slash MP3 slash demo is the target file and Mo is the link name. To check, we can type ls dash l. In this example, the user creates a link in a sub-directory of his home directory to a directory on another part of the system. Note that symbolic links are always very small files, while hard links have the same size as the original file. Thanks for viewing. 40. 0 Section Five Overview: Processes. After files, processes are the most important thing on any Linux system, including Ubuntu operating system. In this section, you will take a closer look at those processes and you will learn about multi-user and multitasking process types, interactive and automatic processes, demons and what they are. You will learn what pipes are and how to use them. The grep command and how to use it for searching particular information. The sort command and how useful it is in sorting the contents of files and directories in different ways. You'll learn about output filters, process attributes, displaying process information, the lifecycle of a process, controlling processes with different signals. The shutdown command, managing processes. Also, you will learn about using priority and niceness, CPU and memory resources, tuning system performance, network problems and disk input output problems, the categories of users and their effect on the system. System graphical tools, interrupting processes, scheduling processes, the sleep command and the command. 41. 1 Multi user and multi tasking: Multi-user and multitasking. An instance of a program is called a process. In simple terms, any command that you give to your Linux machine starts a new process. Not every command starts a single process. Some commands start as series of processes like Firefox. Others like the ls command are executed as a single command. Furthermore, a common policy and Linux has to have multiple users running multiple commands at the same time and on the same system. Thanks for viewing. 42. 2 Interactive processes: Process types. First, the interactive processes. Interactive processes are initialized and controlled through a terminal session. In other words, there has to be someone connected to the system to start these processes. They are not started automatically as part of the system functions. These processes can run in the foreground occupying the terminal that started the program. And you can't start other applications as long as this process is running in the foreground. Alternatively, they can run in the background so that the terminal in which you started the program can accept new commands while the program is running. Until now we mainly focused on programs running in the foreground, which the length of time taken to run them was too short to notice a command occupying the terminal session. In this case, the activated program is waiting for you to do something. The program is still connected to the terminal from where it was started. And the terminal is only useful for entering commands this program can understand. Other commands will just result in errors or unresponsiveness of the system. While a process runs in the background, however, the user has not prevented from doing other things in the terminal in which he started the program while it is running. The shell offers a feature called job control, which allows easy handling of multiple processes. This mechanism switches processes between the foreground and the background using the system. Programs can also be started in the background immediately. Running a process in the background is only useful for programs that don't need user input via the shao. Putting a job in the background is typically done when the execution of a job as expected to take a long time to free the issuing terminal after entering the command, a trailing ampersand has added. The full job control features are explained in detail in the Bash info pages. So only the frequently used job control applications are listed here. Using regular command means to run this command in the foreground. Using command followed by ampersand means running this command in the background and releasing the terminal. Using jobs command means showing commands running in the background. Pressing Control plus z means suspend, which means stop, but not quitting a process running in the foreground. Pressing Control plus C means interrupt, that means terminate and quit a process running in the foreground. Every process running in the background gets a number assigned to it. By using the percentage and expression a job can be referred to using its number. For instance, FG percentage two, where two is the job number. We use the bg command to reactivate a suspended program in the background. And we use the FG command to puts the job back in the foreground. Also, we use the kill command to end a process. To use the kill command to kill a process, use the syntax kill followed by the process ID. And you can use the kill command by using the syntax kilo followed by the process name. Thanks for viewing. 43. 3 Automatic processes: The automatic processes. Automatic or batch processes are not connected to a terminal. Rather, these are tasks that can be cued into a spooler area where they wait to be executed on a first in, first out basis. Such tasks can be executed using one of two criteria. First, at a certain date and time, done using the head command, which we will discuss later. Second, at times when the total system load is low enough to accept extra jobs. This is done using the batch command. By default, tasks are put in a queue where they wait to be executed until the system load is lower than 0.8 enlarge environments, the system administrator may prefer batch processing when large amounts of data have to be processed or when tasks demanding a lot of system resources have to be executed on an already loaded system. Batch processing is also used for optimizing system performance. I hope this has been informative for you and I'd like to thank you for viewing. 44. 4 Daemons: Demons, demons, or server processes that run continuously most of the time, they are initialized at system startup and then wait in the background until their services required. A typical example is the networking demon Zinedine, short for extended Internet service demon, which is started in almost every boot procedure. After the system is booted, the network demon just sits and waits until a client program, such as an FTP client needs to connect. I hope this has been informative for you and I'd like to thank you for viewing. 45. 5 Linux Pipes: Linux pipes. Anyone new to Linux might wonder, what role do pipes play in running the operating system? The vertical bar symbol denotes a pipe. If you want to use two or more commands at the same time and run them consecutively. You can use pipes. Pipes enables Linux users to create powerful commands which can perform complex tasks in a Jiffy. Let's understand this was an example. When you use the cat command to view a file that spans multiple pages, the prompt quickly jumps to the last page of the file and you do not see the content in middle. To avoid this, you can pipe the output of the cat command to less, which will show you only one scroll length of the content at a time. Cat, test pipe. Less. Also, you can use PG and more commands instead of less. For example, CAT test pipe more. More as a popular cross-platform terminal pager. More can move forward and backward in text files, but cannot move backward in pipes. Here, you can view the file indigestible bits and scroll down by simply hitting the Enter key. I hope this has been informative for you and I'd like to thank you for viewing. 46. 6 The grep command: The grep command. Suppose you wanted to search for particular information such as the postal code from a text file, you may manually skim the content yourself to trace the information. A better option is to use the grep command. It will scan the document for the desired information and present the result in the format you want. The syntax for the grep command is grep options, pattern, filename. Let's see it in action. Cat, test, pipe, grep. Here we use the grep command to search for Apple in the test file. Here, the grep command has searched the file test for the string apple. Following options can be used with this command. The dash v option shows all the lines that do not match the search string. The dash C option displays only the count of matching lines. The dash n option shows the matching line in its number. The dash I option matches both upper and lowercase. And the dash L option shows just the name of the file with the string. Let's try the dash I option on the test file. Cat, test pipe, grep, dash IA. Using the eye option, grep has filtered the string a from all of the lines and you must know that it is case insensitive. The head and tail commands. These two commands display the end first or last lines of a file respectively. To see the last ten commands, you can use the command tail, dash ten dot bash history. This command shows the last ten commands entered in the terminal and it gets them from the dot bash underscore history file. Also, the head command works similarly. Head dash ten dot bash history. Had here will show the first 10 commands in the Bash underscore history file. The tail command has a handy feature to continuously showed the last 10 lines of a file that changes all the time. This dash F option is often used by system administrators to check on log files. I hope this has been informative for you and I would like to thank you for viewing. 47. 7 The sort command: The sort command. This command helps in sorting out the contents of a file alphabetically. The syntax for this command is sort options filename. Consider the contents of the file test CAT test. To use the sort command on the file test type sort test. After using the sort command, it will be as shown. Options for the sort command R, dash R option for reverses sorting. Dash n option for sorts numerically. Dash F option for case insensitive sorting. I hope this has been informative for you and I'd like to thank you for viewing. 48. 8 Filter: Filter. A filter is taking the output from the first command to become the input for the second one. When you pipe two commands, the filtered output of the first command is given to the next. Let's understand this with help of an example. We have the following file, file. To show its content type. Cat file. We want to highlight only the lines that do not contain the character a, but the results should be in reverse order. For this, the following syntax can be used. Cat file, pipe, grep, dash VA, pipe, sort, dash r. Here I used CAD file to show the text file and grep dash VA to highlight only the lines that do not contain the character a and sort dash to show them in reverse order. Now, as you can see, filtered results are given to the next command. I hope this has been informative for you and I'd like to thank you for viewing. 49. 9 Process attributes: Process attributes. A process has a series of characteristics which can be viewed using the PS command. The PS command stands for process status. It is similar to the task manager that pop-ups in a Windows machine when we use Control Alt, Dao. The process attributes viewed by the PS command R, the process ID or PID, which is a unique identification number used to refer to the process. The parent process ID or PI PID, which is the process ID of the process that started this process. Carcp for CPU usage and scheduling information. Starters time for the time when the process started. Terminal or TTY, is the terminal to which the processes connected. Time for the amount of time the process used, the CPU expressed in minutes and seconds. Cmd for the name of the command that launched the process. To see the process status, you can use the command ps dash AF. The PS command is one of the tools for visualizing processes. We will continue talking about it later. Here, we use dash a to list the information about all processes most frequently requested. And we use the dash F option to generate a full listing. When a user starts a program, the process itself and all processes started by the initial process will be owned by the user and not by the system administrator. Normally in Linux, when a program runs, it inherits access permissions from the logged in user. I hope this has been informative for you and I'd like to thank you for viewing. 50. 10 Displaying process information: Displaying process information. The PS command is one of the tools for visualizing processes. Ps command is used to report the process status. It is the short name for Process Status. This command has several options that can be combined to display different process attributes. The PS command syntax is ps options. With no option specified. Ps only gives information about the current shell and eventual processes. Options used with the PS command R, dash a to list information about all processes most frequently requested. All of those except process group leaders and processes not associated with a terminal. Dash d option to list information about all processes except session leaders. Dash d option to list information about every process that is running now. Dash F option to generate a full listing. Dash j option to print session ID and process group ID. Dash l option to generate a long listing. We will usually select particular processes out of the list of all processes using the grep command in a pipe has in this line, which will select and display all processes owned by a particular user. Ps, dash, ef, pipe, grep, Mustafa. Note that ps only gives a momentary state of the active processes. It is a onetime recording. The relations between processes can be visualized using the PS3 command. The top command. The top program displays a more precise view by updating the results given by ps with a bunch of options once every five seconds, generating a new list of the processes causing the heaviest load periodically. Meanwhile, integrating more information about the swap space in use in the state of the CPU from the Procfile. It displays the total number of the running processes, sleeping processes, stopped processes, and zombie processes in the system. The syntax for the top command is top. Options. Options used with the top command R, dash B option to run in batch mode. Don't accept command line input. Dash C option to show the command line in the display instead of just the command name. Dash n option to update display NUM times, then exit dash I option to suppress display of idle and zombie processes. Dash p PID option to monitor only processes with the specified process ID. And dash S option for secure mode to disable some dangerous interactive commands. You can press Q on the keyboard at anytime to move out of the process display. The first line of top output contains the same information displayed by the uptime command. The terminology follows PID, the process ID of each task user, the username of the task owner. Pr priority can be 20 and that is the highest or minus 20 and that is the lowest. And I, the nice value of a task. Vert virtual memory used in KB, raise physical memory used in KB. And FSH are shared memory used in KB. S status, there are five types. D, uninterruptible sleep, are running, AES, sleeping, t traced or stopped, and z zombie. Percent CPU as percent of CPU time. Percent members for physical memory used. Time plus for total CPU time. And command for the command name. I hope this has been informative for you and I'd like to thank you for viewing. 51. 11 Process Creation: The life of a process. Process creation. A new processes created because an existing process makes an exact copy of itself. This child process has the same environment as its parent. Only the process ID number is different. This procedure is called forking. After the forking process, the address space of the child processes overwritten with the new process data. This is done through an exec call to the system. The fork and exec mechanism. The fork function clones the current process, creating an identical child. The exec function loads a new program into the current process. Replacing the existing one, thus switches and old command with a new one. While the environment in which the new program is executed remains the same, including the configuration of input and output devices, environment variables, and priority. This mechanism is used to create all Linux operating system processes. Even the first process in ITER system D with process ID one is 4k during the boot procedure. In the so-called bootstrapping procedure, the process ID changes after the fork procedure. There are a couple of cases in which it becomes the parent of a process. While the process was not started by innate or system d, as we already saw in the PS3 example. Many programs, for instance, demonize their child's processes so they can keep on running when the parents stops or as being stopped. A window manager, as a typical example, it starts an x term process that generates a shell that accepts commands. The Window Manager then denies any further responsibility and passes the child process to init or system d. Using this mechanism, it is possible to change window managers without interrupting running applications. Every now and then things go wrong. In an exceptional case, a process might finish while the parent doesn't wait for the completion of this process. Such an embedded processes called a zombie process. I hope this has been informative for you and I'd like to thank you for viewing. 52. 12 Ending Processes: Ending processes. When a process ends normally, it is not killed or otherwise unexpectedly interrupted. The program returns its exit status to the parent. This exit status as a number returned by the program providing the results of the program's execution. The returned codes can then be interpreted by the parent or in scripts. The values of the return codes are program-specific. This information can usually be found in the man pages of the specified program. For example, the grep command returns minus one if no matches are found, upon which a message on the lines of no files found it. Another example is the bash built-in command true, which does nothing except return and exit status of 0, meaning success. I hope this has been informative for you and I'd like to thank you for viewing. 53. 13 Signals: Signals processes and because they receive a signal, there are multiple signals that you can send to a process. We use the kill command to send a signal to a process. The command kill dash l shows a list of signals. Most signals are for internal use by the system or programmers when they write code. As a user, you will need the following signals. The common signals in Linux are sig term number 15 is used to terminate the process in an orderly way. Sigint number to use to interrupt the process, but the process can ignore the signal. Sigkill number nine used to interrupt the process, but a process cannot ignore the signal. Sig hub number one used for demons to reread the configuration file. You can read more about default actions that are taken when sending a signal to a process using the command man 7 signal. I hope this has been informative for you and I'd like to thank you for viewing. 54. 14 Shutdown: Shut down. Linux was not made to be shut down, but if you really must, you can use the shutdown command. Popular options that can be added to the shutdown command, R, dash H option to halt the system. And dash R option to reboot the system. The reboot and halt commands are now able to invoke shut down if run when the system is in R1 levels one to five, and thus ensure proper shutdown of the system. But it is a bad habit to get into, as not all Linux versions have this feature. If your computer does not power itself down, you should not turn off the computer until you see a message indicating that the system has halted or finished shutting down. This is done to give the system the time to unmount all partitions and take care of that. Being impatient may cause data loss. Thanks for viewing. 55. 15 Managing Processes: Managing processes. It doesn't hurt a common user to know something about it, especially where his or her processes and their optimal execution are concerned. Now, we will study the daily problems are common user has confronted with an action such a user can take to optimally use the resources available. This is mainly a matter of thinking before acting about time taken to execute a command. Bash offers a built-in time command that displays how long a command takes to execute. The timing is highly accurate and can be used on any command. In our example, you can see the time taken to run this command about system performance to a user. Performance means quick execution of commands. A system manager, on the other hand, it means much more. The system admin has to optimize system performance for the whole system, including users, all programs and demons. System performance can depend on a 1000 tiny things which are not accounted for with the time command, such as the program executing is badly written or does not use the computer appropriately. Access to disk controller's display and all kinds of interfaces. Reachability of remote systems means network performance, amount of users on the system and amount of users working simultaneously, time of day and others. About system load. In short, the load depends on what is normal for your system. There's only one way to find out. Check the load regularly if you want to know what's normal. If you don't, you will only be able to measure system load from the response time of the command line, which is a very rough measurements since this speed is influenced by a 100 other factors. Keep in mind that different systems will behave differently with the same load average. For example, a system with a graphics card supporting hardware acceleration will have no problem rendering 3D images. While the same system with a cheap VGA card will slow down tremendously while rendering. Now, what can you do as a user? A big environment can slow you down. If you have lots of environment variable set, long search paths that are not optimized. And more of those sittings that are usually made on the fly. The system will need more time to search and read data. In x window managers and desktop environments can be real CPU eaters. A fancy desktop comes with a price, even when you can download it for free, since most desktops provide add-ons, ad infinitum, modesty is a virtue if you don't buy a new computer every year. Thanks for viewing. 56. 16 Managing Process Priority & Niceness: Priority and niceness. The priority or importance of a job as defined by its nice number. A program with a high nice number as friendly to other programs, other users in the system, and it is not an important job. The lower the nice number, the more important a job as in the more resources it will take without sharing them. Making a job nicer by increasing its nice number is only useful for processes that use a lot of CPU time, such as compilers, math applications, and the like. Processes that always use a lot of input-output time are automatically rewarded by the system and given a higher priority, which means a lower nice number, for example, keyboard input always gets the highest priority on a system. The default value of all the processes is 0. To start a process with a niceness value other than the default value, you can use the syntax, nice dash n, nice value, process name. If there is some process already running on the system, then you can recognize its value using the syntax. Really nice, nice value, dash p PID. To change niceness, you can use the top command to determine the process ID and it's nice value. Later use the nice command to change the value. Apart from using the nicer real nice commands. The top command as an easy way of stopping the troublesome processes and reducing priority. Identify the process in the nice column. Press R. Then enter the process ID of the process that you want to recognize. Then enter the nice value. I hope this has been informative for you and I'd like to thank you for viewing. 57. 17 Managing Process CPU Resources: Cpu resources. On every Linux system, many programs wanted to use the CPUs at the same time. Even if you are the only user on the system. Every program needs a certain amount of cycles on the CPU to run. There may be times when there are not enough cycles because the CPU is too busy. The uptime command as wildly inaccurate, it only displays averages and you have to know what is normal, but far from being useless. There are some actions you can undertake if you think your CPU is to blame for the unresponsiveness of your system. Try running heavy programs when the load is low. Prevent the system from doing unnecessary work such as stopping demons and programs that you don't use. Also, using locate instead of a heavy, fine, try running big jobs with a low priority. If none of these solutions as an option in your particular situation, you may want to upgrade your CPU. Thanks for watching. 58. 18 Managing Process Memory Resources: Memory resources. When the currently running processes expect more memory than the system has physically available, a Linux system will not crash. It will start paging or swapping. Meaning the process uses the memory on disk or in swap space, moving contents of the physical memory, which are pieces of running programs or entire programs to disk in case of swabbing. Thus reclaiming the physical memory to handle more processes. This slows the system down enormously, since disk accesses much slower than memory access. The top command can be used to display memory and swap use. If you find that a lot of memory and swap space is being used, you can try first killing, stopping, or renaming those programs that use a big chunk of memory. Second, adding more memory and in some cases more swap space to the system. Thanks for watching. 59. 19 Tuning System Performance: Tuning system performance. While input-output limitations are a major cause of stress for system admins, the Linux system offers rather poor utilities to measure input output performance. The ps, VM stack and top tools give some indication of how many programs are waiting for input output. Netstat displays network interface statistics, but there are virtually no tools available to measure the input output response to system load. And the IO stat command gives a brief overview of general input output usage. Each device has its problems, but the bandwidth available to network interfaces and the bandwidth available to discs are the two primary causes of bottlenecks in input-output performance. Thanks for watching. 60. 20 Network Problems: Network input output problems. Network overload occurs when the amount of data transported over the network is larger than the network's capacity, resulting in the slow execution of every network related task for all users. This can be solved by cleaning up the network, which mainly involves disabling protocols and services that you don't need or by reconfiguring the network. For example, the use of subnets, replacing hubs with switches, upgrading interfaces, and equipment. Network integrity problems. This occurs when data is transferred incorrectly. Solving this kind of problem can only be done by isolating the faulty element and replacing it. Thanks for watching. 61. 21 Disk IO Problems: Disk input, output problems. I will divide this into two parts. First, if the PR process transfer rate is too low, this means read or write speed for a single process is not sufficient. Second, if the aggregate transfer rate is too low, then the maximum total bandwidth that the system can provide to all programs that run is not enough. This kind of problem is more difficult to detect and usually takes extra hardware to read divide data streams over buses, controllers, and disks if the overloaded hardware as the cause of the problem. One solution to solve this as a raid array configuration optimized for input and output actions. This way, you get to keep the same hardware and upgrade to faster buses, controllers, and disks as usually the other option. If an overload is not the cause, maybe your hardware is gradually failing or not well connected to the system. Check contacts, connectors and plugs to start with. Thanks for watching. 62. 22 Users: Linux users. Users can be divided into several classes depending on their behavior with resource usage. First, users who run a large number of small jobs or the beginning Linux users. Second, users who run relatively few but large jobs. For example, users running simulations, calculations, emulators, or other programs that eat a lot of memory. And usually these users have accompanying large data files. Third, users who run few jobs but use a lot of CPU time such as developers and the like. You can see that system requirement may vary for each class of users and that it can be hard to satisfy everyone. If you are on a multi-user system, it is useful and fun to find out the habits of other users in the system to get the most out of it for your specific purposes. Thanks for watching. 63. 23 Graphical Tools: Graphical tools. For the graphical environment, there are a whole bunch of monitoring tools available, such as the gnome system monitor, which has features for displaying and searching process information and monitoring system resources. X load as another small x application for monitoring system load, you can search and find your favorite. 64. 24 Interrupting Processes: Interrupting processes. As a non privileged user, you can only influence your processes. We already saw how you can display processes and filter out processes that belong to a particular user and what possible restrictions can occur when you see that one of your processes as eating too much of the system's resources, there are two things that you can do. First, make the process use fewer resources without interrupting it, or stop the process altogether. In the case you want the process to continue to run, but you also want to give the other processes on the system a chance. You can recognize the process. Examples of processes that you want to keep on running our emulators, virtual machines, compilers, and so on. If you want to stop a process because it hangs or as going berserk in the way of input-output consumption, file creation, or use of other system resources. Use the kill command. If you have the opportunity, first tried to kill the process softly sending it the SEC term signal. Some processes are a little bit harder to get rid of. If you have the time, you might want to send them the SIGINT signal to interrupt them. If that does not do the trick either, use the strongest signal SIGKILL. In such cases, you might want to check that the processes dad using the grep filter again on the pet. If this only returns the grep process, you can be sure that you succeeded in stopping the process. Where you can check that the process has disappeared using the top command. Another way of killing of processes using the top program. You can kill unneeded or hanging processes by pressing K type the process ID. Then choose between sink term using number 15 or SIGKILL using number nine and press Enter. As you see, the process killed is removed among the processes that are hard to kill as your shell and that is a good thing. If they would be easy to kill, you would lose your shell every time you use Control C on the command line accidentally, since this is equivalent to sending a SIGINT. In a graphical environment, the x killed program is very easy to use. Just type the name of the command followed by an enter and select the window of the application that you want to stop. It is rather dangerous because it sends a SIGKILL by default. So only use it when an application hangs. I hope this has been informative for you and I'd like to thank you for viewing. 65. 25 Scheduling Processes: Scheduling processes. A Linux system can have a lot to suffer from, but it usually suffers only during office hours, whether in an office environment, a server room, or at home. Most Linux systems are just idling away during the morning, the evening, the nights and weekends. Using this idle time can be a lot cheaper than buying those machines you'd need if you want everything done at the same time. There are three types of delayed execution. First, wait a little while, and then resume job execution using the sleep command. In this case, execution time depends on the system time at the moment of submission. Second, running a command at a specified time using the command. In this case, the execution of the jobs depends on system time, not the time of submission. And third, regularly running a command on a monthly, weekly, daily, or hourly basis using the Cron facilities. Thanks for watching. 66. 26 The sleep command: The sleep command the sleep command info page is probably one of the shortest there is. All sleep does as weight. By default, the time to wait as expressed in seconds. Some practical examples. If you have an appointment after half an hour, but you are about drowned in work as it is. And don't want to forget your lunch. You can enter this command. Sleep 8800, echo, lunchtime, ampersand. This will show you a lunchtime alert after one hundred and eight hundred seconds, meaning 30 minutes. When you can't use the command for some reason, you want to go home, but there's still work to do. And right now somebody is eating system resources. You can type, sleep. 10 thousand. Echo. The name of your program, ampersand, followed by enter. This will make your program search automatically after 10 thousand seconds. Make sure there's an auto logged out on your system and that you log out or lock your desktop or office when submitting this kind of job or run it in a screen session. When you run a series of printouts of large files, but you want other users to be able to print in between. You can use sleep between them. For example, LP, the name of the first file, sleep 1, 0, 0, 0, 0, LP. The name of the second file. Sleep, 1, 0, 0, 0, 0, LP, the name of the third file. Here we use the sleep command in-between printing our large files to make other users able to print in between. Programmers often use the sleep command to halt script or program execution for a certain time. Thanks for viewing. 67. 27 The at command: The command, the command executes commands at a given time using your default shell unless you tell the command otherwise. The options to at a rather user-friendly, which is demonstrated in this example. At tomorrow plus two days, press Enter. The ad prompt will be opened to enter the commands you want to execute. Cat, test, pipe, grep, apple. Then press Control D to quit. Using Control D quits the utility and generates the end of transmission message. Got. Another example at 420, cd slash home, followed by Enter Control D. Here we use the command to execute commands at a certain time. Dash m option sends mail to the user when the job is done or explains when a job can't be done. We can use the bq command to list jobs performed this command before submitting jobs to prevent them from starting at the same time as others. Also, with the 80 RM command, you can remove scheduled jobs if you change your mind. I hope this has been informative for you and I'd like to thank you for viewing. 68. 0 Section Six Overview: Input and output redirection. In this section, you will learn about Linux regular expressions, what they are, how to use them. You will learn more about the powerful Linux mechanism of redirecting input, output and errors. This will include standard input, output and errors. Redirection operators using the output of one command as input for another. How to put the output of a command in a file for later reference. How to append the output of multiple commands to a file. Input redirection, how to handle standard error messages. How to combine redirection of input, output and error streams. 69. 1 Linux Regular Expressions: Linux regular expressions. Regular expressions are special characters that help search data matching complex patterns. Regular expressions are shortened as reg EXP or Reg ax. It is important to learn regular expressions for writing scripts. For ease of understanding, let's learn the different types of RegEx, one-by-one. Basic regular expressions. Some of the commonly used commands with regular expressions are TR, SED, V, and grab. Some of the basic RegEx. The dot symbol replaces any character. The carrot symbol matches the start of the string. The dollar sign symbol matches the end of the string. The asterisk symbol matches up 0 or more times the preceding character. The backslash symbol represents special characters. The open and close parenthesis symbol groups regular expressions. The question mark symbol matches up exactly one character. Let's see an example. First, let's show the file, file one content. Execute cat file one. To search for content containing the letter a. Cat file one, pipe grep a. To search for content, start with a, I will use carrot as carrot matches the start of a string. Cat file one pipe grep, carrot a. To select only those lines that end with T, I will use the dollar sign symbol as in this example, cat file one, pipe, grep, t, dollar sign, interval, regular expressions. These expressions tell us about the number of occurrences of a character in a string. They are an inside curly braces match the proceeding character appearing n times exactly. N m inside curly braces matches the preceding character appearing n times, but not more than m. N inside curly braces matches the preceding character only when it appears end times or more. For example, to filter out all lines that contain the character P, cat file one pipe grep p. If we want to check that the character p appears exactly two times in a string, one after the other. For this, the syntax will be cat file one, pipe, grep, dash, uppercase E, p, backslash to between curly braces. Note that you need to add uppercase E with these regular expressions. Extended regular expressions. These regular expressions contain combinations of more than one expression. Some of them are backslash plus matches one or more occurrences of the previous character. Backslash question mark matches 0 or one occurrence of the previous character. For example, for getting all characters T in the file, cat, file one pipe grep t. Suppose we want to filter out the lines where the character a precedes the character t. We can use the command cat file one, pipe, grep, a backslash plus t brace expansion. The syntax for brace expansion as either a sequence or a comma separated list of items inside curly braces. The starting and ending items in the sequence are submitted by two periods. Let's take some examples. In the coming examples, the echo command creates strings using the brace expansion. Echo, AA, BB, CC, DD, between curly braces. Another example, echo a double dot z between curly braces. Another example, eco 0, double-dot 10 between curly braces. Last example, eco a 0 double-dot 10 between curly braces b. I hope this has been informative for you and I'd like to thank you for viewing. 70. 2 Simple Redirections: Simple redirections. Most Linux commands read the input, such as a file or other attribute of the command and write the output. By default, the input is being given with the keyboard and output is displayed on your screen. Your keyboard as your standard input device. And the screen or a particular terminal window is the standard output device. However, since Linux as a flexible system, these default settings don't necessarily have to be applied. Redirection is done using either the greater than symbol or using the pipe operator sends the standard output of one command to another command is standard input. By redirecting this output to a file, this file name will be created or overwritten if it already exists. So take care. Let's take an example. First, I will enter pseudo dash S command to become a root user to get administrator privileges. Then I will create two different files and put some words in each file. Let's check cat test1 and cat test2. Now to redirect the output of test1 and test2 to a new file Test 3. Cat test1, test2 greater than symbol. Test3. To check cat, test3. Take care of that. Redirecting nothing to an existing file is equal to emptying the file. For example, ls dash l file greater than symbol file. To check ls dash l file. This process is called truncating. The same redirection to a non-existent file, we'll create a new empty file with the given name ls dash l. New file has shown no such file or directory. But after using the redirection operator, the file is created. Let's take some examples using piping of commands to find a word within some text. Display all lines matching pattern one, and exclude lines also matching pattern to from being displayed. The syntax will be grep pattern one file, pipe grep dash v pattern to. Here I use dash v option with pattern two to select non-matching lines. To display the output of a directory listing one page at a time. Use this syntax, LS, dash LA, pipe less. I use dash L to use a long listing format. And dash j means all to not ignore entries starting with a period. To find a file in a directory, use ls dash l, pipe, grep, followed by a part of the filename, input redirection. In another case, you may want a file to be the input for a command that normally wouldn't accept a file is an option. This redirecting of input is done using the less than symbol operator. An example of sending a file to somebody using input redirection. Male at gmail.com less than symbol. Myfile. Example of combining input and output redirection, the file test.txt is first check for spelling mistakes and the output is redirected to an error log file. Spell less than test.txt, greater than Error dot log. Again, make sure you don't use the names of existing files that you still need. Redirecting output to existing files will replace the content of those files. The append operator, instead of overriding file data, you can also append text to an existing file using two subsequent greater than signs. For example, I will create a file myfile and put some words inside it. The date command is used to show the date and time. Now I will append the result of the date command to myfile. Date. Append my file. If we open myfile again using cat command, cat myfile, the result would be, as you see, the date command result as the last line shown in the file myfile. I hope this has been informative for you and I'd like to thank you for viewing. 71. 3 Advanced Redirection filters: The advanced redirection filters use of file descriptors. There are three types of input output, which each have their identifier called a file descriptor. Standard input file descriptor 0, standard output file descriptor 1, and standard error file descriptor to. In the following description. If the file descriptor number is omitted and the first character of the redirection operator as the less than sign. The redirection refers to the standard input file descriptor 0. And if the, the character of the redirection operator as the greater than sign, the redirection refers to the standard output file descriptor 1. Some practical examples will make this more clear. Ls greater than sign, list, two, greater than sign, ampersand 1. This will direct both standard output and standard error to the file list. While the command ls to greater than sign ampersand one greater than sign list will only direct standard output to file list. This can be a useful option for programmers. The use of the ampersand here merely serves as an indication that the number that follows is not a filename, but rather a location that the data stream is pointed to. Also note that the bigger than sign should not be separated by spaces from the number of the file descriptor. If it would be separated, we would be pointing the output to a file. Again. This example would demonstrate this. Ls two greater than TMP. Now, to check that the TMP file is created, ls dash l TMP. Now, if we enter ls to greater than TMP, we will get no such file or directory. The first command I executed as correct even though no errors are generated and thus the file to which standard error is redirected as empty. The second command expects that too is a filename which does not exist. In this case, an error is displayed. Analyzing errors. If your process generates a lot of errors, this is a way to thoroughly examined them. The syntax will be Command 2 greater than ampersand, one pipe less. This is often used when creating new software using the make command, such as in this case, the command will be make. Two greater than ampersand one pipe less. Separating standard output from standard error. Constructs like these are often used by programmers so that output is displayed in one terminal window and errors in another. Find out which pseudo terminal you are using by issuing the TTY command first. Then type. Make two greater than slash dev slash PTS slash the number of pseudo terminal you are using. Writing to output and file simultaneously. You can use the t.test command to copy input to standard output and one or more output files in one move. Using the dash a to t results in appending input to the file. This command is useful if you want to both see and save the output. The redirection output and append operators do not allow to perform both actions simultaneously. This tool is usually called on through a pipe, as in this example. Date pipe, T, file one, File two. Let's check file one and file two, cat, file one, cat file 2. Now let's append the uptime command result to file to uptime, pipe. T dash a file to cat, file to. As you see, the uptime command results are appended to file too. Thanks for viewing. 72. 0 Section Seven Overview: Text editors. In this section, I will discuss the importance of mastering and editor. Then I will show you the easy way to learn the popular Vim editor. 73. 1 Text Editors: Text editors, it is very important to be able to use at least one text mode editor. Knowing how to use an editor on your system as the first step toward independence. As an advanced user, you may want to start writing scripts or books, develop websites or new programs. Mastering and editor will immensely improve your productivity as well as your capabilities. Our focus is on text editors, which can also be used on systems without a graphical environment and in terminal windows. The additional advantage of mastering a text editor as in using it on remote machines. Since you don't need to transfer the entire graphical environment over the network, working with text editors improves network speed. But if you insist on using a graphical text editor, you can try g edit k, edit k, right, or x edit. These programs only do text files, which is what we will be needing. If you plan on doing anything serious, though, stick to a real text mode editor such as Vim or Emacs. An acceptable alternative as G VM, the known version of Vim. Thanks for viewing. 74. 2 The easy way to vim: The easy way to learn Vim editor. Instead of reading the text, which is very boring, you can use Vim tutor to find out your first Vim commands. This is a 30-minute tutorial that teaches basic Vim functions in eight easy exercises. While you can't learn everything about them in just half an hour, the tutor is designed to prescribe enough commands. You will be able to use Vim easily as an all-purpose editor. On Linux. If vim is installed correctly, you can start this program from the shallow or command line by entering the Vim tutor command. This will create a copy of the tutor file so that you can edit it without risking damaging the original file. There are a few translated versions of the tutor to see if your devices available or not use the two letter language code. For example, this will be Vim tutor FOR, for French if it is installed on your system. Thanks for viewing. 75. 0 Section Eight Overview: Ubuntu virtual terminals. In this section, you will learn what are the virtual terminals, the use of virtual terminals, how to access and utilize them. Virtual terminal shortcuts. 76. 1 Ubuntu Virtual Terminal: Ubuntu virtual terminal. Ubuntu as a multi-user system that allows many users to work on it simultaneously. So what if different users need to work on the same system at a time? How do you do that? This is where we need the virtual terminals. So let's talk about them. Virtual terminals are similar to the terminal that you have been using so far. They are used for executing commands and offering input. The only difference is that you can't use the mouse with the virtual terminals. Therefore, you need to know the keyboard shortcuts. Virtual terminals enabled several users to work on different programs at the same time on the same computer. This is the reason they are one of the most distinguished features of Linux. Thanks for viewing. 77. 2 Starting Virtual Terminals: Starting a virtual terminal. Let's learn how to access and utilize the virtual terminals. Usually, there are six default virtual terminals on a Linux operating system, and you can login to them as different users to conduct different tasks. Let's try starting a virtual terminal. Press Control, Alt F6. Enter the username and the password. Now, the virtual terminal is ready to work on. You can navigate between the six virtual terminals using Control Alt and choose from F2 to F6 keys as the first virtual terminal, while F6 as the last one. You can work on all of the virtual terminals at the same time to know which virtual terminal you're working on. Note TTY given at the top. Tty is the teletype number that represents the name of the terminal you're using. You can also get it by typing the command TTY. The first terminal is the one that we have been using so far. And it can be accessed again by pressing the key combination. Control, Alt F1. I hope this has been informative for you and I'd like to thank you for viewing. 78. 3 Virtual Terminal Shortcuts: Virtual terminal shortcuts. These are some of the shortcuts that you should be aware of while working on virtual terminals. Press home or Control a to move the cursor to the start of the current line. Press Enter Control E to move the cursor to the end of the current line. You can press Tab to autocomplete commands. Press Control U to erase the current line. Press Control W to delete the word before the cursor. Press Control K to delete the line from the cursor position to the end. You can type reset to reset the terminal. Type history to get a list of commands executed by the user. Press arrow up to scroll up in history and enter to execute. Press arrow down to scroll down in history, followed by Enter to execute. Press Control D to log out from the terminal and press Control Alt Del to reboot the system. I hope this has been informative for you and I'd like to thank you for viewing. 79. 0 Section Nine Overview: Ubuntu Linux communication utility section overview. While working on Linux operating system, you may need to communicate with other devices. For this, there are some basic utilities that you can make use of. These utilities can help you communicate with networks, other Linux systems, and remote users. So let's learn them one by one. 80. 1 The Ping Command: The pink command. This utility is commonly used to check whether your connection to the server is healthy or not. It is also used in analyzing network and host connections, tracking network performance and managing it. Testing hardware and software issues. The command syntax is paying options. Host name or IP address. The host names and IP addresses are identified in the slash, ETC, slash hosts file. Commonly used options for this command R, dash J to make ping audible BPH time responses received. Dash C, count option to stop after sending count echo request packets. With the deadline option, ping waits for count echo reply packets until the timeout expires. And dash n option to show network addresses as numbers. Ping normally displays addresses as host names. Now let's take some examples. Let's try pinging google pain, www.google.com. Here the system has sent 64 bytes of data packets to the host name of Google. If even one of the data packets does not return or is lost, it would suggest an error in the connection. Usually, Internet connectivity is checked using this method. You may press control C to exit from the ping loop. Let's try the dash C option. Pane, dash c, 3. Google.com. In this example, display echo request three times only because we set to account for three. And now let's try the dash n option. Ping dash n, google.com. Here the network addresses display as numbers showing google.com IP address. I hope this has been informative for you and I'd like to thank you for viewing. 81. 2 The Ftp Command: The FTP command. Ftp stands for File Transfer Protocol. It's the most preferred protocol for data transfer amongst computers. You can use FTP for logging and establishing a connection with a remote host, uploading and downloading files, navigating through directories and browsing the contents of their directories. The syntax to establish an FTP connection with a remote host is FTP, domain name or IP address. Establishing an FTP connection. To connect to the FTP server, you have to type in the terminal window FTP, than the domain name or IP address of the FTP server. Once you enter this command, it will ask you for authentication via username and password. For example, FTP, test.py WebEx dotnet, test dot Webex dotnet as read only used for testing rebuffs components to list directory and download. Here the username is demo and the password is password. Once the connection is established and you're logged in, you may use the following commands to perform different actions. Ls command to list directories with security settings. Dir command to display files in the current directory or the remote computer. Cd directory name command and change the current directory to another directory on the remote computer. Put file command to upload a file from local to the remote computer. Get file command to download a file from remote to the local computer. And quick command to logout to a board of file transfer use the terminal Interrupt key Control C. Note that and FTP transmission is not encrypted. Anyone who intercepts the transmission can read the data you send, including your username and password. So take care. Thanks for viewing. 82. 3 The telnet Command: Telnet. The TELNET program as a user interface to the telnet protocol. The telnet command is used for interactive communication with another host. Using the telnet protocol. It helps to connect to a remote Linux computer, run programs remotely and conducted administration. This utility is similar to the remote desktop feature found in Windows machine. The syntax for this utility is Telnet, host name or IP address. Once authenticated, you can execute commands just like you have done so far using the terminal. The only difference as if you are connected to a remote host, the commands will be executed on the remote machine and not your local machine. You may exit the telnet connection by entering the logout command. Thanks for viewing. 83. 4 The telnet Command Troubleshooting: The telnet command troubleshooting. If the telnet command didn't work with you or you received an error message like unable to connect to remote host connection refused. You can do the following steps to solve the problem. First, installed Telnet D and TCP d using these commands in the main OS terminal, sudo apt install x I met D, Telnet D, sudo apt dash gap install TCP D. Then create the following file using your chosen text editor. Vi slash ETC slash XI net d dot d slash Telnet. Add this content to the created File. Save and Exit. Then use this command to restart the telnet server in the Meno ass, pseudo slash, ETC, slash in it, dot d slash XI net D, restart. Try connecting to local host using the telnet command. Telnet localhost. If you still having a problem, then you may need to ensure that the machine that you are connecting two doesn't block the standard Telnet port 23. If so, you will need to open the port in the Ubuntu firewall, you FW by using the command UNSW, allow 23 slash TCP. I hope this has been informative for you and I would like to thank you for viewing. 84. 5 The ssh Command: The SSH command. Ssh stands for secure shell. It is used to securely connect to a remote computer. Compared to Telnet, SSH is secure, wherein the client and server connection is authenticated using a digital certificate and passwords are encrypted. Hence, it's widely used by system administrators to control remote Linux servers. The syntax to login to a remote Linux machine using SSH. Ssh, remote username at IP address or remote host name. Once you are logged in, you can execute any commands that you do in your terminal. Thanks for viewing. 85. 6 The ssh Command Troubleshooting: The SSH command troubleshooting. If the SSH command didn't work with you or you received an error message. You can enter the following commands to solve the problem. Pseudo app.get, purge, open SSH server, sudo apt-get, install open SSH server. Then try connecting to local host using the SSH command. Ssh, remote username at localhost, or SSH, remote username at IP address. Thanks for viewing. 86. 0 Section Ten Overview: Ubuntu administration. In this section, you will learn some important basic jobs of the Ubuntu system administrator. How to create a user, how to delete and disable an account, adding and removing users from the user groups. File security ownership in Ubuntu files. File permissions, the chmod command, using absolute and symbolic modes, changing ownership and grew, finding out file properties and changing file permissions for security. 87. 1 Creating a User: Creating a user. In Linux, every user is assigned an individual account that contains all his files, information, and data. You can create multiple users in a Linux operating system. First, by using the terminal. We will use the command sudo add user. For example. Sudo add user test. Now the new account test is created. Second, creating a user using a graphical user interface. Go to the System Settings. From details, select users. Click on the unlock icon and enter the password when prompted. Then click authenticate. Click on the Add User button. A new window would pop up asking you for adding information to the new user account. The account type offers two choices, standard and administration. If you want the new user to have administrative access to the computer selected administrator as the account type. Administrators can do things like add and delete users, install software and drivers and change the date and time. Otherwise, choose standard, fill in the full name, username, and click on create. The new account would show but would be disabled by default. To activate it, click the password option and add a new password. Click change to enable the account. I hope this has been informative for you and I'd like to thank you for viewing. 88. 2 Delete and disable an account: Deleting and disabling an account. First by using the terminal. For disabling an account using terminal, remove the password set on the account, pseudo, PAS, FWD, dash L username. And to delete an account, use the command sudo user del, dash our username. Second, Delete and disable an account using the graphical user interface. Highlight the user account and click the Remove user button to delete. And you would get this prompt. I hope this has been informative for you and I'd like to thank you for viewing. 89. 3 Adding and Removing users from the usergroups: Adding users to the user groups. You can view the existing groups on your Linux operating system by entering this command group mode and pressing the Tab key twice. Now, to add a user to a group, use this syntax. Pseudo user mode. Dash, a, dash, uppercase G, group name, username. We use the dash uppercase G option to add a supplementary group. And we use the dash a option to add the user to the supplementary groups used only with the dash uppercase G option. For example. Pseudo user mode, dash a dash uppercase G, test, duty, where test is the group name and Judy is the username. You can check whether the user is in a group by the command cat. Forward slash, ETC, forward slash group. Removing a user from a user group. For removing a user, you can use this syntax. Sudo del user, user group name. For example. Pseudo del user duty test. Where Judy is the username and test as the group name. I hope this has been informative for you and I'd like to thank you for viewing. 90. 4 File Security: File security. On a Linux system, every file is owned by a user and a group user. There is also a third category of users, those that are not the user owner and don't belong to the group owning the file. For each category of users, read, write, and execute permissions can be granted or denied. We already used the long option to list files using the ls dash l command, though for other reasons. This command also displays file permissions for these three user categories. They are indicated by the nine characters that follow the first character, which is the file type indicator at the beginning of the file properties line. As you see, the first three characters in this series of nine display access rights for the actual user that owns the file. The next three are for the group owner of the file. The last three are for other users. The permissions are always in the same order. Read, write, and execute for the user, the group, and the others. For Effective Security, Linux divides authorization into two levels. The first level is ownership and the second level is permission. The concept of permissions and ownership as crucial in Linux. I hope this has been informative for you and I like to thank you for viewing. 91. 5 Ownership in Ubuntu files: Ownership in Linux Files. Every file and directory in your Linux system as assigned three types of owners, user, group and others. First, the user. The user as the owner of the file. By default, the person who created a file becomes its owner. Hence, a user is also sometimes called an owner. The group. The user group can contain multiple users. All users belonging to a group will have the same access permissions to the file. Suppose you have a project where a number of people require access to a file. Instead of manually assigning permissions to each user, you could add all users to a group and assign group permission to file such that only this group members and no one else can read or modify the files. Other is any other user who has access to a file. This person has neither created the file nor belongs to a user group that could own the file. Practically, it means everybody else. Hence, when you set the permission for others, it is also referred to as set permissions for the world. Now, the big question arises, how does Linux distinguish between these three user types so that a user, I cannot effect a file that contains some other user B's vital information or data. It is like you do not want your colleague who works on your Linux computer to view your personal images. This is where permission set in and they define user behavior. I hope this has been informative for you and I'd like to thank you for viewing. 92. 6 Permissions: Permissions. Every file and directory in your Linux system has the following three permissions defined for all the three owners discussed before. Read, write, and execute. The read permission gives you the authority to open and read a file. Read permission on a directory gives you the ability to list its content. The write permission gives you the authority to modify the contents of a file. And the write permission on a directory gives you the authority to add, remove, and rename files stored in the directory. Consider a scenario where you have write permission on the file, but do not have write permission on the directory where the file is stored. You will be able to modify the file contents, but you will not be able to rename, move, or remove the file from the directory. The execute permission in Windows and executable program usually has an extension dot EXE, which you can easily run. But in Linux, you can't run a program unless the execute permission is sad. If the execute permission has not set, you might still be able to see or modify the program code provided that read and write permissions are set, but you can't actually run it until you have the execute permission. Let's see this in action. Ls dash l. Here. As you can see, the highlighted permissions tell us about the permissions given to the owner user group and the world. Here, the first dash implies that we have selected a file. Else, if it was a directory, d would have been shown. The characters are pretty easy to remember. R for read permission, w for write permission, x for execute permission. And a dash means no permission. By Design, many Linux distributions like Fedora, CentOS, Ubuntu, we'll add users to a group of the same group name as the username. Thus, a user with a name test is added to a group named test. I hope this has been informative for you and I'd like to thank you for viewing. 93. 7 chmod Command: The chmod command, changing file or directory permissions is done using the chmod command. Say you do not want your colleague to see your personal images. This can be achieved by changing file permissions using the chmod command, which stands for change mode. Using this command, we can set permissions, read, write, and execute on a file or directory for the owner, group and the world. The syntax for this command is chmod permissions, filename. There are two ways to use the command, absolute mode and symbolic mode, which will be discussed in the next lesson. I hope this has been informative for you and I'd like to thank you for viewing. 94. 8 Absolute(Numeric) Mode: Absolute mode. In this mode, file permissions are not represented as characters, but as a three digit octal number. In this table, numbers are used for all of the permissions types. Number 0 means no permission. The symbol is three dashes for read, write, and execute. Number one means execute only the symbol as dash dash X. Number 2 means right only the symbol is dash w dash number 3 means execute plus write. The symbol is dash wx. Number 4 means read-only. The symbol is R dash, dash. Number 5 means read plus x. The symbol is R dash X. Number six means read plus write the symbol as our w dash. Number 7 means read plus right, plus execute. The symbol is our WX. Let's see the chmod command in action. First. Let's see permissions on the file task ls dash l test. Now let's change permissions on this file. Chmod 764 test. Now to check ls dash l test. Now we have changed the permissions on the file test to 764764. Absolute code says the following. The owner can read, write and execute. User group can read and write. The world can only read. This is shown as dash RW, XR, w dash, dash, dash. The first dash for the file type, because it is a file, not a directory. If it is a directory, it would be D. The next three letters for permissions for the user or the owner of the file. And then three letters for permissions for the user group. And the last three letters are for permissions for others or the world. This is how you can change the permissions on a file by assigning an absolute number. I hope this has been informative for you and I'd like to thank you for viewing. 95. 9 Symbolic Mode: Symbolic mode. In the symbolic mode, you change permissions for all three owners. But we can also modify the permissions of a specific owner using symbolic mode. It makes use of mathematical symbols to modify the file permissions. The plus operator adds permission to a file or directory. The minus operator removes permission. The equals operator sets the permission and overwrites the permission set earlier. The various owners are represented as you as user or owner. G has group, O is other end, has all. We will not be using permissions in numbers like 777, but characters like our WX. Let's try an example to see the test file permission ls dash l task. Now to set all permissions, read, write, and execute to the other users. Chmod o equals our WX test. To check ls dash l test. To add the execution permission to the user group. Chmod g plus x test. Let's check ls dash l test. And to remove the read permission from the user test. Chmod u dash. I hope this has been informative for you and I'd like to thank you for viewing. 96. 10 Changing Ownership and Group: Changing ownership and group. For changing the ownership of a file or directory, you can use the syntax challenged space user. Challenge is short for change owner. In case you wanted to change the user as well as the group for a file or directory. Use the syntax challenged user colon group filename. Let's see this in action. First, check the test file ownership using the ls space dash l command. Now to change the file owner to my pseudocode town mow my file to check ls dash l myfile. And to change user and group 2, pseudo colon mom, I file. And to Jack ls dash l. In case you wanted to change group owner only, use the command CH GRP. Some important things I would like you to know is that the file, ETC, group contains all the groups defined in the system. You can use the command groups to find all the groups you are a member of. You cannot have two groups owning the same file. We don't have nested groups in Linux. One group cannot be subgroup of other. Executing a directory means being allowed to enter a directory and gain possible access to subdirectories. 97. Installating QT Creator on Ubuntu: Installing QT Creator on Ubuntu. Sudo apt install build essential. The buildup essentials package as a reference for all the packages needed to compile a Debian package. It generally includes the GCC and G plus plus compilers and libraries and some other utilities. After finishing the installation of build essential. Now to install QT Creator. Sudo apt install QT Creator. After finishing the installation, if you want Q T5 to be the default Q T version to be used when using development binaries like Q make install the following package, sudo apt install Q T5 default to install the QT documentation. Sudo apt install QT five doc. And eventually sudo apt install QT five doc HTML Q dy base 5 dot HTML. And if examples are missing, you can use the command sudo apt install QT base five examples. Now to start QT Creator in the background type QT Creator ampersand. I hope this has been informative for you and I'd like to thank you for viewing. 98. Summary: Ubuntu for Beginners Course Summary. Through this course, you've learned about the Ubuntu beginnings. What is an operating system? Ubuntu pros and cons. After that, I give you an introduction to VirtualBox software and how to download and install it. Procedures for downloading and installing Ubuntu operating system using Virtual Box accessing Ubuntu. And we have taken a look at Ubuntu graphical user interface, also adding and removing programs from Ubuntu using different ways. In the Quickstart section, you learned about the basic commands of the Ubuntu operating system and how to use them, accessing the shell and how to use it, different ways of getting help. Then we took a general overview of the Ubuntu file system, how to navigate through it, displaying and setting paths describing the most important files on Ubuntu. How to find lost in hidden files, creating, moving, copying, and removing files and directories, displaying contents of files, understanding and using different link types. Then through the processes section, you learned about multi-user and multitasking, interactive and automatic processes, demons, how to use Linux pipes, the graph and sort commands and how to use them with the Linux pipe for making filters. Process attributes, how to display process information. The process lifecycle, controlling processes with different signals. How to reboot, halt, and shut down the system. Managing processes, priority and niceness of a process, CPU and memory resources, tuning system performance, network problems and disk input output problems. The user categories, system graphical tools, interrupting processes, scheduling processes using the sleep and the commands. After that, I discussed the importance of mastering an editor. Then I showed you the way to learn the popular Vim editor. You learned about Ubuntu virtual terminals, what they are starting and navigating through them. Virtual terminal shortcuts. Then through the Ubuntu administration section, you learned about the basic jobs of Ubuntu system administrators such as creating a user, deleting and disabling an account, adding and removing users from the user groups. File security in terms of ownership and permissions. Chmod command, the use of absolute and symbolic modes, finding out file properties and changing file permissions for security. At the end of the course, you learn to install QT Creator on Ubuntu as the bonus of the course. I hope this course had been informative for you and I'd like to thank you for viewing.