Linux Pocket Guide, 3E

Total Page:16

File Type:pdf, Size:1020Kb

Linux Pocket Guide, 3E 3rd Edition Linux Pocket Guide ESSENTIAL COMMANDS Daniel J. Barrett 3RD EDITION Linux Pocket Guide Daniel J. Barrett Linux Pocket Guide by Daniel J. Barrett Copyright © 2016 Daniel Barrett. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebasto‐ pol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promo‐ tional use. Online editions are also available for most titles (http://safaribook‐ sonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Nan Barber Production Editor: Nicholas Adams Copyeditor: Jasmine Kwityn Proofreader: Susan Moritz Indexer: Daniel Barrett Interior Designer: David Futato Cover Designer: Karen Montgomery Illustrator: Rebecca Demarest June 2016: Third Edition Revision History for the Third Edition 2016-05-27: First Release 2016-07-22: Second Release See http://oreilly.com/catalog/errata.csp?isbn=9781491927571 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Linux Pocket Guide, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellec‐ tual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights. 978-1-491-92757-1 [M] Table of Contents Linux Pocket Guide 1 What’s in This Book? 1 Practicing with This Book 10 Getting Help 11 Linux: A First View 13 The Filesystem 17 Shell Features 26 Basic File Operations 47 Directory Operations 52 File Viewing 55 File Creation and Editing 63 File Properties 69 File Location 81 File Text Manipulation 92 File Compression and Packaging 108 File Comparison 114 PDF and PostScript File Handling 120 Printing 124 Spellchecking 126 iii Disks and Filesystems 128 Backups and Remote Storage 134 Viewing Processes 138 Controlling Processes 143 Scheduling Jobs 148 Logins, Logouts, and Shutdowns 154 Users and Their Environment 156 User Account Management 161 Becoming the Superuser 166 Group Management 167 Host Information 170 Host Location 174 Network Connections 179 Email 184 Web Browsing 188 Instant Messaging 193 Screen Output 198 Copy and Paste 204 Math and Calculations 206 Dates and Times 211 Graphics 215 Audio and Video 218 Installing Software 223 Programming with Shell Scripts 232 Final Words 248 Index 251 iv | Table of Contents Linux Pocket Guide Welcome to Linux! If you’re a new user, this book can serve as a quick introduction, as well as a guide to common and practical commands. If you have Linux experience, feel free to skip the introductory material. What’s in This Book? This book is a short guide, not a comprehensive reference. We cover important, useful aspects of Linux so you can work pro‐ ductively. We do not, however, present every single command and every last option (our apologies if your favorite was omit‐ ted), nor delve into detail about operating system internals. Short, sweet, and essential—that’s our motto. We focus on commands, those pesky little words you type on a command line to tell a Linux system what to do. Here’s an example command that counts lines of text in a file, myfile: wc -l myfile We’ll cover the most important Linux commands for the aver‐ age user, such as ls (list files), grep (search for text), mplayer (play audio and video files), and df (measure free disk space). We touch only briefly on graphical windowing environments like GNOME and KDE, each of which could fill a Pocket Guide by itself. 1 We’ve organized the material by function to provide a concise learning path. For example, to help you view the contents of a file, we introduce many file-viewing commands together: cat for short text files, less for longer ones, od for binary files, and so on. Then we explain each command in turn, briefly present‐ ing its common uses and options. We assume you have access to a Linux system and know how to log in with your username and password. If not, get your hands on a Linux “live” DVD, such as Ubuntu, Fedora, or Knoppix, which you can boot on most computers to play around with Linux. What’s New in the Third Edition? New commands Technology changes quickly, and some commands that made sense to cover in the first two editions are barely used today. We’ve replaced these commands with new ones that you’ll find immediately practical on a modern Linux system. Runnable examples You can now download a set of files from the book’s web‐ site and run the book’s example commands as you read them. Goodbye, GUI applications We no longer cover applications that have graphical user interfaces, such as photo editors and web browsers, in order to focus purely on commands. You can find these applications yourself pretty easily these days just by searching the Web. What’s Linux? Linux is a popular, open source operating system that competes with Microsoft Windows and Mac OS X. Like these other oper‐ ating systems, Linux has a graphical user interface with win‐ dows, icons, and mouse control. However, the real power of 2 | Linux Pocket Guide Linux comes from its command-line interface, called the shell, for typing and running commands like the preceding wc. Windows and Mac OS X computers can be operated by com‐ mand line as well (Windows with its cmd and PowerShell com‐ mand tools, and OS X with its Terminal application), but most of their users can get along fine without typing commands. On Linux, the shell is critical. If you use Linux without the shell, you are missing out. What’s a Distro? Linux is extremely configurable and includes thousands of pro‐ grams. As a result, different varieties of Linux have arisen to serve different needs and tastes. They all share certain core components but may look different and include different pro‐ grams and files. Each variety is called a distro (short for “distri‐ bution”). Popular distros include Ubuntu Linux, Red Hat Enterprise Linux, Slackware, and Mint among others. This book covers core material that should apply to every distro. What’s a Command? A Linux command typically consists of a program name fol‐ lowed by options and arguments, typed within a shell, like this: wc -l myfile The program name (wc, short for “word count”) refers to a pro‐ gram somewhere on disk that the shell will locate and run. Options, which usually begin with a dash, affect the behavior of the program. In the preceding command, the -l option tells wc to count lines and not words. The argument myfile specifies the file that wc should read and process. Commands can have multiple options and arguments. Options may be given individually: wc -l -w myfile Two individual options or combined after a single dash: What’s in This Book? | 3 wc -lw myfile Same as -l -w though some programs are quirky and do not recognize com‐ bined options. Multiple arguments are also OK: wc -l myfile myfile2 Count lines in two files Options are not standardized. They may be a single dash and one character (say, -l), two dashes and a word (--lines), or several other formats. The same option may have different meanings to different programs: in the command wc -l, the option -l means “lines of text,” but in ls -l it means “longer output.” Two programs also might use different options to mean the same thing, such as -q for “run quietly” versus -s for “run silently.” Some options are followed by a value, such as -s 10, and space between them might not be required (-s10). Likewise, arguments are not standardized. They usually repre‐ sent filenames for input or output, but they can be other things too, like directory names or regular expressions. Commands can be more interesting than just a single program with options: • Commands can run several programs at a time, either in sequence (one program after another) or in a “pipeline” with the output of one command becoming the input of the next. Linux experts use pipelines all the time. • The Linux command-line user interface—the shell—has a programming language built in. So instead of a com‐ mand saying “run this program,” it might say, “run this program, write its output to a file of my choosing, and if any errors occur, send me an email with the results.” Shell prompts Before you can type a command, you must wait for the shell to display a special symbol, called a prompt. A prompt means, “I am waiting for your next command.” Prompts come in all 4 | Linux Pocket Guide shapes and sizes, depending on how your shell is configured. Your prompt might be a dollar sign: $ or a complex string of text containing your computer name, username, and possibly other information and symbols: myhost:~smith$ or various other styles. All these prompts mean the same thing: the shell is ready for your commands. In this book, we’ll use the unique symbol → to indicate a shell prompt, so you won’t mistakenly type it as part of a command.
Recommended publications
  • Linux Pocket Guide.Pdf
    3rd Edition Linux Pocket Guide ESSENTIAL COMMANDS Daniel J. Barrett 3RD EDITION Linux Pocket Guide Daniel J. Barrett Linux Pocket Guide by Daniel J. Barrett Copyright © 2016 Daniel Barrett. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebasto‐ pol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promo‐ tional use. Online editions are also available for most titles (http://safaribook‐ sonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Nan Barber Production Editor: Nicholas Adams Copyeditor: Jasmine Kwityn Proofreader: Susan Moritz Indexer: Daniel Barrett Interior Designer: David Futato Cover Designer: Karen Montgomery Illustrator: Rebecca Demarest June 2016: Third Edition Revision History for the Third Edition 2016-05-27: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781491927571 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Linux Pocket Guide, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellec‐ tual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.
    [Show full text]
  • The Bioinformatics Lab Linux Proficiency Terminal-Based Text Editors Version Control Systems
    The Bioinformatics Lab Linux proficiency terminal-based text editors version control systems Jonas Reeb 30.04.2013 “What makes you proficient on the command line?” - General ideas I Use CLIs in the first place I Use each tool for what it does best I Chain tools for more complex tasks I Use power of shell for small scripting jobs I Automate repeating tasks I Knowledge of regular expression 1 / 22 Standard tools I man I ls/cd/mkdir/rm/touch/cp/mv/chmod/cat... I grep, sort, uniq I find I wget/curl I scp/ssh I top(/htop/iftop/iotop) I bg/fg 2 / 22 Input-Output RedirectionI By default three streams (“files”) open Name Descriptor stdin 0 stdout 1 stderr 2 Any program can check for its file descriptors’ redirection! (isatty) 3 / 22 Input-Output RedirectionII Output I M>f Redirect file descriptor M to file f, e.g. 1>f I Use >> for appending I &>f Redirect stdout and stderr to f I M>&N Redirect fd M to fd N Input I 0<f Read from file f 4 / 22 Pipes I Forward output of one program to input of another I Essential for Unix philosophy of specialized tools I grep -P -v "^>" *.fa | sort -u > seqs I Input and arguments are different things. Use xargs for arguments: ls *.fa | xargs rm 5 / 22 Scripting I Quick way to get basic programs running I Basic layout: #!/bin/bash if test"$1" then count=$1 else count=0 fi for i in {1..10} do echo $((i+count)) let"count +=1" done 6 / 22 Motivation - “What makes a good text editor” I Fast execution, little system load I Little bandwidth needed I Available for all (your) major platforms –> Familiar environment I Fully controllable via keyboard I Extensible and customizable I Auto-indent, Auto-complete, Syntax highlighting, Folding, ..
    [Show full text]
  • DDOS Detection and Denial Using Third Party Application in SDN
    International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS-2017) DDOS Detection and Denial using Third Party Application in SDN Roshni Mary Thomas Divya James Dept. of Information Technology Dept. of Information Technology Rajagiri School of Engineering & Technology Rajagiri School of Engineering & Technology Ernakulam, India Ernakulam, India [email protected] [email protected] Abstract— Software Defined Networking(SDN) is a developing introduced i.e, Software Defined Networking (SDN). Software area where network managers can manage the network behavior Defined Networking (SDN) is a developing area where it programmatically such as modify, control etc. Using this feature extract the limitations of traditional network which make we can empower, facilitate or e network related security networking more uncomplicated. In SDN we can develop or applications due to the its capacity to reprogram the data plane change the network functions or behavior program. To make at any time. DoS/DDoS attacks are attempt to make controller the decision where the traffic needs to send with the updated functions such as online services or web applications unavailable to clients by exhausting computing or memory resources of feature SDN decouple the network planes into two. servers using multiple attackers. A DDoS attacker could produce 1. Control Plane enormous flooding traffic in a short time to a server so that the 2. Data Plane services provided by the server get degraded. This will lose of In control plane we can add update or add new features customer support, brand trust etc. to improve the network programmatically also we can change To detect this DDoS attack we use a traffic monitoring method the traffic according to our decision and in updated traffic are iftop in the server as third party application and check the traffic applied in data plane.
    [Show full text]
  • High Performance Linux Shell Programming Reference 2015 Edition
    Extensive, example-based Linux shell programming reference includes an English-to-shell dictionary, a tutorial and handbook, and many tables of information useful to programmers. Besides listing more than 2000 shell one- liners, it explains the principles and techniques of how to increase performance (execution speed, reliability, and efficiency), which apply to many other programming languages beyond shell. High Performance Linux Shell Programming Reference 2015 Edition Order the complete book from Booklocker.com http://www.booklocker.com/p/books/7831.html?s=pdf or from your favorite neighborhood or online bookstore. Your free excerpt appears below. Enjoy! High Performance Linux Shell Programming Reference 2015 Edition High Performance Linux Shell Programming Reference, 2015 Edition Copyright © 2015 by Edward J. Smeltz ISBN 978-1-63263-401-6 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording or otherwise, without the prior written permission of the author. Printed on acid-free paper All information herein is believed to be accurate and correct, but the author and Booklocker.com, Inc assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained in this book. Manufacturers and sellers often use specific designations for their products to distinguish them in the marketplace. Where such designations appear in this book, and E. J. Smeltz was aware of a trademark claim, the designations have been printed in all caps or in initial caps. All trademarks are the property of their respective owners.
    [Show full text]
  • Flexible Internet Router for Linux
    fli4l – flexible internet router for linux Version 3.10.18 The fli4l-Team email: [email protected] September 15, 2019 Contents 1. Documentation of the base package 10 1.1. Introduction...................................... 10 2. Setup and Configuration 13 2.1. Unpacking the archives................................ 13 2.2. Configuration..................................... 14 2.2.1. Editing the configuration files........................ 14 2.2.2. Configuration via a special configuration file................ 15 2.2.3. Variables................................... 15 2.3. Setup flavours..................................... 15 2.3.1. Router on a USB-Stick............................ 16 2.3.2. Router on a CD, or network boot...................... 16 2.3.3. Type A: Router on hard disk—only one FAT partition.......... 16 2.3.4. Type B: Router on hard disk—one FAT and one ext3 partition..... 16 3. Base configuration 18 3.1. Example file...................................... 19 3.2. General settings.................................... 25 3.3. Console settings.................................... 30 3.4. Hints To Identify Problems And Errors...................... 31 3.5. Usage of a customized /etc/inittab......................... 32 3.6. Localized keyboard layouts............................. 32 3.7. Ethernet network adapter drivers.......................... 33 3.8. Networks....................................... 42 3.9. Additional routes (optional)............................. 44 3.10. The Packet Filter................................... 44 3.10.1. Packet Filter
    [Show full text]
  • SECUMOBI SERVER Technical Description
    SECUMOBI SERVER Technical Description Contents SIP Server 3 Media Relay 10 Dimensioning of the Hardware 18 SIP server 18 Media Proxy 18 Page 2 of 18 SIP Server Operatingsystem: Debian https://www.debian.org/ Application: openSIPS http://www.opensips.org/ OpenSIPS is built and installed from source code. The operating system is installed with the following packages: Package Description acpi displays information on ACPI devices acpi-support-base scripts for handling base ACPI events such as the power button acpid Advanced Configuration and Power Interface event daemon adduser add and remove users and groups anthy-common input method for Japanese - common files and dictionary apt Advanced front-end for dpkg apt -utils APT utility programs aptitude terminal-based package manager (terminal interface only) autopoint The autopoint program from GNU gettext backup -manager command -line backup tool base-files Debian base system miscellaneous files base-passwd Debian base system master password and group files bash The GNU Bourne Again SHell bc The GNU bc arbitrary precision calculator language binutils The GNU assembler, linker and binary utilities bison A parser generator that is compatible with YACC bsdmainutils collection of more utilities from FreeBSD bsdutils Basic utilities from 4.4BSD-Lite build -essential Informational list of build -essential packages busybox Tiny utilities for small and embedded systems bzip2 high-quality block-sorting file compressor - utilities ca-certificates Common CA certificates console-setup console font and keymap
    [Show full text]
  • Linux Commands Cheat Sheet
    LINUX COMMANDS CHEAT SHEET by Gokhan Kosem, www.ipcisco.com System Information Commands User Information Commands shows user&group ids of the current uname -a shows Linux system info id user uname -r shows kernel release info last shows the last users logged on cat /etc/redhat-release shows installed redhat version whoami shows who you are logged in as uptime displays system running/life time who shows who is logged into the system shows who is logged in and what hostname shows system host name w they do hostname -I shows ip addresses of the host groupadd test creates group “test” creates “Gokhan” account with last reboot displays system reboot history useradd -c “GK” -m Gokhan comment “GK” date displays current date and time userdel Gokhan deletes account “Gokhan” usermod -aG Networkers adds account “Gokhan” to the cal displays monthly calendar Gokhan “Networkers” group mount shows mounted filesy-stems File Permission changes ownership of a File Commands chown user file/directory shows file type and access changes user and group for a file or ls -l chown user:group filename permission directory ls -a lists also hidden files r (read) permission, 4 ls -al lists files and directories detailly w (write) permission, 2 File Permissions pwd shows present directory x (execute) permission, 1 mkdir directory creates a directory -= no permission rm xyz deletes file xyz File Owner owner/group/everyone deletes directory /xyz and its 777 | Owner, Group, Everyone has rm -r /xyz contents recursively rwx permissions forcefully deletes abc file without
    [Show full text]
  • Section 4 Network Programming and Administration Exercises
    Lab Manual SECTION 4 NETWORK PROGRAMMING AND ADMINISTRATION EXERCISES Structure Page Nos. 4.0 Introduction 48 4.1 Objectives 48 4.2 Lab Sessions 49 4.3 List of Unix Commands 52 4.4 List of TCP/IP Ports 54 3.5 Summary 58 3.6 Further Readings 58 4.0 INTRODUCTION In the earlier sections, you studied the Unix, Linux and C language basics. This section contains more practical information to help you know best about Socket programming, it contains different lab exercises based on Unix and C language. We hope these exercises will provide you practice for socket programming. Towards the end of this section, we have given the list of Unix commands frequently required by the Unix users, further we have given a list of port numbers to indicate the TCP/IP services which will be helpful to you during socket programming. To successfully complete this section, the learner should have the following knowledge and skills prior to starting the section. S/he must have: • Studied the corresponding course material of BCS-052 and completed the assignments. • Proficiency to work with Unix and Linux and C interface. • Knowledge of networking concepts, including network operating system, client- server relationship, and local area network (LAN). Also, to successfully complete this section, the learner should adhere to the following: • Before attending the lab session, the learner must already have written steps/algorithms in his/her lab record. This activity should be treated as home- work that is to be done before attending the lab session. • The learner must have already thoroughly studied the corresponding units of the course material (BCS-052) before attempting to write steps/algorithms for the problems given in a particular lab session.
    [Show full text]
  • Tripwire Ip360 9.0.1 License Agreements
    TRIPWIRE® IP360 TRIPWIRE IP360 9.0.1 LICENSE AGREEMENTS FOUNDATIONAL CONTROLS FOR SECURITY, COMPLIANCE & IT OPERATIONS © 2001-2018 Tripwire, Inc. All rights reserved. Tripwire is a registered trademark of Tripwire, Inc. Other brand or product names may be trademarks or registered trademarks of their respective companies or organizations. Contents of this document are subject to change without notice. Both this document and the software described in it are licensed subject to Tripwire’s End User License Agreement located at https://www.tripwire.com/terms, unless a valid license agreement has been signed by your organization and an authorized representative of Tripwire. This document contains Tripwire confidential information and may be used or copied only in accordance with the terms of such license. This product may be protected by one or more patents. For further information, please visit: https://www.tripwire.com/company/patents. Tripwire software may contain or be delivered with third-party software components. The license agreements and notices for the third-party components are available at: https://www.tripwire.com/terms. Tripwire, Inc. One Main Place 101 SW Main St., Suite 1500 Portland, OR 97204 US Toll-free: 1.800.TRIPWIRE main: 1.503.276.7500 fax: 1.503.223.0182 https://www.tripwire.com [email protected] TW 1190-05 Contents License Agreements 4 Academic Free License ("AFL") 5 Apache License V2.0 (ASL 2.0) 9 BSD 20 Boost 28 CDDLv1.1 29 EPLv1 30 FreeType License 31 GNU General Public License V2 34 GNU General Public License V3 45 IBM 57 ISC 62 JasPer 63 Lesser General Public License V2 65 LibTiff 76 MIT 77 MPLv1.1 83 MPLv2 92 OpenLDAP 98 OpenSSL 99 PostgreSQL 102 Public Domain 104 Python 108 TCL 110 Vim 111 wxWidgets 113 Zlib 114 Contact Information 115 Tripwire IP360 9.0.1 License Agreements 3 Contents License Agreements This document contains licensing information relating to Tripwire's use of free and open-source software with or within the Tripwire IP360 product (collectively, "FOSS").
    [Show full text]
  • System Operations IT-ST-FDO
    System Operations IT-ST-FDO Index: - Bash pag. 2 - Common Operations pag. 3 - EOS pag. 13 - Filesystem Operations pag. 16 - CASTOR pag. 23 - Interventions pag. 28 - How to implement the SSO on EOSCOCKPIT Machine pag. 34 - XrdFed pag. 38 - Rundeck pag. 40 - Gitlab pag. 41 - SAMBA pag. 45 Please remind that commands and procedures could be no longer updated. Please verify them before any use. Bash: Shell command line --> “command” “options” “arguments”. - scp [source] [dest] --> scp log.cron root@lxbst2277:/etc/file.conf --> Secure copy to other machines. - cp [options]... Source Dest --> Copy Source to Dest or Directory. - lp [options]...[file...] --> Send files to a printer. - cd [Options] [Directory] --> Change Directory - change the current working directory to a specific folder. - pwd [-LP] --> Print Working Directory. - ls [Options]... [File]... --> List information about files. - ll = ls -l [file] --> List directory contents using long list format. - cat [Options] [File]... --> Concatenate and print (display) the content of files. - grep [options] PATTERN [FILE...] --> Search file(s) for specific text. - sort [options] [file...] --> Sort text files. Sort, merge, or compare all lines from files given. - cut [OPTION]... [FILE]... --> Divide a file into several parts (columns). - tr [options]... SET1 [SET2] --> Translate, squeeze, and/or delete characters. - mv [options]... Source... Directory --> Move or rename files or directories. - source filename [arguments] --> Read and execute commands from the filename argument in the current shell context. - mkdir [Options] folder... --> Create new folder(s), if they do not already exist. - xrdcp [options] source destination --> Copies one or more files from one location to another. - df [option]... [file]... --> Disk Free - display free disk space.
    [Show full text]
  • Beginning the Linux Command Line
    Beginning the Linux Command Line Sander van Vugt Beginning the Linux Command Line Copyright © 2009 by Sander van Vugt All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-4302-1889-0 ISBN-13 (electronic): 978-1-4302-1890-6 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Michelle Lowman Technical Reviewer: Mary Ann C. Tan Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Michelle Lowman, Matthew Moodie, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Beth Christmas Copy Editor: Ami Knox Associate Production Director: Kari Brooks-Copony Production Editor: Elizabeth Berry Compositor: Linda Weidemann, Wolf Creek Publishing Services Proofreader: Nancy Sixsmith Indexer: Brenda Miller, Odessa&Cie Artist: April Milne Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail kn`ano)ju<olnejcan)o^i*_ki, or visit dppl6++sss*olnejcankjheja*_ki.
    [Show full text]
  • Exercise 3 : Asynchronous I/O and Caching
    Exercise 3 : asynchronous I/O and caching S´ebastienPonce June 6, 2017 1 Goals of the exercise • Do network measurements • Show synchronous I/O (in)efficiency • Play with asynchronous I/O • See client caching benefits 2 Setup 2.1 introduction In this exercise, we will play with client-server interaction over wide area networks. The wide area network will actually be faked : we will connect to ourselves via the loopback device and configure it to have WAN behavior by adding some large delay. Concerning the client-server architecture, we will mainly use 2 kinds : • home cooked scripts as in previous exercises to demonstrate concepts • the xrootd framework to go further. Xrootd is a powerful framework and tool suite based on the xrootd protocol and that can provide efficient and scalable data transfer solutions. Depending on the exercises, we will either use the xrdcp command line tool that is able to read/write files from/to an xrootd server, or we will interact directly with the client API of xrootd, and more specifically with its python binding. 2.2 Basics • open a terminal • if you did not download the exercises yet, refer to exercise1 to do it • go to the exercise3 directory cd /data/exercises/exercise3 • copy the datafile used for exercise1 into the local directory (or recreate it) cp ../exercise1/datafile . 1 3 Setting up Network 3.1 Latency of real WAN • use ping to measure the round trip time to the CERN data center ping -c5 lxplus.cern.ch Ping Time • try to find out what builds up this latency by using mtr mtr lxplus.cern.ch { analyze the physical path of the data { see the number of hops, estimate the time spent in routers/switches { use google maps to have a rough estimate of the cable length (take fastest road length, that is highways, the fibers follow these) { check whether the order of magnitude fits or whether congestions in the network are predominant Main cities on the way Number of hops Estimated cable length Estimated Ping time • you may be surprised that some intermediate routers have longer response time than the final machine.
    [Show full text]