You are viewing documentation generated from a user contribution or an upcoming release. The contents of this document may not have been reviewed by the Deno team. Click here to view the documentation for the latest release.

An Implementation of the Unix "cat" Program


  • Use the Deno runtime API to output the contents of a file to the console.
  • Deno.args accesses the command line arguments.
  • is used to get a handle to a file.
  • Deno.stdout.writable is used to get a writable stream to the console standard output.
  • Deno.FsFile.readable is used to get a readable stream from the file. (This readable stream closes the file when it is finished reading, so it is not necessary to close the file explicitly.)
  • Modules can be run directly from remote URLs.


In this program each command-line argument is assumed to be a filename, the file is opened, and printed to stdout (e.g. the console).

 * cat.ts
for (const filename of Deno.args) {
  const file = await;
  await file.readable.pipeTo(Deno.stdout.writable, { preventClose: true });

To run the program:

deno run --allow-read /etc/passwd