# WebTerm > Learn Linux terminal commands, the Vim editor, and Git by typing them in your browser ## About WebTerm is a free, browser-based platform for practising Linux terminal commands, Vim, and Git through hands-on interactive tutorials. Every command runs against a simulated file system inside the browser tab, so nothing touches the real machine. No installation and no account are required. - Website: https://webterm.app - Interactive tutorials: 15 (156 missions in total) - Simulated commands: 130+ commands, including a working vim editor and Git - Languages: English, Japanese, French, German, Spanish, Portuguese, Dutch, Arabic ## Tutorials (English) ### Terminal - [Getting Started](https://webterm.app/en/tutorials/terminal-basics): Learn essential terminal input methods, cursor navigation with arrow keys and Emacs shortcuts, command history, and tab completion. The perfect first step for complete beginners to the command line. (7 missions) - [Beginner](https://webterm.app/en/tutorials/beginner): Master fundamental Linux commands: pwd, ls, cd, mkdir, touch, and rm. Practice navigating directories, creating files and folders, and managing your file system in a safe browser-based terminal. (9 missions) - [Fundamentals](https://webterm.app/en/tutorials/basic): Learn essential Linux file operations: cat, ls -l, cp, mv, mkdir -p, echo, grep, and find. Practice viewing file contents, copying, moving, and searching files interactively. (14 missions) - [Advanced](https://webterm.app/en/tutorials/advanced): Master advanced Linux commands: head, tail, less, wc, sort, tree, chmod, and stat. Learn file permissions, text processing, and directory visualization for real-world scenarios. (9 missions) ### Vim - [Vim Basics](https://webterm.app/en/tutorials/vim-basics): Stuck in Vim? Learn how to exit Vim (:q, :wq, :q!, ZZ), enter insert mode, move with hjkl, and search with / - all in an interactive browser terminal. No setup required. (14 missions) - [Vim Editing](https://webterm.app/en/tutorials/vim-editing): Practice real Vim editing: delete with x and dd, undo with u, copy and paste with yy and p, operators like dw and ciw, and global substitution with :%s. Interactive browser terminal, no setup. (13 missions) ### Git - [What is Git?](https://webterm.app/en/tutorials/git-what): Understand what Git is, why version control matters, and learn core concepts like repositories, commits, and branches. A conceptual introduction to Git for absolute beginners. (6 missions) - [Git Basics](https://webterm.app/en/tutorials/git-intro): Practice the essential Git workflow: git init, git status, git add, git commit, and git log. Build your first Git repository step by step in an interactive browser terminal. (9 missions) - [Git Fundamentals](https://webterm.app/en/tutorials/git-basic): Master everyday Git operations: branching with git checkout, viewing changes with git diff, managing staging with git reset, and undoing changes with git restore. Hands-on practice with 19 missions. (19 missions) ### Git Troubleshooting - [Undo a Commit](https://webterm.app/en/tutorials/git-trouble-undo-commit): Accidentally committed the wrong files? Learn how to safely undo your last Git commit with git reset --soft. Practice step by step in an interactive browser terminal. (8 missions) - [Resolve Merge Conflicts](https://webterm.app/en/tutorials/git-trouble-conflict): Merge conflicts are inevitable in team development. Learn to read conflict markers, resolve conflicts, and complete the merge - all in an interactive browser terminal. (12 missions) - [Committed to Wrong Branch](https://webterm.app/en/tutorials/git-trouble-wrong-branch): Accidentally committed to main instead of a feature branch? Learn to rescue your commits using git branch and git reset in an interactive browser terminal. (8 missions) - [Recover Lost Commits](https://webterm.app/en/tutorials/git-trouble-lost-commit): Accidentally ran git reset --hard and lost your commits? Learn to find and restore them using git reflog in an interactive browser terminal. (9 missions) - [Emergency Branch Switch](https://webterm.app/en/tutorials/git-trouble-stash): Need to switch branches but have uncommitted changes? Learn to use git stash to temporarily save your work and restore it later. (10 missions) - [Remove Committed Secrets](https://webterm.app/en/tutorials/git-trouble-secret): Accidentally committed API keys or passwords? Learn to remove sensitive files from Git tracking using git rm --cached and .gitignore. (9 missions) ## Command reference (English) - [Linux command list](https://webterm.app/en/commands): Every Linux command the WebTerm terminal implements. Nothing to install, and you can run any of them straight away without touching your real files. - [ls command: list files and directories](https://webterm.app/en/commands/ls): ls prints what is inside a directory. Learn what -l and -a do, and how to read every column of ls -l, by typing the commands in a real terminal in your browser. - [pwd command: show the directory you are in](https://webterm.app/en/commands/pwd): pwd prints where you currently are, as an absolute path. Learn how to check your bearings after moving around with cd, by running the commands in a real terminal in your browser. - [cd command: move between directories](https://webterm.app/en/commands/cd): cd changes the directory you are working in. Learn what .. , - and a bare cd each do, by running the commands in a real terminal in your browser. - [mkdir command: create directories](https://webterm.app/en/commands/mkdir): mkdir creates directories. Learn how -p builds a whole path at once and how to read a File exists error, by running the commands in a real terminal in your browser. - [touch command: create empty files and update timestamps](https://webterm.app/en/commands/touch): touch creates an empty file, or updates the timestamp of one that already exists. Learn when each behaviour applies, by running the commands in a real terminal in your browser. - [rm command: delete files and directories](https://webterm.app/en/commands/rm): rm deletes files. There is no recycle bin and no undo. Learn what -r and -f really do, and why the combination is feared, in a browser terminal where nothing can go wrong. - [cat command: print the contents of a file](https://webterm.app/en/commands/cat): cat prints a file straight to the screen. Learn how to add line numbers, join files together, and why it is the wrong tool for long files, by running the commands in a real terminal in your browser. - [cp command: copy files and directories](https://webterm.app/en/commands/cp): cp copies a file and leaves the original in place. Learn how to copy under a new name, copy into a directory, duplicate a whole directory with -r, and avoid the silent overwrite, by running the commands in a real terminal in your browser. - [mv command: move files and rename them](https://webterm.app/en/commands/mv): mv moves a file, and renaming is the same operation seen from a different angle. Learn how moving within one directory becomes a rename, and how to avoid the silent overwrite, by running the commands in a real terminal in your browser. - [grep command: find text inside files](https://webterm.app/en/commands/grep): grep prints the lines of a file that match what you are looking for. Learn -n for line numbers, -i to ignore case and -r to search a whole directory, by running the commands in a real terminal in your browser. - [find command: locate files by name or type](https://webterm.app/en/commands/find): find walks a directory tree and lists what matches. Learn -name to filter by name, -type to separate files from directories and -maxdepth to stop it going deeper, by running the commands in a real terminal in your browser. - [less command: page through a long file](https://webterm.app/en/commands/less): less shows a long file one screen at a time. Learn the movement keys, searching with /, and how to get out with q, by running the commands in a real terminal in your browser. - [head command: show the beginning of a file](https://webterm.app/en/commands/head): head prints just the start of a file. Learn the default of ten lines, how to set the count with -n, and what happens with several files, by running the commands in a real terminal in your browser. - [tail command: show the end of a file](https://webterm.app/en/commands/tail): tail prints just the end of a file. Learn the default of ten lines, how to set the count with -n, and how -f follows a log as it is written, by running the commands in a real terminal in your browser. - [chmod command: change file permissions](https://webterm.app/en/commands/chmod): chmod changes who may read, write and run a file. Learn how to read rwx, what numbers like 755 and 644 mean, and when to use +x instead, by running the commands in a real terminal in your browser. - [man command: read a command's manual](https://webterm.app/en/commands/man): man opens the official manual for a command. Learn which sections to read first, how to search for the option you need, and how to get out with q, by running the commands in a real terminal in your browser. - [echo command: print text and variable values](https://webterm.app/en/commands/echo): echo prints whatever you hand it. Learn how to check what is inside an environment variable, when to use single or double quotes, and how `>` writes the text to a file, by running the commands in a real terminal in your browser. - [wc command: count lines, words and bytes](https://webterm.app/en/commands/wc): wc counts the lines, words and bytes in a file. Learn how to count log lines, how to count what `grep` found, and how to get the number on its own, by running the commands in a real terminal in your browser. - [sort command: put lines in order](https://webterm.app/en/commands/sort): sort reorders the lines of a file. Learn when you need `-n` for numbers, how `-u` drops duplicates, and how `-t` and `-k` pick a column in a CSV, by running the commands in a real terminal in your browser. - [tree command: see the directory structure as a diagram](https://webterm.app/en/commands/tree): tree draws the contents of a directory as a branching diagram. Learn how `-L` limits the depth, how `-d` shows directories only, and how `-a` reveals hidden files, by running the commands in a real terminal in your browser. - [du command: find out which directory is using the space](https://webterm.app/en/commands/du): du reports how much space each directory uses. Learn the `-sh` total, the `--max-depth=1` breakdown, and how to list the biggest directories first, by running the commands in a real terminal in your browser. - [df command: check how much disk space is left](https://webterm.app/en/commands/df): df shows how much space each filesystem has left. Learn how to read `-h` output, how `df -h .` names the filesystem you are writing to, and why `df -i` explains a full disk with space on it, by running the commands in a real terminal in your browser. - [ps command: see what is running right now](https://webterm.app/en/commands/ps): ps lists the processes that are running. Learn how to read the columns of `ps aux`, how to find one process with `grep`, and how to get the PID that `kill` needs, by running the commands in a real terminal in your browser. - [kill command: stop a running process](https://webterm.app/en/commands/kill): kill asks a running process to stop. Learn how to find the PID, when `-9` is the right answer and why it usually is not, and what the signals mean, by running the commands in a real terminal in your browser. - [tar command: pack a directory into a single file](https://webterm.app/en/commands/tar): tar bundles files into one compressed archive. Learn the three shapes you actually use, `-czf` to create, `-tzf` to look inside and `-xzf` to extract, by running the commands in a real terminal in your browser. - [which command: find out which program actually runs](https://webterm.app/en/commands/which): which tells you which file a command name actually runs. Learn how PATH decides the order, how to diagnose `command not found`, and why your own script is invisible until two things are true, by running the commands in a real terminal in your browser. - [chown command: change who owns a file](https://webterm.app/en/commands/chown): chown changes the owner and group of a file. Learn why it needs `sudo`, what the `user:user` form means, and how `-R` covers a whole directory, by running the commands in a real terminal in your browser. - [ssh command: log in to another machine](https://webterm.app/en/commands/ssh): ssh logs you in to a remote server. Learn how to create a key and hand over the public half, what Permission denied (publickey) really means, and how to run a single command remotely, in a real terminal in your browser. - [vim command: edit a file inside the terminal](https://webterm.app/en/commands/vim): vim is the editor that runs in your terminal. Learn how to get out with `:q!`, how the modes work, and the handful of movement and editing keys worth knowing, in a real terminal in your browser. - [git command: record your changes as history](https://webterm.app/en/commands/git): git records changes to your code. Learn how to read `git status`, what separates `add` from `commit`, and how to read the history with `git log`, by running the commands in a real terminal in your browser. - [sed command: replace text without opening the file](https://webterm.app/en/commands/sed): sed substitutes text in a file without opening it. Learn the `s/old/new/` form, how `-i` edits the file itself, and how to select or delete lines, by running the commands in a real terminal in your browser. - [diff command: show what changed between two files](https://webterm.app/en/commands/diff): diff compares two files line by line. Learn how to read `<` and `>`, when to use `-u` or `-y`, and how `-q` answers the yes-or-no question, by running the commands in a real terminal in your browser. - [cut command: keep only the columns you need](https://webterm.app/en/commands/cut): cut takes selected fields or characters out of every line. Learn when to use `-d` with `-f` and when to cut by character position with `-c`, by running the commands in a real terminal in your browser. - [uniq command: collapse repeated lines and count them](https://webterm.app/en/commands/uniq): uniq collapses adjacent identical lines. Learn why it is always paired with `sort`, how `-c` counts occurrences, and what `-d` and `-u` are for, by running the commands in a real terminal in your browser. - [tr command: replace or delete characters](https://webterm.app/en/commands/tr): tr translates and deletes characters. Learn how to change case, how to turn a separator into newlines, and how `-s` squeezes runs of spaces, by running the commands in a real terminal in your browser. - [tee command: print to the screen and save to a file](https://webterm.app/en/commands/tee): tee writes what passes through a pipe to a file as well as the screen. Learn how it differs from `>`, when to add `-a`, and why `sudo tee` is the way to edit a root-owned file, by running the commands in a real terminal in your browser. - [xargs command: turn a list into arguments](https://webterm.app/en/commands/xargs): xargs takes what comes down a pipe and hands it to the next command as arguments. Learn how to act on `find` results, when to use `-n`, and how `-I {}` places the value, by running the commands in a real terminal in your browser. - [awk command: pick columns, filter rows, add them up](https://webterm.app/en/commands/awk): awk splits each line into columns and works on them. Learn how `$1` picks a column, how a condition filters rows, and how `END` produces a total, by running the commands in a real terminal in your browser. - [sudo command: run one command as the administrator](https://webterm.app/en/commands/sudo): sudo runs a single command with administrator rights. Learn exactly what changes, why it has no effect on `>`, and why `sudo tee` exists, by running the commands in a real terminal in your browser. - [systemctl command: start, stop and inspect services](https://webterm.app/en/commands/systemctl): systemctl controls the services on a Linux machine. Learn how to read `status`, why `start` and `enable` are different, and how to list what is running, by running the commands in a real terminal in your browser. - [journalctl command: read the logs of a service](https://webterm.app/en/commands/journalctl): journalctl reads the logs systemd collects. Learn how `-u` narrows to one service, how `-n` shows just the end, and what `-f` does, by running the commands in a real terminal in your browser. - [crontab command: run a command on a schedule](https://webterm.app/en/commands/crontab): crontab registers jobs that run on a schedule. Learn how to read the five time fields, the `-l` and `-e` workflow, and how to load a schedule from a file, by running the commands in a real terminal in your browser. - [top command: find what is eating the machine](https://webterm.app/en/commands/top): top shows running processes and keeps refreshing. Learn how to read the screen, how to get out, and how `-b` makes it usable from a script, by running the commands in a real terminal in your browser. - [ping command: check whether you can reach a host](https://webterm.app/en/commands/ping): ping tests whether packets reach a host and come back. Learn why you want `-c`, how to read the output, and how to tell a name problem from a network problem, by running the commands in a real terminal in your browser. - [curl command: make HTTP requests from the terminal](https://webterm.app/en/commands/curl): curl fetches a URL from the terminal. Learn how `-I` shows just the headers, how `-o` and `-O` save to a file, and how `-X`, `-d` and `-H` call an API, by running the commands in a real terminal in your browser. - [scp command: copy files to and from a server](https://webterm.app/en/commands/scp): scp copies files over the SSH connection. Learn how sending and fetching are written, why directories need `-r`, and why the port flag is a capital `-P`, by running the commands in a real terminal in your browser. ## Other pages (English) - [Tutorials](https://webterm.app/en/tutorials): Hands-on, interactive lessons for the Linux terminal and Git. Pick a tutorial and practice directly in your browser, no setup required. - [Practice Git in Your Browser](https://webterm.app/en/git): Run real Git commands against a live repository and watch what each one does. No install, no sign-up. Start with your first commit and work up to fixing merge conflicts. - [Practice Vim in your browser](https://webterm.app/en/vim): From getting out of Vim to editing text, learn by typing in a browser terminal. Nothing to install, no sign-up. - [Free Play](https://webterm.app/en/free-play): Practice Linux terminal commands freely in a safe browser-based sandbox. No installation required. Experiment with file operations, Git commands, and more without risk. ## チュートリアル(日本語) ### ターミナル - [はじめに](https://webterm.app/ja/tutorials/terminal-basics): ターミナルの基本的な入力方法、矢印キーやEmacsショートカットによるカーソル移動、コマンド履歴、タブ補完を学びます。コマンドライン初心者に最適な第一歩です。(全7ミッション) - [入門](https://webterm.app/ja/tutorials/beginner): Linuxの基本コマンドpwd、ls、cd、mkdir、touch、rmを習得。ディレクトリの移動、ファイルやフォルダの作成・削除をブラウザ上の安全なターミナルで練習できます。(全9ミッション) - [基礎](https://webterm.app/ja/tutorials/basic): Linuxの必須ファイル操作コマンドcat、ls -l、cp、mv、mkdir -p、echo、grep、findを学習。ファイルの表示、コピー、移動、検索をインタラクティブに練習できます。(全14ミッション) - [応用](https://webterm.app/ja/tutorials/advanced): head、tail、less、wc、sort、tree、chmod、statなどの応用Linuxコマンドを習得。ファイル権限の管理、テキスト処理、ディレクトリの可視化を実践的に学べます。(全9ミッション) ### Vim - [Vim入門](https://webterm.app/ja/tutorials/vim-basics): 「Vimから出られない」をここで卒業。:q・:wq・:q!・ZZ での終了、i での入力、hjkl での移動、/ での検索を、ブラウザのインタラクティブなターミナルで練習できます。インストール不要。(全14ミッション) - [Vim編集操作](https://webterm.app/ja/tutorials/vim-editing): x・dd での削除、u / Ctrl+r の取り消しとやり直し、yy / p のコピーと貼り付け、dw / ciw のオペレータ、:%s の一括置換まで。実際に手を動かしながらブラウザで練習できます。(全13ミッション) ### Git - [Gitとは?](https://webterm.app/ja/tutorials/git-what): Gitとは何か、バージョン管理がなぜ重要なのか、リポジトリ・コミット・ブランチなどの基本概念を学びます。Git完全初心者のための概念入門チュートリアルです。(全6ミッション) - [Git入門](https://webterm.app/ja/tutorials/git-intro): git init、git status、git add、git commit、git logの基本ワークフローを実践。ブラウザ上のインタラクティブターミナルで、はじめてのGitリポジトリをステップバイステップで作成します。(全9ミッション) - [Git基礎](https://webterm.app/ja/tutorials/git-basic): git checkoutによるブランチ操作、git diffでの変更確認、git resetによるステージング管理、git restoreでの変更取り消しなど、日常的なGit操作を19のミッションで実践的に習得します。(全19ミッション) ### Gitトラブルシューティング - [コミットの取り消し](https://webterm.app/ja/tutorials/git-trouble-undo-commit): 間違えてコミットしてしまった?git reset --softでコミットを安全に取り消す方法をブラウザ上の対話型ターミナルで実践。ステージング状態を保ったままコミットをやり直すテクニックを学びます。(全8ミッション) - [マージコンフリクトの解決](https://webterm.app/ja/tutorials/git-trouble-conflict): チーム開発で避けられないGitマージコンフリクト。コンフリクトマーカーの読み方からファイル編集、解決コミットまでをブラウザ上の対話型ターミナルで実践的に学びます。(全12ミッション) - [間違ったブランチへのコミット](https://webterm.app/ja/tutorials/git-trouble-wrong-branch): main に直接コミットしてしまった変更を feature ブランチに移す方法を、git branch と git reset を使ってブラウザ上で実践的に学びます。(全8ミッション) - [消えたコミットの復元](https://webterm.app/ja/tutorials/git-trouble-lost-commit): git reset --hard で誤って消してしまったコミットを git reflog で見つけて復元する方法を、ブラウザ上の対話型ターミナルで実践的に学びます。(全9ミッション) - [緊急ブランチ切り替え](https://webterm.app/ja/tutorials/git-trouble-stash): 未コミットの変更がある状態で別ブランチに切り替える必要がある時、git stash で作業を一時退避して安全にブランチを移動する方法を学びます。(全10ミッション) - [秘密情報のコミット取り消し](https://webterm.app/ja/tutorials/git-trouble-secret): APIキーやパスワードが入った .env ファイルを誤ってコミットしてしまった場合の対処法。git rm --cached と .gitignore を使ってブラウザ上で実践的に学びます。(全9ミッション) ## コマンド解説(日本語) - [Linuxコマンド一覧](https://webterm.app/ja/commands): WebTermのターミナルで動くLinuxコマンドの一覧です。インストール不要で、気になったコマンドをその場で打って動きを確かめられます。 - [lsコマンド|ファイルとディレクトリを一覧表示する](https://webterm.app/ja/commands/ls): ls はいまいるディレクトリの中身を表示するコマンドです。-l や -a の意味、ls -l が出す各列の読み方を、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [pwdコマンド|いま自分がいるディレクトリを表示する](https://webterm.app/ja/commands/pwd): pwd は「いまどこにいるか」を絶対パスで表示するコマンドです。cd で迷子になったときの現在地の確かめ方を、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [cdコマンド|ディレクトリを移動する](https://webterm.app/ja/commands/cd): cd はディレクトリを移動するコマンドです。.. で上へ、- で直前の場所へ、引数なしでホームへ。書き方ごとの動きを、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [mkdirコマンド|ディレクトリを作成する](https://webterm.app/ja/commands/mkdir): mkdir はディレクトリを作るコマンドです。-p で途中の階層ごと作る方法や、File exists で失敗したときの読み方を、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [touchコマンド|空のファイルを作る・更新日時を変える](https://webterm.app/ja/commands/touch): touch は空のファイルを作るコマンドです。既にあるファイルに打つと更新日時だけが変わります。2つの顔の使い分けを、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [rmコマンド|ファイルやディレクトリを削除する](https://webterm.app/ja/commands/rm): rm はファイルを削除するコマンドです。ゴミ箱には入らず、元に戻せません。-r と -f の意味と危険な組み合わせを、壊しても大丈夫なブラウザ上のターミナルで確認できます。 - [catコマンド|ファイルの中身を表示する](https://webterm.app/ja/commands/cat): cat はファイルの中身をそのまま画面に出すコマンドです。行番号の付け方、複数ファイルのつなげ方、長いファイルで使うべきではない理由を、ブラウザ上のターミナルで打ちながら確認できます。 - [cpコマンド|ファイルやディレクトリをコピーする](https://webterm.app/ja/commands/cp): cp はファイルをコピーするコマンドです。名前を変えてのコピー、ディレクトリへのコピー、-r でディレクトリごと複製する方法と、黙って上書きされる落とし穴を、ブラウザ上のターミナルで打ちながら確認できます。 - [mvコマンド|ファイルを移動する・名前を変える](https://webterm.app/ja/commands/mv): mv はファイルを移動するコマンドで、名前を変えるコマンドでもあります。同じ場所へ移すことが改名になる理由と、黙って上書きされる落とし穴を、ブラウザ上のターミナルで打ちながら確認できます。 - [grepコマンド|ファイルの中から文字列を探す](https://webterm.app/ja/commands/grep): grep はファイルの中身から、条件に一致する行だけを取り出すコマンドです。-n で行番号、-i で大文字小文字を無視、-r でディレクトリを丸ごと検索する使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [findコマンド|ファイルを名前や種類で探す](https://webterm.app/ja/commands/find): find は階層の下にあるファイルを、名前や種類で探すコマンドです。-name での絞り込み、-type の使い分け、-maxdepth で深さを止める方法を、ブラウザ上のターミナルで打ちながら確認できます。 - [lessコマンド|長いファイルをスクロールして読む](https://webterm.app/ja/commands/less): less は長いファイルを1画面ずつ読むためのコマンドです。スクロールのキー、/ での検索、q で抜ける操作を、ブラウザ上のターミナルでそのまま打ちながら確認できます。 - [headコマンド|ファイルの先頭だけを表示する](https://webterm.app/ja/commands/head): head はファイルの先頭だけを取り出すコマンドです。既定の10行、-n での行数指定、複数ファイルを渡したときの見出しを、ブラウザ上のターミナルで打ちながら確認できます。 - [tailコマンド|ファイルの末尾だけを表示する](https://webterm.app/ja/commands/tail): tail はファイルの末尾だけを取り出すコマンドです。既定の10行、-n での行数指定、ログを流れたまま見る -f の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [chmodコマンド|ファイルの権限を変える](https://webterm.app/ja/commands/chmod): chmod はファイルの読み書き実行の権限を変えるコマンドです。rwx の読み方、755 や 644 といった数字の意味、+x の書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [manコマンド|コマンドの説明書を読む](https://webterm.app/ja/commands/man): man はコマンドの公式の説明書を読むコマンドです。読み方の順番、必要なオプションの探し方、q で抜ける操作を、ブラウザ上のターミナルで打ちながら確認できます。 - [echoコマンド|文字と変数の中身を表示する](https://webterm.app/ja/commands/echo): echo は渡した文字をそのまま表示するコマンドです。環境変数の中身の確かめ方、クォートの使い分け、`>` でファイルに書き出す書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [wcコマンド|行数・単語数・バイト数を数える](https://webterm.app/ja/commands/wc): wc はファイルの行数・単語数・バイト数を数えるコマンドです。ログの行数の数え方、`grep` の結果を数える書き方、ファイル名を出さずに数字だけ取り出す方法を、ブラウザ上のターミナルで打ちながら確認できます。 - [sortコマンド|行を並べ替える](https://webterm.app/ja/commands/sort): sort はファイルの行を並べ替えるコマンドです。数字として並べる `-n`、重複を消す `-u`、CSV の列を指定する `-t` と `-k` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [treeコマンド|ディレクトリ構成を図で見る](https://webterm.app/ja/commands/tree): tree はディレクトリの中身を枝分かれの図で表示するコマンドです。深さを制限する `-L`、ディレクトリだけを見る `-d`、隠しファイルも出す `-a` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [duコマンド|どのディレクトリが重いのかを調べる](https://webterm.app/ja/commands/du): du はディレクトリごとの使用量を調べるコマンドです。合計だけ出す `-sh`、1階層だけ見る `--max-depth=1`、大きい順に並べる書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [dfコマンド|ディスクの空きを確かめる](https://webterm.app/ja/commands/df): df は機械のディスクがどれだけ空いているかを見るコマンドです。`-h` の読み方、いまいる場所のファイルシステムを調べる `df -h .`、容量が空いているのに書けないときの `df -i` を、ブラウザ上のターミナルで打ちながら確認できます。 - [psコマンド|いま動いているプロセスを見る](https://webterm.app/ja/commands/ps): ps は動いているプロセスの一覧を出すコマンドです。`ps aux` の列の読み方、`grep` で目的のプロセスを探す書き方、`kill` に渡す PID の見つけ方を、ブラウザ上のターミナルで打ちながら確認できます。 - [killコマンド|動いているプロセスを止める](https://webterm.app/ja/commands/kill): kill は動いているプロセスに終了を頼むコマンドです。PID の調べ方、`-9` を使う場面と使わないほうがいい理由、シグナルの意味を、ブラウザ上のターミナルで打ちながら確認できます。 - [tarコマンド|ディレクトリを1つのファイルに固める](https://webterm.app/ja/commands/tar): tar は複数のファイルを1つに固めて圧縮するコマンドです。`-czf` で作る、`-tzf` で中身を見る、`-xzf` で取り出すという3つの形と、オプションの覚え方を、ブラウザ上のターミナルで打ちながら確認できます。 - [whichコマンド|そのコマンドの実体がどこにあるかを調べる](https://webterm.app/ja/commands/which): which は、打ったコマンドが実際にどのファイルを実行するのかを調べるコマンドです。PATH の探す順番、`command not found` の切り分け方、自分で入れたコマンドが見つからないときの直し方を、ブラウザ上のターミナルで打ちながら確認できます。 - [chownコマンド|ファイルの持ち主を変える](https://webterm.app/ja/commands/chown): chown はファイルの所有者とグループを変えるコマンドです。`sudo` が要る理由、`user:user` の書き方、ディレクトリごと変える `-R` を、ブラウザ上のターミナルで打ちながら確認できます。 - [sshコマンド|別のマシンにログインする](https://webterm.app/ja/commands/ssh): ssh は離れたサーバーにログインするコマンドです。公開鍵の作り方と渡し方、Permission denied (publickey) の意味、コマンドを1つだけ実行する書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [vimコマンド|ターミナルの中でファイルを編集する](https://webterm.app/ja/commands/vim): vim はターミナルの中で動くエディタです。抜けられなくなったときの `:q!`、モードの切り替え、最低限の移動と編集のキーを、ブラウザ上のターミナルで実際に動かしながら確認できます。 - [gitコマンド|変更を記録して履歴に残す](https://webterm.app/ja/commands/git): git はソースコードの変更を記録するコマンドです。`git status` の読み方、`add` と `commit` の違い、`git log` での履歴の見方を、ブラウザ上のターミナルで打ちながら確認できます。 - [sedコマンド|ファイルの中身を置換する](https://webterm.app/ja/commands/sed): sed はファイルを開かずに文字列を置換するコマンドです。`s/前/後/` の書き方、`-i` でファイルそのものを書き換える方法、行を選んで消す書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [diffコマンド|2つのファイルの違いを出す](https://webterm.app/ja/commands/diff): diff は2つのファイルの違いを行単位で表示するコマンドです。`<` と `>` の読み方、`-u` と `-y` の見やすい形式、同じかどうかだけ知りたいときの `-q` を、ブラウザ上のターミナルで打ちながら確認できます。 - [cutコマンド|行から必要な列だけを取り出す](https://webterm.app/ja/commands/cut): cut は各行から指定した列や文字だけを取り出すコマンドです。区切り文字を指定する `-d` と `-f`、文字位置で切る `-c` の使い分けを、ブラウザ上のターミナルで打ちながら確認できます。 - [uniqコマンド|重複した行をまとめて数える](https://webterm.app/ja/commands/uniq): uniq は隣り合った同じ行を1つにまとめるコマンドです。`sort` と組にする理由、件数を出す `-c`、重複だけを見る `-d` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [trコマンド|文字を置き換える・消す](https://webterm.app/ja/commands/tr): tr は文字単位で置き換え・削除を行うコマンドです。大文字にする書き方、区切り文字を改行に変える使い方、余分な空白を潰す `-s` を、ブラウザ上のターミナルで打ちながら確認できます。 - [teeコマンド|画面に出しながらファイルにも保存する](https://webterm.app/ja/commands/tee): tee はパイプの途中で結果をファイルにも書き出すコマンドです。`>` との違い、追記の `-a`、権限のあるファイルに書き込む `sudo tee` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [xargsコマンド|一覧を次のコマンドの引数に変える](https://webterm.app/ja/commands/xargs): xargs はパイプで受け取った一覧を、次のコマンドの引数として渡すコマンドです。`find` の結果をまとめて処理する書き方、1つずつ渡す `-n`、位置を指定する `-I {}` を、ブラウザ上のターミナルで打ちながら確認できます。 - [awkコマンド|列を取り出して条件で絞り、集計する](https://webterm.app/ja/commands/awk): awk は行を列に分けて処理するコマンドです。`$1` で列を取り出す書き方、条件で行を絞る書き方、`END` で合計を出す書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [sudoコマンド|管理者の権限でコマンドを実行する](https://webterm.app/ja/commands/sudo): sudo はそのコマンドだけを管理者の権限で実行するコマンドです。何が変わるのか、`>` に効かない理由、`sudo tee` という書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [systemctlコマンド|サービスを起動・停止・確認する](https://webterm.app/ja/commands/systemctl): systemctl は Linux のサービスを操作するコマンドです。`status` の読み方、`start` と `enable` の違い、動いているサービスの一覧の見方を、ブラウザ上のターミナルで打ちながら確認できます。 - [journalctlコマンド|サービスのログを読む](https://webterm.app/ja/commands/journalctl): journalctl は systemd が集めたログを読むコマンドです。サービスで絞る `-u`、末尾だけ見る `-n`、流れ続けるログを追う `-f` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [crontabコマンド|決まった時刻にコマンドを自動実行する](https://webterm.app/ja/commands/crontab): crontab は定期実行の予定を登録するコマンドです。5つの数字の読み方、`-l` で確認して `-e` で編集する流れ、ファイルから登録する書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [topコマンド|いま重いプロセスを見つける](https://webterm.app/ja/commands/top): top は動いているプロセスを更新し続けながら表示するコマンドです。画面の読み方、抜け方、スクリプトから使う `-b` の書き方を、ブラウザ上のターミナルで打ちながら確認できます。 - [pingコマンド|相手に届いているかを確かめる](https://webterm.app/ja/commands/ping): ping は相手のホストに届くかどうかを確かめるコマンドです。`-c` で回数を決める書き方、出力の読み方、返ってこないときの切り分け方を、ブラウザ上のターミナルで打ちながら確認できます。 - [curlコマンド|ターミナルから HTTP を叩く](https://webterm.app/ja/commands/curl): curl はターミナルから URL にアクセスするコマンドです。ヘッダーだけ見る `-I`、ファイルに保存する `-o` と `-O`、API を叩く `-X` と `-d` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。 - [scpコマンド|サーバーとファイルをやりとりする](https://webterm.app/ja/commands/scp): scp は SSH の経路を使ってファイルを送受信するコマンドです。送る・取ってくるの書き分け、ディレクトリごと送る `-r`、ポートを指定する `-P` を、ブラウザ上のターミナルで打ちながら確認できます。 ## その他のページ(日本語) - [チュートリアル一覧](https://webterm.app/ja/tutorials): Linuxターミナルと Git を手を動かして学べるインタラクティブ教材。ブラウザ上でそのまま練習でき、環境構築は不要です。 - [ブラウザで Git を練習する](https://webterm.app/ja/git): 本物の Git コマンドを実際のリポジトリに対して実行し、一つひとつの動きを確かめられます。インストールも登録も不要。最初のコミットから、マージコンフリクトの解決までを順に練習できます。 - [ブラウザで Vim を練習する](https://webterm.app/ja/vim): Vim の抜け方から編集操作まで、ブラウザのターミナルで手を動かして覚えられます。インストールも登録も不要です。 - [自由に遊ぶ](https://webterm.app/ja/free-play): ブラウザ上で安全にLinuxターミナルコマンドを自由に練習できるサンドボックス。インストール不要。ファイル操作やGitコマンドをリスクなく試せます。 ## Other languages - French: https://webterm.app/fr - German: https://webterm.app/de - Spanish: https://webterm.app/es - Portuguese: https://webterm.app/pt - Dutch: https://webterm.app/nl - Arabic: https://webterm.app/ar ## Notes - Every tutorial is free and needs no sign-up. - The terminal is a simulator, not a virtual machine. It reproduces the behaviour of real commands for learning, but cannot install packages into a real distribution. - Source code is not publicly available.