cat / 012
clone

a spreadsheet for the terminal: lotus 1-2-3 looks, google sheets keys and formulas, one go binary

main
012 / docs / getting-started / install.md
install.md 2.5K rendered
1---2title: "Install and run"3sidebar_position: 24---56# Install and run78012 is one binary. On macOS or Linux, the install script puts the latest9release in `~/.local/bin`:1011```sh12curl -fsSL https://012.dev.site/install.sh | sh13```1415It picks the archive for your OS and architecture, checks it against the16release's `SHA256SUMS` and says where it put `012`. `PREFIX=/opt/012`17installs into `/opt/012/bin` instead, and `sh -s -- --system` into18`/usr/local/bin`, running `sudo` (and printing the command first) only19when that directory isn't writable; `sh -s -- --version v0.3.0` picks a20release. On Windows, in PowerShell:2122```powershell23irm https://012.dev.site/install.ps1 | iex24```2526which installs `012.exe` into `%LOCALAPPDATA%\Programs\012\bin` and adds27that folder to your PATH, without administrator rights. The archives and28`SHA256SUMS` are also at29[012.dev.site/releases/latest/](https://012.dev.site/releases/latest/) to30download by hand.3132With Go 1.27 or later, build it from source instead:3334```sh35go install src.rest/cat/012/cmd/012@latest36```3738From a clone, `make build` puts it in `bin/012`.3940```sh41012 # a new sheet42012 budget.012 # open a sheet, or create it when it doesn't exist43012 sales.xlsx # import .xlsx, .csv, .tsv, .json, .nuon, .sqlite, .parquet or Lotus .wk144012 - < sales.csv # a table from standard input45012 serve ~/sheets # serve a directory over SSH, a 012 per session46012 get budget.012 B7 # a cell's value, for scripts47012 diff old.012 new.012 # what changed, cell by cell48```4950A file on the command line opens as File > Open would: a `.012` sheet, or51another format imported ([files](../files/README.md)). `012 -` and52`012 --pipe`, 012 as a stage in a pipeline, are in53[Pipelines](../nushell/pipelines.md), and `012 nu`, a nushell notebook,54in [Notebooks](../nushell/notebooks.md). `012 serve` is55described in [Serving over SSH](../terminal/ssh.md). `012 get`, `set`,56`recalc` and `export` work on a workbook without the screen57([scripts](../files/scripts.md)), and `012 diff` and `012 merge-driver`58compare and merge workbooks, in git too ([diff and merge in59git](../files/git.md)). Every command is in60[Command line](../reference/command-line.md).6162`012 config` prints the settings in effect and `012 config edit` opens the63settings file ([configuration](../reference/config.md)). 012 draws in your64terminal's own colors by default; [themes](../terminal/themes.md) says65how to pick a color scheme. The [terminal](../terminal/README.md) page66lists which terminal features 012 uses where they're available.