ShamashCyber is a browser development workspace. After you sign in you are inside a Linux session that holds your project files and a terminal. You can use Git, start a local web server, and open that server through an HTTPS address.
It is not an online editor that runs your code somewhere else, and it is not a tutorial sandbox. The commands you type run in your session.
The only entry point is workspace.shamashcyber.com. Everything else on this site is documentation.
Open a workspace, then use the terminal to confirm where you are and which tools are available. These checks change nothing and they make later troubleshooting much shorter.
That means the workspace image does not include that tool. It does not mean the workspace is broken. Ask whoever set up the image, or use a tool that is present.
Keep projects in a normal directory under your home directory, such as ~/projects. Storage is separate from the session, so stopping the workspace does not remove those files.
terminal
mkdir -p ~/projects/persistence-test
cd ~/projects/persistence-test
date > created.txt
printf 'persistence test\n' >> created.txt
cat created.txt
Stop the workspace the normal way, start it again, then read the file back. If it is still there, persistence is working as expected.
terminal
cat ~/projects/persistence-test/created.txt
Do not keep work in /tmp
Temporary directories are for temporary data. Anything you need next week belongs under your home directory, and anything you cannot afford to lose belongs in a Git remote as well.
The terminal is an ordinary Linux shell. These are enough for navigation and file checks during most lab sessions.
pwdPrint the directory you are currently in.
ls -laList files, including hidden files, with permissions.
cd ~/projectsMove into your projects directory.
mkdir demoCreate a directory named demo.
cp -r src destCopy a file, or a directory with -r.
mv old newMove or rename a file.
cat filePrint the contents of a file.
Be careful with rm
Deleting from the shell is immediate and there is no recycle bin. Read the path before you press enter, and be especially careful with -r and -f together.
The usual workflow is to clone a repository, create a branch for your work, check what changed, then commit when the result is ready.
git
cd ~/projects
git clone <repository-url>
cd <repository-directory>
git switch -c feature/my-work
git status
git add .
git commit -m "finish lab work"
Authentication
Use the sign-in or Git integration your workspace provides. Do not paste an access token into a source file, a README or a shell script, because those get committed.
Most problems in a lab session are one of these five.
The preview address does not load
Check that the process is still running and that it is bound to 0.0.0.0 rather than 127.0.0.1. Then confirm the port number matches the one you opened.
The port is already in use
Another process from an earlier run is still listening. Find it and stop it, or start on a different port.
terminal
ss -ltnp | grep 3000
My files are missing after a restart
Check whether the work was under /tmp or another temporary path. Files under your home directory should still be present.
A command is not found
The workspace image does not include that tool. Confirm with --version, and use an alternative that is installed rather than assuming the session is broken.
Git rejects my push
Usually authentication, or the branch has moved on the remote. Read the error text, then fetch and rebase or merge before pushing again.
terminal
git fetch origin
git status
Open a workspace and put something on a port.
The fastest way to understand it is to run one small project end to end. The docs walk through it in about five minutes.