FIVE REASONS to LOVE the COMMAND LINE the Text Interface Is Intimidating, but Can Save Researchers from Mundane Computing Tasks

Total Page:16

File Type:pdf, Size:1020Kb

FIVE REASONS to LOVE the COMMAND LINE the Text Interface Is Intimidating, but Can Save Researchers from Mundane Computing Tasks Work / Technology & tools ILLUSTRATION BY THE PROJECT TWINS THE PROJECT BY ILLUSTRATION FIVE REASONS TO LOVE THE COMMAND LINE The text interface is intimidating, but can save researchers from mundane computing tasks. Just be sure you know what you’re doing. By Jeffrey M. Perkel ennifer Johnson’s principal investigator available on Windows through such tools as actions across multiple files. Johnson directed had a simple request. Since 2018, their the free ‘Windows Subsystem for Linux’ and her terminal to scan her hard disk for sequenc- team had sequenced the DNA of some MobaXterm, the command line (also called ing data files, extract the needed information 1,300 silver fox (Vulpes vulpes) specimens, the shell) is a powerful text-based interface and compile them into a tidy spreadsheet. and the lab head wanted to know precisely in which users issue terse instructions to cre- “That took me less than 10 minutes,” she says; Jhow many bases it had collected, and how well ate, find, sort and manipulate files, all without recomputing the data would have taken a full those bases aligned to the reference genome. using the mouse. There are actually several day. Johnson, a bioinformatician at the University distinct (although largely compatible) shell Many computational disciplines, such as of Illinois at Urbana-Champaign, had the nec- systems, among the most popular of which is bioinformatics, rely heavily on the command essary data. But they were scattered across Bash, an acronym for the ‘Bourne again shell’ (a line. But all researchers who use computers her hard drive. The most obvious solution was reference to the Bourne shell, which it replaced can benefit from it, says Jeroen Janssens, prin- also the most painful: to open each file, find in 1989). cipal instructor of Data Science Workshops in the required information, close and repeat — Bash is both a collection of small utilities Rotterdam, the Netherlands, and author of the 1,300 times. So Johnson took another tack, and a full-blown programming language, 2014 book Data Science at the Command Line. using the command line. ranging from ‘grep’, a powerful text-search “The mouse doesn’t scale,” Janssens explains. Prebuilt into macOS and Unix systems, and tool, to ‘for loops’, which allows users to repeat For instance, although it is certainly possible Nature | Vol 590 | 4 February 2021 | 173 ©2021 Spri nger Nature Li mited. All ri ghts reserved. Work / Technology & tools to rename a file by pointing and clicking, that condense it into something that I can actually in Montreal, Canada, worked to ensure that task becomes tedious when it is scaled to work with and visualize,” she says. the researchers in his facility were set up to hundreds or thousands of files. stay productive, wherever they happened Here, we highlight five ways the command Manipulate spreadsheets to quarantine. “Without having this in place, line can ease your computational research. Shell commands perform seemingly simple none of the students would have been able to operations. The ‘cut’ command, for instance, do anything,” he says. Wrangle files extracts one or more columns from a spread- Perhaps the shell’s most powerful feature is the sheet; ‘wc’ counts words, lines or characters; Automate ability to repeat simple tasks across multiple ‘awk’ filters files for lines that match a certain Shell commands can be stored in text files files. Researchers could, for instance, system- condition; and ‘sed’ manipulates text ‘streams’. called scripts, which can be saved, shared and atically rename their files to add a date stamp, But these simple commands can be strung version-controlled, enhancing reproducibil- or convert them from one format to another together using ‘pipe’ (‘|’), a shell feature that fun- ity. They can also be automated. Using the (see our example code at https://github.com/ nels the output of one command into another, ‘cron’ command, users can schedule scripts jperkel/nature_bash). thus creating powerful bespoke workflows. “It’s to run when it’s convenient for them. For During his postdoctoral studies, Casey very good for what we call ‘whip-it-up-itude’ — instance, says Wickes, some websites ask that Greene’s adviser insisted that all images getting things going quickly, prototyping,” says users who plan to ‘scrape’ content do so during of figures that were used in presentations Tom Ryder, a systems administrator based in off-peak hours — in the case of the PubMed had a black background. Greene got pretty Palmerston North, New Zealand, and author of literature database, between 9 p.m. and 5 a.m. good, he says, at opening figures in an image the 2018 book Bash Quick Start Guide. Eastern time. “You can have [the script] run editor, inverting and colour-rotating them, only at the times you are allowed,” she says. and repeating. “But at some point, it turns “Shell commands can be Alternatively, users can download data to their out life is too short to continue importing primary computer daily, because many shared and colour-rotating in even a free software stored in text files called systems routinely delete older files. program that is relatively easy to use,” says scripts, which can be Greene, who now directs the Center for Health saved, shared and version- Warning: no undo Artificial Intelligence at the University of controlled.” The flip side of this power is the shell’s intim- Colorado School of Medicine in Aurora. So, idating interface, often just a dollar sign and he turned to the command line — specifically, a cursor. “That’s scary for some people,” says the free and open-source image-manipulation Janssens. The shell provides little in the way of tool ImageMagick, using a for loop to repeat The following command, for instance, help. And it can be “unforgiving”, Janssens notes. the operation across all his files: combines five utilities to count the unique An improperly positioned space can change a for file in *.png; do convert $file -channel gene names in a gene-expression data set: command’s meaning, and few commands will RGB -negate -modulate 100,100,200 out_$- cut -f1 GEOdataset.csv | sed -E ‘s/^>//’ | sort by default ask if you know what you’re doing. file; done; | uniq | wc -l “If you have the right to do it within the system, These steps extract (cut) the first column [the shell] assumes that you meant to do it the Handle big data (containing the name) from the spreadsheet; way you said it,” Devenyi says. “And so you can Some data sets are simply too big to handle. remove a leading greater-than symbol (sed); do lots of various dangerous things.” For a project studying digital object identifier sort the list alphabetically; reduce that list to The classic example is rm -rf * — a command (DOI) metadata, Elizabeth Wickes, an infor- its unique values (uniq); and print the total that deletes all files from the current directory mation scientist at the University of Illinois number of lines (that is, gene names) to the and everything below. If executed from the at Urbana–Champaign, harvested millions screen (wc). wrong location, crucial work can be lost. of XML files. But committing those files to a “We’ve all done that,” says Johnson. So proceed version-control repository overloaded her Parallelize your work with caution. system: “GitHub Desktop and my system Christina Koch, a research computing facilita- One simple trick is to use the ‘echo’ indexing just barfed on it,” she says. Using the tor at the University of Wisconsin–Madison, command to ensure that you’re specifying ‘git’ command-line tool, however, she tackled works at a computing centre that provides the files you intend. “‘Echo before execute’ the problem in an hour and a half. remote access to some 14,000 nodes and tera- is a very good rule of thumb,” says Greene. Similarly, Lynette Strickland, an evolu- bytes of memory. Suppose, Koch says, that a Some commands provide a ‘dry-run’ mode, tionary biologist at Texas A&M University in bioinformatician has a computational work- which reports what they intend to do, and/ Corpus Christi, has documented millions of flow for analysing gene-expression data sets. or an ‘interactive’ mode, which prompts the genetic variants for her research on invasive Each data set takes a day to process on their user before making changes. Users can also set lionfish (Pterois sp.). The data are too large for computer, and the researcher has 60 such data variables to prevent the computer from over- Microsoft Excel, which caps spreadsheets at sets. “That’s two months of non-stop running,” writing files, or to exit when there is an error about one million rows. So, Strickland used the she says. But, by sending the job to a computer (‘noclobber’ and ‘pipefail’, respectively). And shell to identify the records (spreadsheet rows) cluster using the ‘secure shell’ command, ‘ssh’, they should avoid running commands while that exceeded a certain quality threshold, which opens an encrypted portal to the remote they have administrative privileges. extract just the columns she needed, and save system, the researcher can parallelize the com- “Life comes at you fast,” says Wickes. “And sci- the data to a new file, using a command that putations across 60 computers. “Instead of ence can come at you fast sometimes.” The shell looks something like this (assuming the quality two months, it takes one day.” makes it possible to handle the unexpected. score is in column 4, the cut-off threshold is 50, Even without such power, ‘ssh’ provides the Besides, says Koch, it’s fun. “It’s so powerful, and and the desired columns are 1–4): ability to work remotely — an especially useful I feel like such a cool nerd when I’m using it,” she awk -F, ‘{ if ($4 > 50) print $0 }’ datafile.csv feature during a pandemic.
Recommended publications
  • Windows Command Prompt Cheatsheet
    Windows Command Prompt Cheatsheet - Command line interface (as opposed to a GUI - graphical user interface) - Used to execute programs - Commands are small programs that do something useful - There are many commands already included with Windows, but we will use a few. - A filepath is where you are in the filesystem • C: is the C drive • C:\user\Documents is the Documents folder • C:\user\Documents\hello.c is a file in the Documents folder Command What it Does Usage dir Displays a list of a folder’s files dir (shows current folder) and subfolders dir myfolder cd Displays the name of the current cd filepath chdir directory or changes the current chdir filepath folder. cd .. (goes one directory up) md Creates a folder (directory) md folder-name mkdir mkdir folder-name rm Deletes a folder (directory) rm folder-name rmdir rmdir folder-name rm /s folder-name rmdir /s folder-name Note: if the folder isn’t empty, you must add the /s. copy Copies a file from one location to copy filepath-from filepath-to another move Moves file from one folder to move folder1\file.txt folder2\ another ren Changes the name of a file ren file1 file2 rename del Deletes one or more files del filename exit Exits batch script or current exit command control echo Used to display a message or to echo message turn off/on messages in batch scripts type Displays contents of a text file type myfile.txt fc Compares two files and displays fc file1 file2 the difference between them cls Clears the screen cls help Provides more details about help (lists all commands) DOS/Command Prompt help command commands Source: https://technet.microsoft.com/en-us/library/cc754340.aspx.
    [Show full text]
  • Command Line Interface Specification Windows
    Command Line Interface Specification Windows Online Backup Client version 4.3.x 1. Introduction The CloudBackup Command Line Interface (CLI for short) makes it possible to access the CloudBackup Client software from the command line. The following actions are implemented: backup, delete, dir en restore. These actions are described in more detail in the following paragraphs. For all actions applies that a successful action is indicated by means of exit code 0. In all other cases a status code of 1 will be used. 2. Configuration The command line client needs a configuration file. This configuration file may have the same layout as the configuration file for the full CloudBackup client. This configuration file is expected to reside in one of the following folders: CLI installation location or the settings folder in the CLI installation location. The name of the configuration file must be: Settings.xml. Example: if the CLI is installed in C:\Windows\MyBackup\, the configuration file may be in one of the two following locations: C:\Windows\MyBackup\Settings.xml C:\Windows\MyBackup\Settings\Settings.xml If both are present, the first form has precedence. Also the customer needs to edit the CloudBackup.Console.exe.config file which is located in the program file directory and edit the following line: 1 <add key="SettingsFolder" value="%settingsfilelocation%" /> After making these changes the customer can use the CLI instruction to make backups and restore data. 2.1 Configuration Error Handling If an error is found in the configuration file, the command line client will issue an error message describing which value or setting or option is causing the error and terminate with an exit value of 1.
    [Show full text]
  • Your Performance Task Summary Explanation
    Lab Report: 11.2.5 Manage Files Your Performance Your Score: 0 of 3 (0%) Pass Status: Not Passed Elapsed Time: 6 seconds Required Score: 100% Task Summary Actions you were required to perform: In Compress the D:\Graphics folderHide Details Set the Compressed attribute Apply the changes to all folders and files In Hide the D:\Finances folder In Set Read-only on filesHide Details Set read-only on 2017report.xlsx Set read-only on 2018report.xlsx Do not set read-only for the 2019report.xlsx file Explanation In this lab, your task is to complete the following: Compress the D:\Graphics folder and all of its contents. Hide the D:\Finances folder. Make the following files Read-only: D:\Finances\2017report.xlsx D:\Finances\2018report.xlsx Complete this lab as follows: 1. Compress a folder as follows: a. From the taskbar, open File Explorer. b. Maximize the window for easier viewing. c. In the left pane, expand This PC. d. Select Data (D:). e. Right-click Graphics and select Properties. f. On the General tab, select Advanced. g. Select Compress contents to save disk space. h. Click OK. i. Click OK. j. Make sure Apply changes to this folder, subfolders and files is selected. k. Click OK. 2. Hide a folder as follows: a. Right-click Finances and select Properties. b. Select Hidden. c. Click OK. 3. Set files to Read-only as follows: a. Double-click Finances to view its contents. b. Right-click 2017report.xlsx and select Properties. c. Select Read-only. d. Click OK. e.
    [Show full text]
  • NETSTAT Command
    NETSTAT Command | NETSTAT Command | Use the NETSTAT command to display network status of the local host. | | ┌┐────────────── | 55──NETSTAT─────6─┤ Option ├─┴──┬────────────────────────────────── ┬ ─ ─ ─ ────────────────────────────────────────5% | │┌┐───────────────────── │ | └─(──SELect───6─┤ Select_String ├─┴ ─ ┘ | Option: | ┌┐─COnn────── (1, 2) ──────────────── | ├──┼─────────────────────────── ┼ ─ ──────────────────────────────────────────────────────────────────────────────┤ | ├─ALL───(2)──────────────────── ┤ | ├─ALLConn─────(1, 2) ────────────── ┤ | ├─ARp ipaddress───────────── ┤ | ├─CLients─────────────────── ┤ | ├─DEvlinks────────────────── ┤ | ├─Gate───(3)─────────────────── ┤ | ├─┬─Help─ ┬─ ───────────────── ┤ | │└┘─?──── │ | ├─HOme────────────────────── ┤ | │┌┐─2ð────── │ | ├─Interval─────(1, 2) ─┼───────── ┼─ ┤ | │└┘─seconds─ │ | ├─LEVel───────────────────── ┤ | ├─POOLsize────────────────── ┤ | ├─SOCKets─────────────────── ┤ | ├─TCp serverid───(1) ─────────── ┤ | ├─TELnet───(4)───────────────── ┤ | ├─Up──────────────────────── ┤ | └┘─┤ Command ├───(5)──────────── | Command: | ├──┬─CP cp_command───(6) ─ ┬ ────────────────────────────────────────────────────────────────────────────────────────┤ | ├─DELarp ipaddress─ ┤ | ├─DRop conn_num──── ┤ | └─RESETPool──────── ┘ | Select_String: | ├─ ─┬─ipaddress────(3) ┬ ─ ───────────────────────────────────────────────────────────────────────────────────────────┤ | ├─ldev_num─────(4) ┤ | └─userid────(2) ─── ┘ | Notes: | 1 Only ALLCON, CONN and TCP are valid with INTERVAL. | 2 The userid
    [Show full text]
  • 1. Run Nslookup to Obtain the IP Address of a Web Server in Europe
    1. Run nslookup to obtain the IP address of a Web server in Europe. frigate:Desktop drb$ nslookup home.web.cern.ch Server: 130.215.32.18 Address: 130.215.32.18#53 Non-authoritative answer: home.web.cern.ch canonical name = drupalprod.cern.ch. Name: drupalprod.cern.ch Address: 137.138.76.28 Note that the #53 denotes the DNS service is running on port 53. 2. Run nslookup to determine the authoritative DNS servers for a university in Asia. frigate:Desktop drb$ nslookup -type=NS tsinghua.edu.cn Server: 130.215.32.18 Address: 130.215.32.18#53 Non-authoritative answer: tsinghua.edu.cn nameserver = dns2.tsinghua.edu.cn. tsinghua.edu.cn nameserver = dns.tsinghua.edu.cn. tsinghua.edu.cn nameserver = dns2.edu.cn. tsinghua.edu.cn nameserver = ns2.cuhk.edu.hk. Authoritative answers can be found from: dns2.tsinghua.edu.cn internet address = 166.111.8.31 ns2.cuhk.edu.hk internet address = 137.189.6.21 ns2.cuhk.edu.hk has AAAA address 2405:3000:3:6::15 dns2.edu.cn internet address = 202.112.0.13 dns.tsinghua.edu.cn internet address = 166.111.8.30 Note that there can be multiple authoritative servers. The response we got back was from a cached record. To confirm the authoritative DNS servers, we perform the same DNS query of one of the servers that can provide authoritative answers. frigate:Desktop drb$ nslookup -type=NS tsinghua.edu.cn dns.tsinghua.edu.cn Server: dns.tsinghua.edu.cn Address: 166.111.8.30#53 tsinghua.edu.cn nameserver = dns2.edu.cn.
    [Show full text]
  • Introduction to Unix Shell
    Introduction to Unix Shell François Serra, David Castillo, Marc A. Marti- Renom Genome Biology Group (CNAG) Structural Genomics Group (CRG) Run Store Programs Data Communicate Interact with each other with us The Unix Shell Introduction Interact with us Rewiring Telepathy Typewriter Speech WIMP The Unix Shell Introduction user logs in The Unix Shell Introduction user logs in user types command The Unix Shell Introduction user logs in user types command computer executes command and prints output The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output ⋮ user logs off shell The Unix Shell Introduction user logs in user types command computer executes command and prints output user types another command computer executes command and prints output
    [Show full text]
  • Command-Line IP Utilities This Document Lists Windows Command-Line Utilities That You Can Use to Obtain TCP/IP Configuration Information and Test IP Connectivity
    Guide to TCP/IP: IPv6 and IPv4, 5th Edition, ISBN 978-13059-4695-8 Command-Line IP Utilities This document lists Windows command-line utilities that you can use to obtain TCP/IP configuration information and test IP connectivity. Command parameters and uses are listed for the following utilities in Tables 1 through 9: ■ Arp ■ Ipconfig ■ Netsh ■ Netstat ■ Pathping ■ Ping ■ Route ■ Tracert ARP The Arp utility reads and manipulates local ARP tables (data link address-to-IP address tables). Syntax arp -s inet_addr eth_addr [if_addr] arp -d inet_addr [if_addr] arp -a [inet_address] [-N if_addr] [-v] Table 1 ARP command parameters and uses Parameter Description -a or -g Displays current entries in the ARP cache. If inet_addr is specified, the IP and data link address of the specified computer appear. If more than one network interface uses ARP, entries for each ARP table appear. inet_addr Specifies an Internet address. -N if_addr Displays the ARP entries for the network interface specified by if_addr. -v Displays the ARP entries in verbose mode. -d Deletes the host specified by inet_addr. -s Adds the host and associates the Internet address inet_addr with the data link address eth_addr. The physical address is given as six hexadecimal bytes separated by hyphens. The entry is permanent. eth_addr Specifies physical address. if_addr If present, this specifies the Internet address of the interface whose address translation table should be modified. If not present, the first applicable interface will be used. Pyles, Carrell, and Tittel 1 Guide to TCP/IP: IPv6 and IPv4, 5th Edition, ISBN 978-13059-4695-8 IPCONFIG The Ipconfig utility displays and modifies IP address configuration information.
    [Show full text]
  • Introduction to Computer Networking
    www.PDHcenter.com PDH Course E175 www.PDHonline.org Introduction to Computer Networking Dale Callahan, Ph.D., P.E. MODULE 7: Fun Experiments 7.1 Introduction This chapter will introduce you to some networking experiments that will help you improve your understanding and concepts of networks. (The experiments assume you are using Windows, but Apple, Unix, and Linux systems will have similar commands.) These experiments can be performed on any computer that has Internet connectivity. The commands can be used from the command line using the command prompt window. The commands that can be used are ping, tracert, netstat, nslookup, ipconfig, route, ARP etc. 7.2 PING PING is a network tool that is used on TCP/IP based networks. It stands for Packet INternet Groper. The idea is to verify if a network host is reachable from the site where the PING command issued. The ping command uses the ICMP to verify if the network connections are intact. When a PING command is issued, a packet of 64 bytes is sent to the destination computer. The packet is composed of 8 bytes of ICMP header and 56 bytes of data. The computer then waits for a reply from the destination computer. The source computer receives a reply if the connection between the two computers is good. Apart from testing the connection, it also gives the round trip time for a packet to return to the source computer and the amount of packet loss [19]. In order to run the PING command, go to Start ! Run and in the box type “cmd”.
    [Show full text]
  • Create Directory on Windows Without the Fleeting DOS Window Hsiwei Yu (Michael), People Technology Solution Inc, Edison, NJ Gary Huang, Infostat Inc., Belle Mead, NJ
    Create Directory on Windows Without the Fleeting DOS Window Hsiwei Yu (Michael), People Technology Solution Inc, Edison, NJ Gary Huang, InfoStat Inc., Belle Mead, NJ copy “source directory” “target directory” ABSTRACT for copying files from source directory to target directory. On newer Windows environments, the pipe feature on a filename statement can be used to create directory without the fleeting Most DOS commands return nothing when successful. Some DOS window. This is better than the X command approach. Any commands, like DIR and COPY, return useful information that DOS commands can be used in the filename pipe feature. Finally can be further analyzed. we will show example of managing directories on remote machine Filename fileref PIPE ‘dir “c:\a dir”’; from local SAS session. Data important_message; Infile fileref length= LNG; Input @; INTRODUCTION /* Put _infile_; */ Sometimes we need to create or delete a directory from within a /* Additional logic to parse the directory SAS session. Previously we can use the X command construct to contents for further analysis. */ issue such create directory (MKDIR) command. However this if LNG >= 8 then do; technique results in an annoying DOS window, flashing and input last_modified_date mmddyy8. @; vanishing on screen. On newer Windows environment and with … the filename pipe feature, we can accomplish the same without end; the extra DOS window. Run; THE FILENAME PIPE FEATURE APPLICATON: MANAGE DIRECTORY ON The filename pipe feature is available is in the Windows environment in both SAS 6.12
    [Show full text]
  • Package 'Netstat'
    Package ‘netstat’ January 23, 2020 Type Package Title Retrieve Network Statistics Including Available TCP Ports Version 0.1.1 Maintainer Steve Condylios <[email protected]> BugReports https://github.com/stevecondylios/netstat/issues URL https://github.com/stevecondylios/netstat Description R interface for the 'netstat' command line utility used to retrieve and parse commonly used network statistics, including available and in-use transmission control protocol (TCP) ports. Primers offering technical background information on the 'netstat' command line utility are available in the ``Linux System Administrator's Manual'' by Michael Kerrisk (2014) <http://man7.org/linux/man-pages/man8/netstat.8.html>, and on the Microsoft website (2017) <https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/netstat>. License MIT + file LICENSE Encoding UTF-8 LazyData true RoxygenNote 6.1.1 Imports utils Language en-US NeedsCompilation no Author Steve Condylios [aut, cre] (<https://orcid.org/0000-0003-0599-844X>) Repository CRAN Date/Publication 2020-01-23 17:30:05 UTC R topics documented: netstat-package . .2 free_port . .2 free_ports . .3 1 2 free_port parse_netstat . .3 ports_in_use . .4 unassigned_ports . .4 Index 6 netstat-package Retrieve Network Statistics Including Available TCP Ports Description Retrieve Network Statistics Including Available TCP Ports Details It has the goal of providing a convenient way of retrieving and parsing commonly used Transmission Control Protocol (TCP) port information provided via the ’netstat’
    [Show full text]
  • Understanding and Troubleshooting Ports
    UnderStanding and TroubleShooting Ports 1 This document is intended to assist users understand current state of the connection for any Port in the system. How does a system know to which port to address a communication? Many ports are defined by Internet standards as being used for a specific purpose or protocol. The list of ports can be viewed thru’ the below URL http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Among the different Transport Protocol layers that use ports, users are likely to encounter User Datagram Protocol (UDP) and the Transmission Control Protocol (TCP) very often. There are a total of 65,535 TCP ports and a total of 65,535 different UDP ports. When a user informs that a communication is headed for a particular port (say port 53), then the next question that would usually follow is… if that is TCP port 53 or UDP port 53. For a port to be used to receive a network communication, the port must be associated with some process. The process acts as a listener, waiting for connections to be made requesting some service on its assigned port. In Windows, usually a Service is connected to a specific port (there might be exceptions as well). Using Netstat to analyze and understand Communication thru’ Ports The command “netstat” displays information about the network ports in use on the system. Netstat comes installed on all current releases of Windows systems. Run with no switches, netstat will simply display a list of active connections on the local system. A netstat command with no switches would get you an output similar to the below one (Few digits in IP and few characters in name are masked for security reasons).
    [Show full text]
  • Programmable Command Languages for Window Systems Egie
    Programmable Command Languages for Window Systems Rlchard Joel Cohn CMU-CS-88-139 June 1988 _egie Programmable Command Languages for Window Systems Report number CMU-CS-88-139 Copyright © 1988 by Richard Joel Cohn. All rights reserved. This dissertation was submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science at Carnegie Mellon University. The research in this dissertation was supported by the Information Technology Center, a joint project of Carnegie Mellon University and International Business Machines Corporation. This dissertation was produced with Scribe. Illustrations were produced with Pic, Troff, and TranScript. Aldus and PageMaker are trademarks of Aldus Corporation. Apple and Macintosh are registered trademarks of Apple Computer, Inc. Clads is a trademark of Clads Corporation. DEC is a trademark of Digital Equipment Corporation. Hypercard is a trademark of Apple Computer, Inc. IBM is a registered trademark of International Business Machines Corporation. MacDraw, MacPaint, and MacWrite are registered trademarks of Clads Corporation. NeWS and Sun-3 are trademarks of Sun Microsystems, Inc. PostScript and TranScript are trademarks of Adobe Systems, Inc. Scribe is a registered trademark of Scribe Systems. SmaUtalk-80is a trademark of Xerox Corporation. Tempo is a trademark of Affinity Microsystems, Ltd. UNIXis a registered trademark of AT&T Bell Laboratories. Abstract Programmable command and macro languages have long served as important tools for users of computer systems. This thesis describes the design and implementation of a general-purpose command language for a window system. This has never been tried be- fore because these systems are new and because the problems inherent in providing a command language for a window system are hard.
    [Show full text]