Chem 7520 Unix Crash Course Throughout This Page, the Command Prompt Will Be Signified by “>” at the Beginning of a Line

Total Page:16

File Type:pdf, Size:1020Kb

Chem 7520 Unix Crash Course Throughout This Page, the Command Prompt Will Be Signified by “>” at the Beginning of a Line Chem 7520 Unix Crash Course Throughout this page, the command prompt will be signified by “>” at the beginning of a line (you do not type this symbol, just everything after it). Navigation When you first log in, you will be placed in your home directory. To see what this directory is named, type: > pwd For example, my directory will give me: > pwd /uufs/chpc.utah.edu/common/home/u0764443 Directories in Unix are separated by “/ ”. Everything before your user name in the line above is just a series of directories that CHPC maintains. As far as you’re concerned, the directories that you need start with your own. To see what is contained in the current directory, type: > ls You may see some file names, as well as some that end in “/”. The latter are sub-directories. The setup script that I had you run yesterday should have created a directory called “qchem/”. In order to change directories, use the “cd” command. For example, to switch to the qchem sub-directory, type > cd qchem Using > cd qchem/ would also work. Try examining the contents of this directory with “ls”. To navigate up a level, use > cd .. The two-period notation always means “up one level from here”. In order to navigate back to your home directory, you can always just type > cd You can also use more detailed path names to navigate. Let’s say that I am in my qchem/ directory, but I want to switch to my chem7520 directory, which is a also in my main directory: > pwd /uufs/chpc.utah.edu/common/home/u0764443/qchem > cd ../chem7520 > pwd /uufs/chpc.utah.edu/common/home/u0764443/chem7520 You should be able to navigate between directories using these few commands. Handling files Most file-handling actions in Unix can be accomplished by “cp”, “mv”, and “rm”. These functions are copy, move, and remove (delete), respectively. To copy a file (“fileA”) to another file (“fileB”): > cp fileA fileB To move a file (“fileA”) in my current directory to another one (“dirB”): > mv fileA dirB/ To rename a file (“fileA” to “fileB”), we also use “mv”: > mv fileA fileB The actions can also be combined: > mv fileA dirB/fileB To delete a file (“fileA”), use: > rm fileA To delete a directory, use “rm –r” (the –r stands for “recursive”): > rm –r dirB/ To suppress the confirmation of “rm”, use “-f”: > rm –rf dirB/ Warning: Be very careful when using the “-rf ” combination! Unix does not use a “recycle bin”, so once it’s been rm’ed, it’s gone. Never ever use this command in your home directory!!! (I’ve seen it happen…not pretty.) Another trick that is often used is the “ * “ character. It is a “wild card” character. For example, > ls q* will list all of the files in the current directory that begin with the letter “q”. Similarly, > rm *.xyz will delete all files with the “.xyz” extension. Running programs Running a program in Unix is pretty simple: just type the name of the program. The commands that I’ve given above (cd, ls, mv, etc.) are all technically programs, and we just typed their names. If I gave you a program called “myprogram” in a subdirectory called chem7520, the procedure would be: > cd > cd chem7520/ > myprogram The only caveat to these procedures is that the program must be “in your path”. The operating system has a list of directories in which it knows to look for programs (these are called “your path”). If you just type the name of the program, it looks through this list. If the program happens to be somewhere outside of your path, it will complain. In this case (assuming that the program is in your current directory), just type: > ./myprogram This command—the single dot—means “the current directory”, so the above line means “run myprogram from here”. Hopefully you won’t need to use this version, but it sometimes happens. For reference, you can always view your path by typing > echo $PATH (If you want to add a directory to your path, ask me how.) System variables are denoted by the “$” character. For example, an alternative method to listing your home directory is by typing > echo $HOME The “echo” command basically just writes things to the screen. Similarly, you can view the machine that you’re logged into by typing > echo $HOST Making directories Above, we established how to move between directories. You can create your own with the “mkdir” command. For example, to make a directory called “mydir” in your home directory, type > cd > mkdir mydir You can then type “ls” to see it now appear. Viewing files To view the contents of a file, you have many options. A very simple one is the “more” command. This program just prints the contents of the file to the screen. The spacebar proceeds down by a page. This program is not for editing, just viewing. For editing files, you again have many options. My personal favorite is “vi”, but this program has a steep learning curve (as we experienced Thursday ). Other popular options include “nano”, “emacs”, “gedit”, etc. We’ll do a separate training on text editors soon. Using the program on the problem set You are asked in the problem set to run the “fourier1d” program. Below are some helpful hints in how to do this. Let’s first make a directory where you can do all of your work. Here, I’ll call the directory “probset1” > cd > mkdir probset1 > cd probset1/ The fourier1d program currently exists in my directory. Since my uNID is u0764443, this directory is called /uufs/chpc.utah.edu/common/home/u0764443 Two other options exist for using this directory: 1. From your home directory, my directory will be named “../u0764443/” 2. The “ ~ “ symbol is mapped to the level of all of the usernames. (So “cd ~/” is another way to get home.) In this case, we’re using my directory, which is ~u0764443. Now that you’re in your probset1/ directory, you can copy my program by typing: > cp ~u0764443/chem7520/fourier1d . The single period means “put it here”. (It will use the original file name in this case. If you wanted to copy and rename (to “newname”) at the same time, you would type “cp ~u0764443/fourier1d newname”.) Running the program just involves typing the name of the program, followed by the options detailed in the problem set. If you get a “command not found” error, try using “./ “ in front of the filename. Plotting Part of the problem set requires you to plot graphs. You have two options: 1. Copy the data files to your own machine (see below) and plot them in your favorite program…possibly Excel. 2. A better method would be to use gnuplot, which is built in to most Unix operating systems. This program (like Unix itself) requires learning a few commands, but it’s pretty easy to get started. [Note to Windows users: see Xming instructions below.] Let’s assume that you’re in your probset1/ directory. To run gnuplot, just type > gnuplot The program will start, and you will receive (yet another) command prompt. To plot a function, use the “plot” command. For example, to plot a line, type > plot 3*x The x and y ranges can be adjusted with > set xrange [-4:10] (and similar for yrange). To reset settings, such as xrange, use the “reset” command. To plot data files, put them in quotes: > plot “VofX.dat” By default, gnuplot will just plot the data points. You can also plot with connected lines by using > plot “VofX.dat” with lines You can increase the line thickness with > plot “VofX.dat” with lines linewidth 3 (bigger number = thicker lines) This all works great for viewing plots, but saving them is a little more difficult. To make a jpeg plot, use: > set terminal jpeg > set output “filename.jpg” (where filename is what you want to name the plot) > plot “VofX.dat” with lines The above commands will now not generate a plot window for you to view. They will, however, make a graphic called filename.jpg in your current directory. I suggest that you make your plots by viewing them first, then generating them for the problem set. (Note: gnuplot has several terminals available, including jpeg, gif, and even eps. Use whatever format you prefer.) Great …now I have a graph file on the cluster. How do I put it on my computer? Windows users: You can use the “file transfer” version of SSH SecureShell to navigate to your files. It acts just like Windows Explorer. (Open it by clicking the file-folder icon in the row below the menu bar.) Drag the files from one side to the other to transfer them. Mac users: There may be a built-in graphical option like the Windows instructions above, but I don’t know of one. (Google tells me that Cyberduck might work.) Another option is to use “scp” from the terminal window. Its syntax is almost identical to “cp”, except that you have to specify the machine from which you’re copying. From a new terminal window (on your machine, not connected to the clusters), type > scp [filename on cluster] . For example, if I have a file called “myplot.jpg” in ~/probset1/ on updraft, I would type > scp [email protected]:probset1/myplot.jpg . The “scp” command treats everything after the colon as though it starts in your home directory on the cluster. It will copy the file to whatever directory you’re in on your local machine.
Recommended publications
  • Fundamentals of UNIX Lab 5.4.6 – Listing Directory Information (Estimated Time: 30 Min.)
    Fundamentals of UNIX Lab 5.4.6 – Listing Directory Information (Estimated time: 30 min.) Objectives: • Learn to display directory and file information • Use the ls (list files) command with various options • Display hidden files • Display files and file types • Examine and interpret the results of a long file listing • List individual directories • List directories recursively Background: In this lab, the student will use the ls command, which is used to display the contents of a directory. This command will display a listing of all files and directories within the current directory or specified directory or directories. If no pathname is given as an argument, ls will display the contents of the current directory. The ls command will list any subdirectories and files that are in the current working directory if a pathname is specified. The ls command will also default to a wide listing and display only file and directory names. There are many options that can be used with the ls command, which makes this command one of the more flexible and useful UNIX commands. Command Format: ls [-option(s)] [pathname[s]] Tools / Preparation: a) Before starting this lab, the student should review Chapter 5, Section 4 – Listing Directory Contents b) The student will need the following: 1. A login user ID, for example user2, and a password assigned by their instructor. 2. A computer running the UNIX operating system with CDE. 3. Networked computers in classroom. Notes: 1 - 5 Fundamentals UNIX 2.0—-Lab 5.4.6 Copyright 2002, Cisco Systems, Inc. Use the diagram of the sample Class File system directory tree to assist with this lab.
    [Show full text]
  • Network Monitoring & Management Using Cacti
    Network Monitoring & Management Using Cacti Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International license (http://creativecommons.org/licenses/by-nc/4.0/) Introduction Network Monitoring Tools Availability Reliability Performance Cact monitors the performance and usage of devices. Introduction Cacti: Uses RRDtool, PHP and stores data in MySQL. It supports the use of SNMP and graphics with RRDtool. “Cacti is a complete frontend to RRDTool, it stores all of the necessary information to create graphs and populate them with data in a MySQL database. The frontend is completely PHP driven. Along with being able to maintain Graphs, Data Sources, and Round Robin Archives in a database, cacti handles the data gathering. There is also SNMP support for those used to creating traffic graphs with MRTG.” Introduction • A tool to monitor, store and present network and system/server statistics • Designed around RRDTool with a special emphasis on the graphical interface • Almost all of Cacti's functionality can be configured via the Web. • You can find Cacti here: http://www.cacti.net/ Getting RRDtool • Round Robin Database for time series data storage • Command line based • From the author of MRTG • Made to be faster and more flexible • Includes CGI and Graphing tools, plus APIs • Solves the Historical Trends and Simple Interface problems as well as storage issues Find RRDtool here:http://oss.oetiker.ch/rrdtool/ RRDtool Database Format General Description 1. Cacti is written as a group of PHP scripts. 2. The key script is “poller.php”, which runs every 5 minutes (by default).
    [Show full text]
  • Munin Documentation Release 2.0.44
    Munin Documentation Release 2.0.44 Stig Sandbeck Mathisen <[email protected]> Dec 20, 2018 Contents 1 Munin installation 3 1.1 Prerequisites.............................................3 1.2 Installing Munin...........................................4 1.3 Initial configuration.........................................7 1.4 Getting help.............................................8 1.5 Upgrading Munin from 1.x to 2.x..................................8 2 The Munin master 9 2.1 Role..................................................9 2.2 Components.............................................9 2.3 Configuration.............................................9 2.4 Other documentation.........................................9 3 The Munin node 13 3.1 Role.................................................. 13 3.2 Configuration............................................. 13 3.3 Other documentation......................................... 13 4 The Munin plugin 15 4.1 Role.................................................. 15 4.2 Other documentation......................................... 15 5 Documenting Munin 21 5.1 Nomenclature............................................ 21 6 Reference 25 6.1 Man pages.............................................. 25 6.2 Other reference material....................................... 40 7 Examples 43 7.1 Apache virtualhost configuration.................................. 43 7.2 lighttpd configuration........................................ 44 7.3 nginx configuration.......................................... 45 7.4 Graph aggregation
    [Show full text]
  • Automatic Placement of Authorization Hooks in the Linux Security Modules Framework
    Automatic Placement of Authorization Hooks in the Linux Security Modules Framework Vinod Ganapathy [email protected] University of Wisconsin, Madison Joint work with Trent Jaeger Somesh Jha [email protected] [email protected] Pennsylvania State University University of Wisconsin, Madison Context of this talk Authorization policies and their enforcement Three concepts: Subjects (e.g., users, processes) Objects (e.g., system resources) Security-sensitive operations on objects. Authorization policy: A set of triples: (Subject, Object, Operation) Key question: How to ensure that the authorization policy is enforced? CCS 2005 Automatic Placement of Authorization Hooks in the Linux Security Modules Framework 2 Enforcing authorization policies Reference monitor consults the policy. Application queries monitor at appropriate locations. Can I perform operation OP? Reference Monitor Application to Policy be secured Yes/No (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) CCS 2005 Automatic Placement of Authorization Hooks in the Linux Security Modules Framework 3 Linux security modules framework Framework for authorization policy enforcement. Uses a reference monitor-based architecture. Integrated into Linux-2.6 Linux Kernel Reference Monitor Policy (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) CCS 2005 Automatic Placement of Authorization Hooks in the Linux Security Modules Framework 4 Linux security modules framework Reference monitor calls (hooks) placed appropriately in the Linux kernel. Each hook is an authorization query. Linux Kernel Reference Monitor Policy (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) (subj.,obj.,oper.) Hooks CCS 2005 Automatic Placement of Authorization Hooks in the Linux Security Modules Framework 5 Linux security modules framework Authorization query of the form: (subj., obj., oper.)? Kernel performs operation only if query succeeds.
    [Show full text]
  • Masked Graph Modeling for Molecule Generation ✉ Omar Mahmood 1, Elman Mansimov2, Richard Bonneau 3 & Kyunghyun Cho 2
    ARTICLE https://doi.org/10.1038/s41467-021-23415-2 OPEN Masked graph modeling for molecule generation ✉ Omar Mahmood 1, Elman Mansimov2, Richard Bonneau 3 & Kyunghyun Cho 2 De novo, in-silico design of molecules is a challenging problem with applications in drug discovery and material design. We introduce a masked graph model, which learns a dis- tribution over graphs by capturing conditional distributions over unobserved nodes (atoms) and edges (bonds) given observed ones. We train and then sample from our model by iteratively masking and replacing different parts of initialized graphs. We evaluate our 1234567890():,; approach on the QM9 and ChEMBL datasets using the GuacaMol distribution-learning benchmark. We find that validity, KL-divergence and Fréchet ChemNet Distance scores are anti-correlated with novelty, and that we can trade off between these metrics more effec- tively than existing models. On distributional metrics, our model outperforms previously proposed graph-based approaches and is competitive with SMILES-based approaches. Finally, we show our model generates molecules with desired values of specified properties while maintaining physiochemical similarity to the training distribution. 1 Center for Data Science, New York University, New York, NY, USA. 2 Department of Computer Science, Courant Institute of Mathematical Sciences, New ✉ York, NY, USA. 3 Center for Genomics and Systems Biology, New York University, New York, NY, USA. email: [email protected] NATURE COMMUNICATIONS | (2021) 12:3156 | https://doi.org/10.1038/s41467-021-23415-2 | www.nature.com/naturecommunications 1 ARTICLE NATURE COMMUNICATIONS | https://doi.org/10.1038/s41467-021-23415-2 he design of de novo molecules in-silico with desired prop- enable more informative comparisons between models that use Terties is an essential part of drug discovery and materials different molecular representations.
    [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]
  • Operational Semantics with Hierarchical Abstract Syntax Graphs*
    Operational Semantics with Hierarchical Abstract Syntax Graphs* Dan R. Ghica Huawei Research, Edinburgh University of Birmingham, UK This is a motivating tutorial introduction to a semantic analysis of programming languages using a graphical language as the representation of terms, and graph rewriting as a representation of reduc- tion rules. We show how the graphical language automatically incorporates desirable features, such as a-equivalence and how it can describe pure computation, imperative store, and control features in a uniform framework. The graph semantics combines some of the best features of structural oper- ational semantics and abstract machines, while offering powerful new methods for reasoning about contextual equivalence. All technical details are available in an extended technical report by Muroya and the author [11] and in Muroya’s doctoral dissertation [21]. 1 Hierarchical abstract syntax graphs Before proceeding with the business of analysing and transforming the source code of a program, a com- piler first parses the input text into a sequence of atoms, the lexemes, and then assembles them into a tree, the Abstract Syntax Tree (AST), which corresponds to its grammatical structure. The reason for preferring the AST to raw text or a sequence of lexemes is quite obvious. The structure of the AST incor- porates most of the information needed for the following stage of compilation, in particular identifying operations as nodes in the tree and operands as their branches. This makes the AST algorithmically well suited for its purpose. Conversely, the AST excludes irrelevant lexemes, such as separators (white-space, commas, semicolons) and aggregators (brackets, braces), by making them implicit in the tree-like struc- ture.
    [Show full text]
  • Respiratory Therapy Pocket Reference
    Pulmonary Physiology Volume Control Pressure Control Pressure Support Respiratory Therapy “AC” Assist Control; AC-VC, ~CMV (controlled mandatory Measure of static lung compliance. If in AC-VC, perform a.k.a. a.k.a. AC-PC; Assist Control Pressure Control; ~CMV-PC a.k.a PS (~BiPAP). Spontaneous: Pressure-present inspiratory pause (when there is no flow, there is no effect ventilation = all modes with RR and fixed Ti) PPlateau of Resistance; Pplat@Palv); or set Pause Time ~0.5s; RR, Pinsp, PEEP, FiO2, Flow Trigger, rise time, I:E (set Pocket Reference RR, Vt, PEEP, FiO2, Flow Trigger, Flow pattern, I:E (either Settings Pinsp, PEEP, FiO2, Flow Trigger, Rise time Target: < 30, Optimal: ~ 25 Settings directly or by inspiratory time Ti) Settings directly or via peak flow, Ti settings) Decreasing Ramp (potentially more physiologic) PIP: Total inspiratory work by vent; Reflects resistance & - Decreasing Ramp (potentially more physiologic) Card design by Respiratory care providers from: Square wave/constant vs Decreasing Ramp (potentially Flow Determined by: 1) PS level, 2) R, Rise Time (­ rise time ® PPeak inspiratory compliance; Normal ~20 cmH20 (@8cc/kg and adult ETT); - Peak Flow determined by 1) Pinsp level, 2) R, 3)Ti (shorter Flow more physiologic) ¯ peak flow and 3.) pt effort Resp failure 30-40 (low VT use); Concern if >40. Flow = more flow), 4) pressure rise time (¯ Rise Time ® ­ Peak v 0.9 Flow), 5) pt effort (­ effort ® ­ peak flow) Pplat-PEEP: tidal stress (lung injury & mortality risk). Target Determined by set RR, Vt, & Flow Pattern (i.e. for any set I:E Determined by patient effort & flow termination (“Esens” – PDriving peak flow, Square (¯ Ti) & Ramp (­ Ti); Normal Ti: 1-1.5s; see below “Breath Termination”) < 15 cmH2O.
    [Show full text]
  • A Property Graph Is a Directed Edge-Labeled, Attributed Multigraph
    - In IT Security for 10+ years - consulting and research - My first talk at a Data-conference :) - PhD thesis: “Pattern-based Vulnerability Discovery” on using unsupervised machine learning and graph databases for vulnerability discovery - Chief scientist at ShiftLeft Inc. - Modern development processes are optimized for fast feature delivery - Cloud services: multiple deployments a day - Each deployment is a security-related decision - Enforce code-level security policies automatically! Example: enforce a policy for propagation of sensitive data: “Environment variables must not be written to the logger” public void init() { String user = env.getProperty(“sfdc.uname”); String pwd = env.getProperty(“sfdc.pwd”); ... if (!validLogin(user, pwd)) { ... log.error("Invalid username/password: {}/{}", user, pwd); } } Jackson - Critical code execution vulnerabilities. A program is vulnerable if 1. a vulnerable version of jackson-databind is used 2. attacker controlled input is deserialized in a call to “readValue” 3. “Default typing” is enabled globally via a call to “enableDefaultTyping” Jackson Jackson Detecting this particular vulnerability types requires modeling program dependencies, syntax, data flow and method invocations. > cpg.dependency.name(".*jackson-databind.*").version("2.8..*") .and{ cpg.call.name(“.*enableDefaultTyping.*”) } .and{ cpg.method.name(“.*readValue.*”).parameter.index(1).reachableBy( cpg.parameter.evalType(".*HttpServletRequest.*")) }.location Code Property Graph cpg.method.name(“sink”).parameter .reachableBy(cpg.method.name(“source”))
    [Show full text]
  • The Evolution of the Unix Time-Sharing System*
    The Evolution of the Unix Time-sharing System* Dennis M. Ritchie Bell Laboratories, Murray Hill, NJ, 07974 ABSTRACT This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. NOTE: *This paper was first presented at the Language Design and Programming Methodology conference at Sydney, Australia, September 1979. The conference proceedings were published as Lecture Notes in Computer Science #79: Language Design and Programming Methodology, Springer-Verlag, 1980. This rendition is based on a reprinted version appearing in AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93. Introduction During the past few years, the Unix operating system has come into wide use, so wide that its very name has become a trademark of Bell Laboratories. Its important characteristics have become known to many people. It has suffered much rewriting and tinkering since the first publication describing it in 1974 [1], but few fundamental changes. However, Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. Origins For computer science at Bell Laboratories, the period 1968-1969 was somewhat unsettled. The main reason for this was the slow, though clearly inevitable, withdrawal of the Labs from the Multics project. To the Labs computing community as a whole, the problem was the increasing obviousness of the failure of Multics to deliver promptly any sort of usable system, let alone the panacea envisioned earlier.
    [Show full text]
  • User's Manual
    USER’S MANUAL USER’S > UniQTM UniQTM User’s Manual Ed.: 821003146 rev.H © 2016 Datalogic S.p.A. and its Group companies • All rights reserved. • Protected to the fullest extent under U.S. and international laws. • Copying or altering of this document is prohibited without express written consent from Datalogic S.p.A. • Datalogic and the Datalogic logo are registered trademarks of Datalogic S.p.A. in many countries, including the U.S. and the E.U. All other brand and product names mentioned herein are for identification purposes only and may be trademarks or registered trademarks of their respective owners. Datalogic shall not be liable for technical or editorial errors or omissions contained herein, nor for incidental or consequential damages resulting from the use of this material. Printed in Donnas (AO), Italy. ii SYMBOLS Symbols used in this manual along with their meaning are shown below. Symbols and signs are repeated within the chapters and/or sections and have the following meaning: Generic Warning: This symbol indicates the need to read the manual carefully or the necessity of an important maneuver or maintenance operation. Electricity Warning: This symbol indicates dangerous voltage associated with the laser product, or powerful enough to constitute an electrical risk. This symbol may also appear on the marking system at the risk area. Laser Warning: This symbol indicates the danger of exposure to visible or invisible laser radiation. This symbol may also appear on the marking system at the risk area. Fire Warning: This symbol indicates the danger of a fire when processing flammable materials.
    [Show full text]