Introduction to Linux

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Linux INTRODUCTION TO LINUX Oliver Standford STOR-i, Lancaster University Introduction to Linux | Oliver Standford Virtual Box • Virtual Box - virtualisation software package by Oracle. • Virtualisation is when we use software to create a virtual version of hardware (computer) - HDD, RAM, CPU • Installed on an existing host operating system: • Allows additional guest operating systems to run on top of the host operating system. • Compatible guest OS - Windows, Linux, Solaris, BSD, Mac. • Other Virtualisation software - Hyper-V(Microsoft), VMware, Parallels (Mac). Introduction to Linux | Oliver Standford Virtual Media & Networking • Virtual Hard drives: • VDI - virtual disk image • VMDK - Vmware disk image • VHD - Microsoft disk image • CD/DVDs: • Host Drive • ISO Image file • Empty • Networking: • NAT - takes on the hosts IP address etc. • Bridged - gets its own IP, name etc on the network. • Internal • Host • USB Devices • Shared Folders Introduction to Linux | Oliver Standford Operating a virtual Machine • Create • Start • Pause/Resume • Shutdown Signal • Power off • Snapshots Introduction to Linux | Oliver Standford Ubuntu Exercise • Change your password – open a terminal and use the ‘passwd’ command. • Change the desktop background. • Open Firefox and browse to lancs.ac.uk • Try to install software from the software centre • View a calendar for 2017 in the terminal by typing ‘cal 2017’ • Open the following file: /etc/apt/sources.list using nano Introduction to Linux | Oliver Standford Unix • Unix was developed at AT&T Bell Labs in the 1970s. • Not designed as a commercial Operating System but as a toolset for programmer’s. • Source code was given out for a nominal fee. • The growth and success of Unix was a result of thousands of programmers contributing to the project. • One of the last popular operating systems that do not force you to work behind a Graphical Interface. Introduction to Linux | Oliver Standford Unix Features • Multitasking - processing more than one job at a time. • Multi-User - supporting more than one user at a time. • Networking - inter-machine communication and sharing. • X-windows - a server oriented graphics system and interface. Introduction to Linux | Oliver Standford Linux • An open source version of Unix. • Started from Linus Torvalds in 1991 • Uses tools developed by the Free Software Foundation. • One of the most prominent examples of free software and open source development. • Source code can be modified, used and redistributed. • Available on a variety of platforms - Intel, Alpha, Mac. Introduction to Linux | Oliver Standford Operating Systems • We can think of an operating system as consisting of four components: • Kernel • Utilities • Libraries • File System Introduction to Linux | Oliver Standford Kernel • The core of the operating system. • Manages devices, memory, user and system processes. • Schedules the use of system resources - RAM,CPU,HDD. • Stores information about arrangement of computer system and network. Introduction to Linux | Oliver Standford Shell • The shell is a utility that provides an interface between the user and the operating system. • Shells act as command interpreters of user input. Introduction to Linux | Oliver Standford Filesystem /bin - All executable Binaries /boot - boot loader / Root /etc - Configuration files Directory /home - Contains the home directories /tmp - A place for temporary files. Introduction to Linux | Oliver Standford File Attributes & Permissions Permissions R - Read W - Write X - Execute - - No Permission User Group Others Modified Group Date. -rwxr-xr-x 20 oliver stori 4096 2012-09-22 sum.c Type Owner - - file File Size d - Directory (bytes) l - Link No. of links Filename Introduction to Linux | Oliver Standford User Accounts • A user account consists of three things: • Username - a username associated with a unique identifier (User ID: UID). • Password - your personal key to the account. • Home Directory - disc space allocated to you on the system. Typically /home/username. Introduction to Linux | Oliver Standford Command Syntax • Most UNIX commands can be given options and arguments. • Unix commands are often described with a notation like: command [-options] <arguments> • Square brackets refer to options (none of which are required). • Arguments are given in <>. Introduction to Linux | Oliver Standford Basic Commands • ls - list files. • cp - copy files. • mv - move files. • rm - remove (delete) files. • cd - Change directory. • mkdir - Make (create) directory. • rmdir - Remove (delete) directory. • ln - create a link to file. Introduction to Linux | Oliver Standford ls - Listing files • Used to list files and their attributes in a directory. • To list files in the current directory (relative): • ls • ls ./scripts • To list files in another directory (absolute): • ls /home/oliver/mydirectory. • Useful list options: • -l - reveals much more information about files. • -a - lists all files, including hidden files. • -c - list files in columns • -h - print sizes in human readable format. Introduction to Linux | Oliver Standford cp, mv, rm - Copy, Move, Remove • cp <file1> <file2> Create a copy of file1, called file2. • -r - recursive copying of subdirectories. • -i - interactive, prompt before overwrite. • -u - update, copy only when source file is newer than destination. • mv <file1> <file2> Move/rename file1 to file file2. • rm <file1> <file2> Delete file1 file2. • -i - interactive prompting • -r - recursive subdirectories. • Beware, rm is potentially dangerous. A deleted file cannot be recovered. Introduction to Linux | Oliver Standford cd, mkdir, rmdir - Change, make, remove directories. • cd <directory> - Change directory. Move from current directory to another. • cd .. - goes up a level. • Argument can be relative or absolute. • mkdir <directory> - Create a new directory called directory. • rmdir <directory> - Delete a directory. • This will only work on an empty directory. • Use -r option to delete contents too. Introduction to Linux | Oliver Standford Command Line tips • pwd - present working directory - shows what directory you are currently in. • . - current directory. • tab key - auto completes a file name. • Up arrow - scroll through previous commands. Introduction to Linux | Oliver Standford Getting Help • Linux has an extensive help system, called the manual (Man). This consists of a set of manual pages. • To get the man page for a command we can do: • man <command name> • man ls • man mkdir • Man pages list command options, syntax and some examples of use. • The whatis command gives a brief description of a command. • Whatis ls • Google! Introduction to Linux | Oliver Standford Exercises • List files in your current directory. • List all files in your directory (including hidden) • Display the full path of the current directory • Make a directory called linux01. • move into that directory. • Use the touch command to create the file myFile • Create a copy of myFile called myFile2 • rename myFile2 to oldFile. • delete oldFile • Use the man command to find out what ls -p does. • What are the permissions of myFile. Introduction to Linux | Oliver Standford SHELL USAGE Introduction to Linux | Oliver Standford Bash Shell • The shell is a program that: • Interprets commands, and • Acts as an intermediary between the user and the kernel. • In practice we use a terminal emulator. • We interact with the shell via a command line interface. • A command is either a file, or an instruction internal to the shell. Introduction to Linux | Oliver Standford PATH • The shell retains an internal list of directories to search for executable files, called PATH. • To view the PATH type: • echo $PATH • To execute a command not in the PATH you must type the absolute name: • /home/oliver/bin/ls • Commands for sequential execution can be entered on a single line, separated with a ; (semi-colon). • date;sleep 10;date Introduction to Linux | Oliver Standford Processes • When a command is executed the shell creates a job which executes the specified task. • A process can exist in one of four states: • Foreground: All jobs run in foreground unless otherwise stated. • Background: Append ‘&’ to the command. Job runs but shell remains interactive. • Stopped: A stopped jobs can be resumed in different states. • Terminated: A terminated job cannot be resumed. Introduction to Linux | Oliver Standford Running jobs in the background • Running jobs in the background allows to continue using the parent shell. • The shell returns a job number (1) and a process number (2271). • To obtain a list of jobs currently running use jobs command. Introduction to Linux | Oliver Standford Process Management • You can stop a job by typing CTRL-z while it is running. • This will suspend the job. • The job can then be started running in the background using the following command. • bg %<job number> Introduction to Linux | Oliver Standford Cancelling Jobs • If you want to stop a job that is running in the foreground you can kill it by pressing CTRL-C. • If you want to stop a job that is running in the background you can kill it with the kill command. • The syntax of the kill command is: Kill %<job number> or <PID> • For example: • Kill %1 This would kill/quit/close the program with job number 1. • Kill 3678 This would kill/quit/close the program using its PID. Introduction to Linux | Oliver Standford Process management • The operating system maintains a list (called the process table) of all processes. • Each process has a large amount of information related to it. • PID - unique process
Recommended publications
  • Many Slides Borrowed from Ben Zhao, Christo Wilson, & Others
    12. Network Attacks Blase Ur and David Cash (many slides borrowed from Ben Zhao, Christo Wilson, & others) February 7th, 2020 CMSC 23200 / 33250 Network threat model • Network scanning • Attacks on confidentiality (e.g., eavesdropping) • Attacks on integrity (e.g., spoofing, packet injection) • Attacks on availability (e.g., denial of service (DoS)) Scanning and observing networks Network Scanning: Ping • Essential, low-level network utility • Sends a “ping” ICMP message to a host on the internet $ ping 66.66.0.255 PING 66.66.0.255 (66.66.0.255) 56(84) bytes of data. 64 bytes from 66.66.0.255: icmp_seq=1 ttl=58 time=41.2 ms • Destination host is supposed to respond with a “pong” – Indicating that it can receive packets • By default, ping messages are 56 bytes long (+ some header bytes) – Maximum size 65535 bytes • What if you send a ping that is >65535 bytes long? Ping of Death • $ ping –s 65535 66.66.0.255 – Attack identified in 1997 – IPv6 version identified/fixed in 2013 Network Scanning: Traceroute • traceroute — hops between me and host – Sends repeated ICMP reqs w/ increasing TTL Port Scanning • What services are running on a server? Nmap • 5 seconds to scan a single machine!! SYN scan Only send SYN Responses: • SYN-ACK — port open • RST — port closed • Nothing — filtered (e.g., firewall) Port Scanning on Steroids • How do you speed up scans for all IPv4? – Don’t wait for responses; pipeline – Parallelize: divide & conquer IPv4 ranges – Randomize permutations w/o collisions • Result: the zmap tool – Scan all of IPv4 in 45mins (w/ GigE cxn) – IPv4 in 5 mins w/ 10GigE Eavesdropping Tools: Wireshark, tcpdump, Bro, … Steps: 1.
    [Show full text]
  • Blue Coat SGOS Command Line Interface Reference, Version 4.2.3
    Blue Coat® Systems ProxySG™ Command Line Interface Reference Version SGOS 4.2.3 Blue Coat ProxySG Command Line Interface Reference Contact Information Blue Coat Systems Inc. 420 North Mary Ave Sunnyvale, CA 94085-4121 http://www.bluecoat.com/support/contact.html [email protected] http://www.bluecoat.com For concerns or feedback about the documentation: [email protected] Copyright© 1999-2006 Blue Coat Systems, Inc. All rights reserved worldwide. No part of this document may be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the written consent of Blue Coat Systems, Inc. All right, title and interest in and to the Software and documentation are and shall remain the exclusive property of Blue Coat Systems, Inc. and its licensors. ProxySG™, ProxyAV™, CacheOS™, SGOS™, Spyware Interceptor™, Scope™, RA Connector™, RA Manager™, Remote Access™ are trademarks of Blue Coat Systems, Inc. and CacheFlow®, Blue Coat®, Accelerating The Internet®, WinProxy®, AccessNow®, Ositis®, Powering Internet Management®, The Ultimate Internet Sharing Solution®, Permeo®, Permeo Technologies, Inc.®, and the Permeo logo are registered trademarks of Blue Coat Systems, Inc. All other trademarks contained in this document and in the Software are the property of their respective owners. BLUE COAT SYSTEMS, INC. DISCLAIMS ALL WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON SOFTWARE AND DOCUMENTATION FURNISHED HEREUNDER INCLUDING WITHOUT LIMITATION THE WARRANTIES OF DESIGN, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL BLUE COAT SYSTEMS, INC., ITS SUPPLIERS OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY EVEN IF BLUE COAT SYSTEMS, INC.
    [Show full text]
  • A Highly Configurable High-Level Synthesis Functional Pattern Library
    electronics Article A Highly Configurable High-Level Synthesis Functional Pattern Library Lan Huang 1,2,‡, Teng Gao 1,‡, Dalin Li 1,†, Zihao Wang 1 and Kangping Wang 1,2,* 1 College of Computer Science and Technology, Jilin University, Changchun 130012, China; [email protected] (L.H.); [email protected] (T.G.); [email protected] (D.L.); [email protected] (Z.W.) 2 Key Laboratory of Symbolic Computation and Knowledge Engineering, Jilin University, Changchun 130012, China * Correspondence: [email protected] † Current address: Zhuhai Laboratory of Key Laboratory of Symbol Computation and Knowledge Engineering of Ministry of Education, Department of Computer Science and Technology, Zhuhai College of Jilin University, Zhuhai 519041, China. ‡ These authors contributed equally to this work. Abstract: FPGA has recently played an increasingly important role in heterogeneous computing, but Register Transfer Level design flows are not only inefficient in design, but also require designers to be familiar with the circuit architecture. High-level synthesis (HLS) allows developers to design FPGA circuits more efficiently with a more familiar programming language, a higher level of abstraction, and automatic adaptation of timing constraints. When using HLS tools, such as Xilinx Vivado HLS, specific design patterns and techniques are required in order to create high-performance circuits. Moreover, designing efficient concurrency and data flow structures requires a deep understanding of the hardware, imposing more learning costs on programmers. In this paper, we propose a set of functional patterns libraries based on the MapReduce model, implemented by C++ templates, Citation: Huang, L.; Gao,T.; Li, D.; which can quickly implement high-performance parallel pipelined computing models on FPGA with Wang, Z.; Wang, K.
    [Show full text]
  • Bash Guide for Beginners
    Bash Guide for Beginners Machtelt Garrels Garrels BVBA <tille wants no spam _at_ garrels dot be> Version 1.11 Last updated 20081227 Edition Bash Guide for Beginners Table of Contents Introduction.........................................................................................................................................................1 1. Why this guide?...................................................................................................................................1 2. Who should read this book?.................................................................................................................1 3. New versions, translations and availability.........................................................................................2 4. Revision History..................................................................................................................................2 5. Contributions.......................................................................................................................................3 6. Feedback..............................................................................................................................................3 7. Copyright information.........................................................................................................................3 8. What do you need?...............................................................................................................................4 9. Conventions used in this
    [Show full text]
  • PJM Command Line Interface
    PJM Command Line Interface PJM Interconnection LLC Version 1.5.1 11-18-2020 PJM Command Line Interface Table of Contents Purpose ..................................................................................................................................................................................... 4 System Requirements ............................................................................................................................................................... 4 Release History ......................................................................................................................................................................... 4 Usage ........................................................................................................................................................................................ 5 Standalone Application ......................................................................................................................................................... 5 Example Standalone Execution ....................................................................................................................................... 5 Parameter Details ............................................................................................................................................................. 7 Password Encryption .......................................................................................................................................................
    [Show full text]
  • TASSEL 3.0 / 4.0 Pipeline Command Line Interface: Guide to Using Tassel Pipeline
    TASSEL 3.0 / 4.0 Pipeline Command Line Interface: Guide to using Tassel Pipeline Terry Casstevens ([email protected]) Institute for Genomic Diversity, Cornell University, Ithaca, NY 14853-2703 March 28, 2014 Prerequisites ............................................................................................................................................................ 1 Source Code ............................................................................................................................................................ 1 Install ....................................................................................................................................................................... 1 Execute .................................................................................................................................................................... 1 Increasing Heap Size ............................................................................................................................................... 2 Examples ................................................................................................................................................................. 2 Examples (XML Configuration Files) .................................................................................................................... 2 Usage ......................................................................................................................................................................
    [Show full text]
  • The Evolution of Gandcrab Ransomware
    The Evolution of GandCrab Ransomware Tamas Boczan @tamas_boczan Sr. Threat Analyst Why? Why? Why? Business Model: RaaS Panel for Affiliates Mass Delivery Methods • Email attachments - Javascript - Doc - Encrypted doc • Drive- by download Delivery: RDP, Exploits Payload: Starting Point Data collection • System Info • External IP • AV? Payload: Starting Point Data collection Connect Home • System Info • nslookup • External IP • AV? Payload: Starting Point Data collection Connect Home Preparation • System Info • nslookup • Kill Processes • External IP • AV? Payload: Starting Point Data collection Connect Home Preparation Encryption • System Info • nslookup • Kill Processes • AES • External IP • *.GDCB • AV? Payload: Starting Point Data collection Connect Home Preparation Encryption Post-Infection • System Info • nslookup • Kill Processes • AES • Shadow Copies • External IP • *.GDCB • AV? Feb 28: Europol decryptor Data collection Connect Home Preparation Encryption Post-Infection • System Info • nslookup • Kill Processes • AES • Shadow Copies • External IP • *.GDCB • AV? 7 days later: v2 Data collection Connect Home Preparation Encryption Post-Infection • System Info • nslookup • Kill Processes • AES • Shadow Copies • External IP • *.CRAB • AV? • Kernel-AV 7 weeks later: v3 Post-Infection • Shadow Copies • Wallpaper v4 Data collection Connect Home Preparation Encryption Post-Infection • System Info • nslookup • Kill Processes • AES • Shadow Copies • External IP • Salsa • Wallpaper • AV? • *.KRAB • Self-removal • SMB shares v4.1 Data collection
    [Show full text]
  • Freebsd Command Reference
    FreeBSD command reference Command structure Each line you type at the Unix shell consists of a command optionally followed by some arguments , e.g. ls -l /etc/passwd | | | cmd arg1 arg2 Almost all commands are just programs in the filesystem, e.g. "ls" is actually /bin/ls. A few are built- in to the shell. All commands and filenames are case-sensitive. Unless told otherwise, the command will run in the "foreground" - that is, you won't be returned to the shell prompt until it has finished. You can press Ctrl + C to terminate it. Colour code command [args...] Command which shows information command [args...] Command which modifies your current session or system settings, but changes will be lost when you exit your shell or reboot command [args...] Command which permanently affects the state of your system Getting out of trouble ^C (Ctrl-C) Terminate the current command ^U (Ctrl-U) Clear to start of line reset Reset terminal settings. If in xterm, try Ctrl+Middle mouse button stty sane and select "Do Full Reset" exit Exit from the shell logout ESC :q! ENTER Quit from vi without saving Finding documentation man cmd Show manual page for command "cmd". If a page with the same man 5 cmd name exists in multiple sections, you can give the section number, man -a cmd or -a to show pages from all sections. man -k str Search for string"str" in the manual index man hier Description of directory structure cd /usr/share/doc; ls Browse system documentation and examples. Note especially cd /usr/share/examples; ls /usr/share/doc/en/books/handbook/index.html cd /usr/local/share/doc; ls Browse package documentation and examples cd /usr/local/share/examples On the web: www.freebsd.org Includes handbook, searchable mailing list archives System status Alt-F1 ..
    [Show full text]
  • System Calls & Signals
    CS345 OPERATING SYSTEMS System calls & Signals Panagiotis Papadopoulos [email protected] 1 SYSTEM CALL When a program invokes a system call, it is interrupted and the system switches to Kernel space. The Kernel then saves the process execution context (so that it can resume the program later) and determines what is being requested. The Kernel carefully checks that the request is valid and that the process invoking the system call has enough privilege. For instance some system calls can only be called by a user with superuser privilege (often referred to as root). If everything is good, the Kernel processes the request in Kernel Mode and can access the device drivers in charge of controlling the hardware (e.g. reading a character inputted from the keyboard). The Kernel can read and modify the data of the calling process as it has access to memory in User Space (e.g. it can copy the keyboard character into a buffer that the calling process has access to) When the Kernel is done processing the request, it restores the process execution context that was saved when the system call was invoked, and control returns to the calling program which continues executing. 2 SYSTEM CALLS FORK() 3 THE FORK() SYSTEM CALL (1/2) • A process calling fork()spawns a child process. • The child is almost an identical clone of the parent: • Program Text (segment .text) • Stack (ss) • PCB (eg. registers) • Data (segment .data) #include <sys/types.h> #include <unistd.h> pid_t fork(void); 4 THE FORK() SYSTEM CALL (2/2) • The fork()is one of the those system calls, which is called once, but returns twice! Consider a piece of program • After fork()both the parent and the child are ..
    [Show full text]
  • Networking TCP/IP Troubleshooting 7.1
    IBM IBM i Networking TCP/IP troubleshooting 7.1 IBM IBM i Networking TCP/IP troubleshooting 7.1 Note Before using this information and the product it supports, read the information in “Notices,” on page 79. This edition applies to IBM i 7.1 (product number 5770-SS1) and to all subsequent releases and modifications until otherwise indicated in new editions. This version does not run on all reduced instruction set computer (RISC) models nor does it run on CISC models. © Copyright IBM Corporation 1997, 2008. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents TCP/IP troubleshooting ........ 1 Server table ............ 34 PDF file for TCP/IP troubleshooting ...... 1 Checking jobs, job logs, and message logs .. 63 Troubleshooting tools and techniques ...... 1 Verifying that necessary jobs exist .... 64 Tools to verify your network structure ..... 1 Checking the job logs for error messages Netstat .............. 1 and other indication of problems .... 65 Using Netstat from a character-based Changing the message logging level on job interface ............. 2 descriptions and active jobs ...... 65 Using Netstat from System i Navigator .. 4 Other job considerations ....... 66 Ping ............... 7 Checking for active filter rules ...... 67 Using Ping from a character-based interface 7 Verifying system startup considerations for Using Ping from System i Navigator ... 10 networking ............ 68 Common error messages ....... 13 Starting subsystems ........ 68 PING parameters ......... 14 Starting TCP/IP .......... 68 Trace route ............ 14 Starting interfaces ......... 69 Using trace route from a character-based Starting servers .......... 69 interface ............ 15 Timing considerations ........ 70 Using trace route from System i Navigator 15 Varying on lines, controllers, and devices .
    [Show full text]
  • Exercise 1. RNA-Seq Alignment and Quantification Part 1. Prepare the Working Directory. Part 2. Examine Qualities of the RNA-Seq
    Exercise 1. RNA-seq alignment and quantification Part 1. Prepare the working directory. 1. Connect to your assigned computer. If you do not know how, follow the instruction at http://cbsu.tc.cornell.edu/lab/doc/Remote_access.pdf (Read the section under “Connection by ssh”. There are separate instructions for Windows and Mac users) 2. Use the following commands to create a working directory, and copy Arabidopsis genome FASTA file (TAIR10.fa) and rice annotation file (TAIR10.gff3) for this homework to the working directory (replace “xxxxxx” with your user ID) mkdir /workdir/xxxxx mkdir /workdir/xxxxx/exercise1 cd /workdir/xxxxx/exercise1 cp /shared_data/RNAseq/exercise1/* ./ ls Part 2. Examine qualities of the RNA-seq data files 1. Run fastqc on the fastq file fastqc MUa.fastq.gz 2. The fastqc software would create a new file called “MUa_fastqc.html”. You can download this file to your laptop. To do this, you need the software called FileZilla. Instruction to use FileZilla within Cornell campus: Host name: cbsuzzzzz.biohpc.cornell.edu (cbsuzzzzz is the name of your assigned computer) UserName and Password: your user ID and password Port: 22 After click “Quickconnect”, the left panel show files in your laptop, the right panel show files in the remote BioHPC computer. Next to “Remote site” on top of the right panel, enter “/workdir/xxxxx/” and press “return”. You will see the “MUa_fastqc.html” file and drag it into the left panel. Instruction to use FileZilla outside Cornell campus: User VPN. 3. On your laptop by double clicking the file “MUa_fastqc.html” to open the page.
    [Show full text]
  • Processes in Linux/Unix
    Processes in Linux/Unix A program/command when executed, a special instance is provided by the system to the process. This instance consists of all the services/resources that may be utilized by the process under execution. • Whenever a command is issued in unix/linux, it creates/starts a new process. For example, pwd when issued which is used to list the current directory location the user is in, a process starts. • Through a 5 digit ID number unix/linux keeps account of the processes, this number is call process id or pid. Each process in the system has a unique pid. • Used up pid’s can be used in again for a newer process since all the possible combinations are used. • At any point of time, no two processes with the same pid exist in the system because it is the pid that Unix uses to track each process. Initializing a process A process can be run in two ways: 1. Foreground Process : Every process when started runs in foreground by default, receives input from the keyboard and sends output to the screen. When issuing pwd command $ ls pwd Output: $ /home/geeksforgeeks/root When a command/process is running in the foreground and is taking a lot of time, no other processes can be run or started because the prompt would not be available until the program finishes processing and comes out. 2. Backround Process : It runs in the background without keyboard input and waits till keyboard input is required. Thus, other processes can be done in parallel with the process running in background since they do not have to wait for the previous process to be completed.
    [Show full text]