{
"id": "GRvBaVURN7DEcMYm",
"createdBy": "89808a9dlHhsBb",
"dateCreated": 1713192447954,
"name": "Lab-Terminal (Basics)",
"meta": {
"logo": "https://raw.githubusercontent.com/edrys-labs/lab-linux/main/media/terminal-basics.jpg",
"description": "Discover essential Bash commands with our step-by-step tutorial designed for beginners! Learn how to create, navigate, and manage files and directories in a Linux environment, from creating your first directory to cleaning up your workspace. This easy-to-follow guide will equip you with the fundamental skills needed to confidently use Bash for basic file management. Perfect for students and newcomers to the command line.",
"selfAssign": true,
"defaultNumberOfRooms": 0
},
"members": {
"teacher": [],
"student": []
},
"modules": [
{
"url": "https://edrys-labs.github.io/module-markdown-it/index.html",
"config": {
"content": "# Welcome to Lab-Linux-Basic\n\n__Welcome to the Linux Terminal Basics tutorial.__\n\nThe Bash terminal in Linux is like a magic wand for your computer—it lets you command your computer by typing instructions.\nThink of it as a special kind of text messaging where instead of sending texts to your friends, you send messages to your computer to tell it what to do!\n\nHere's why the Bash terminal is interesting for learning:\n\n1. **Direct communication**:\n Using the Bash terminal, you can talk directly to your computer.\n You tell it to do tasks like opening files, running programs, or even checking what's in a folder, all by typing commands.\n\n2. **Powerful tool**:\n With Bash, you can do complex tasks quickly and efficiently.\n It's like having a superpower that lets you control your computer with just a few keystrokes.\n\n3. **Foundation for programming**:\n Learning to use Bash gives you a great start in the world of programming.\n It teaches you the logic behind how commands work, which is useful for any coding language you might learn later.\n\nThe Bash terminal is not just about typing commands; it's about making your computer do exactly what you want in a quick and powerful way.\nIt's an essential skill for anyone interested in technology, making you a smarter and more capable computer user!\n\n__Visit a station by clicking onto it and then explore the terminal ;-)__"
},
"studentConfig": {
"content": ""
},
"teacherConfig": {
"content": "## Welcome for Teachers\n\n> This can be used as a base laboratory to create further and more elaborate labs with [edrys-Lite](https://edrys-labs.github.io).\n> You are currently in the Lobby. If there is a station available you can switch to it and try out the terminal.\n> Otherwise, if you are in teacher-mode you can share a lab by clicking onto `setting` >> `station` and then by clicking the presented link,\n> which is the same as the current link, but only with the word `station` instead of `classroom`."
},
"stationConfig": {
"content": ""
},
"showInCustom": "lobby",
"width": "full",
"height": "huge"
},
{
"url": "https://edrys-labs.github.io/module-pyxtermjs/index.html",
"config": "",
"studentConfig": "",
"teacherConfig": "",
"stationConfig": {
"server": "http://localhost:5000/pty",
"execute": "execute",
"script": "echo $CODE | base64 --decode",
"enable": {
"teacher": true,
"student": true
}
},
"showInCustom": "station",
"width": "full",
"height": "huge"
},
{
"url": "https://edrys-labs.github.io/module-markdown-it/index.html",
"config": {
"content": "# Welcome to the Station\n\nThis is a terminal that you can use for experimenting with Linux\n\n### Bash Commands Tutorial\n\n**Step 1: Check your current directory**\n```bash\npwd\n```\n\nThis will show you the current directory path to confirm you are where you think you are.\n\n**Step 2: Create a new directory**\n```bash\nmkdir Projects\n```\nThis creates a new folder named \"Projects\".\n\n**Step 3: Move into your new directory**\n```bash\ncd Projects\n```\nNow you are inside the \"Projects\" folder.\n\n**Step 4: Create another directory inside 'Projects'**\n```bash\nmkdir MyFirstProject\n```\nYou've now created another folder inside \"Projects\" called \"MyFirstProject\".\n\n**Step 5: Enter the 'MyFirstProject' directory**\n```bash\ncd MyFirstProject\n```\nMove into your newly created project folder.\n\n**Step 6: Create a new file**\n```bash\ntouch notes.txt\n```\nThis command creates a new empty file named \"notes.txt\".\n\n**Step 7: List files in the directory**\n```bash\nls\n```\nYou should see the \"notes.txt\" file listed.\n\n**Step 8: Write something in 'notes.txt'**\n```bash\necho \"Hello, this is my first project file!\" > notes.txt\n```\nThis command writes the sentence inside the quotes to \"notes.txt\".\n\n**Step 9: Display the contents of 'notes.txt'**\n```bash\ncat notes.txt\n```\nYou can see what you just wrote in the file.\n\n**Step 10: Make a copy of 'notes.txt'**\n```bash\ncp notes.txt backup.txt\n```\nNow you have a copy of \"notes.txt\" named \"backup.txt\".\n\n**Step 11: Rename the copy to 'old_notes.txt'**\n```bash\nmv backup.txt old_notes.txt\n```\nThe copy is now renamed to \"old_notes.txt\".\n\n**Step 12: Delete 'old_notes.txt'**\n```bash\nrm old_notes.txt\n```\nYou've deleted the \"old_notes.txt\" file.\n\n**Step 13: Go back to the 'Projects' directory**\n```bash\ncd ..\n```\nNow you are back in the \"Projects\" directory.\n\n**Step 14: Remove the 'MyFirstProject' directory**\n```bash\nrmdir MyFirstProject\n```\nSince \"MyFirstProject\" is empty now, you can delete it.\n\n**Step 15: List the contents of 'Projects' to confirm**\n```bash\nls\n```\nIt should show empty as \"MyFirstProject\" has been deleted.\n\nThis tutorial takes you through a basic workflow of creating, manipulating, and cleaning up files and directories using Bash commands. Each step builds on the previous one, helping you understand how these commands work in a real scenario."
},
"studentConfig": {
"content": ""
},
"teacherConfig": {
"content": ""
},
"stationConfig": {
"content": "## Instructions for Station-Sharing \n\nYou are currently responsible for sharing a station of this lab.\nYou have multiple options to share a or your terminal.\nTherefor we use the pyxtermjs - terminal server from:\n\nhttps://github.com/edrys-labs/module-pyxtermjs\n\n### Using Docker\n\nIf you haven't done it so far, install [docker](https://docs.docker.com/engine/install/).\nOr, follow one of the instruction-videos for your system:\n\n\nInstall Docker on Linux \n\n\n\n\nInstall Docker on Windows\n\n\n\n\nInstall Docker on MacOS\n\n\n\nThen the only thing that is required is to run the following command:\n\n```bash\ndocker run -it -p 5000:5000 crosslab/edrys_pyxtermjs:latest\n```\n\nThis will download the pyxtermjs terminal-server from docker-hub and run it in a secure environment.\n\n### Using Python\n\nYou can also share your terminal directly via Python, visit the following project\n\nhttps://github.com/edrys-labs/module-pyxtermjs\n\n... the easiest way is to perform the following steps:\n\n``` bash\n# 1. clone the repository or download the folder manually\ngit clone https://github.com/edrys-labs/module-pyxtermjs\n\n# 2. install all required sources\npip3 install -r requirements.txt\n\n# 3. run the terminal-server\npython3 -m pyxtermjs --cors True --command bash --port 5000\n```"
},
"showInCustom": "station",
"width": "half",
"height": "huge"
}
]
}