Online Linux Environment
Learn Linux and Bash Scripting without messing up your own computer.

Full Linux Terminal

CoCalc offers a full, collaborative, real-time synchronized Linux Terminal in your browser.

Take a look at our terminal documentation to learn more about it!

Check all the installed software

Made for teaching a course: students just have to sign in to CoCalc to get started!

Benefits of working online

  • You no longer have to install and maintain any software.
  • It is possible to collaboratively use the same terminal in real-time.
  • You can also edit shell script files and run the script.
  • A side-chat next to the Terminal let's you discuss your commands with others.
  • Automatic backup keeps your files safe!
  • You can copy/paste between your local desktop and the online terminal.

What you can do ...

  • Learn Bash scripting
  • Learn how to use the Linux command line
  • Run Python, R, etc. scripts
  • Compile C/C++, Java, etc. programs
  • Process and store datafiles
  • Collaborate, ...

... what you cannot do.

  • Root: due to how CoCalc works, you cannot have root rights. However, there is a wealth of software, both systems utilities and packages for specific language environments, already installed! Regarding Python and R environments, you can install them in your project. If something is missing, please tell us.
  • Communicate with the internet as a free user: if you want to run code to download data from another server or checkout a Git repository – or just want to support CoCalc – you need an internet upgrade applied to your project. Learn more about Trial Projects!

Start free / Upgrade later

Real-time collaboration

Synchronized Terminals

The same terminal can be opened by two or more users. Both see the same view, which adaptively resizes to a common size.

Additionally, open a side chat panel to exchange thoughts and ideas.

This is ideal for getting advice by a collegue or helping a student of yours.

Run Bash scripts

Bash script.sh file (left), bash -f script.sh to run (right)

CoCalc's frame editor supports editing a bash script side-by-side with a terminal.

To get started, create a script file ending with .sh, for example script.sh. Opening that file presents you an editor with syntax highlighting. Then click the Shell button to open up a Terminal and type in bash -f to run your script.

This helps you learning Bash by exploring its commands directly in your browser and immediately experiencing the results.

Jupyter Bash kernel

Jupyter Notebook running a bash kernel

Are you looking for something beyond a terminal or editing shell scripts? CoCalc also offers Jupyter Notebooks running the bash kernel.

This is similar to working with a terminal, but it saves all the input you typed and the corresponding output in "cells". That helps you with learning Linux commands, because it makes it easier to edit the code input or compare different outcomes of similar code. Besides that, you can also take notes between code cells.

Snapshot backups

List of Snapshots

The CoCalc terminal is ideal for teaching/learning Linux, because in case you make a mistake it has your back!

Everything runs remotely on CoCalc's servers! This means you do not have to worry about messing up your own computer, deal with setup and installation issues by yourself, or fear of losing or corrupting your own files when you make a mistake.

Snapshots are consistent read-only views of all your files in a CoCalc project. Restore your file(s) by copying back the one(s) that were lost or got corrupted.

Therefore, this is ideal to learn basic shell commands or more about Linux online.

Databases (PostgreSQL, MySQL, SQLite, ...)

Jupyter Notebook interacting with a hosted PostgreSQL database

CoCalc supports running various databases inside a project. They run in the same protected networking environment as all other processes in a project. This is ideal for learning SQL or persistently storing data as a result of your computations.

PostgreSQL: read the PostgreSQL Setup Guide to get started.

Besides PostgreSQL, CoCalc also supports MySQL and SQLite.

To interact with the databases, CoCalc pre-installs suitable Python and R libraries for your convenience.

In the screenshot on the left, you can see how a PostgreSQL database was setup and started in the first terminal. In the second terminal, psql is used to connect to it and create a table and insert data. Finally, in the Jupyter Notebook on the left connects via the psycopg2 library and issues a query to the database!

Start free / Upgrade later