本文へスキップ
totonoe.tech

Linuxを整える

初級

Linuxコマンドを整える。

= 「ファイルをコピーしたい」から基本コマンドを引いて、架空のフォルダで打って試せる

Linux が初めての方は、先に そもそも Linux とは・何に使われているか をどうぞ。

TRY ① 仮想ターミナルで試す — 架空のフォルダ /home/user 打つたびに右(スマホでは下)の木が変わります(入力は外に出ません)

↑ ↓ キーで前に打ったコマンドを呼び出せます。

押すだけで試せる例

フォルダの木 — 操作するたびに変わります

  • 現在地 cd した先
  • + 増えた
  • − 消えた
  • → 動いた
  • ✎ 変わった

    ※ これは架空のフォルダで、あなたの実際のファイルではありません(入力は端末の外へ出ません)。木は /home/user(~)の中だけを表示し、この中だけ変更できます。ページを開き直す・「最初に戻す」で元に戻ります。

    ② やりたいことから基本コマンドを引く

    ボタンで選ぶか、検索欄に「コピー」「名前を変える」などと入力します。例の「▶ 試す」を押すと、上の仮想ターミナルでそのまま動きます。

    pwd 仮想ターミナルで試せる

    今いるフォルダの場所(パス)を表示します。迷子になったらまずこれ。

    主なオプション

    -P
    ショートカット(シンボリックリンク)をたどった実際の場所を表示

    例

    • pwd 今の場所を表示
    • cd documents && pwd 移動してから場所を確かめる

    ls 仮想ターミナルで試せる

    フォルダの中にあるファイルとフォルダを一覧にします。

    主なオプション

    -l
    1行ずつ詳しく(権限・持ち主・サイズ・日付)
    -a
    「.」で始まる隠しファイルも表示
    -h
    -l と組み合わせてサイズを K・M で読みやすく
    -F
    フォルダの後ろに / を付けて見分けやすく
    -1
    1行に1つずつ並べる

    例

    • ls ふつうの一覧
    • ls -l 詳しい一覧
    • ls -la 隠しファイルも詳しく
    • ls documents 別のフォルダの中身

    cd 仮想ターミナルで試せる

    別のフォルダへ移動します(change directory)。

    主なオプション

    (なし)
    引数なしで自分のホーム(~)へ戻る
    ..
    ひとつ上のフォルダへ
    ~
    ホームフォルダ(/home/user)
    -
    直前にいたフォルダへ戻る

    例

    • cd documents 相対パスで入る
    • cd photos/trip && pwd 2階層ぶん一気に
    • cd photos && cd .. ひとつ上に戻る
    • cd /tmp 絶対パス(/ から始まる)で移動

    注意 cd はフォルダにしか入れません。ファイル名を渡すと「Not a directory」になります。

    mkdir 仮想ターミナルで試せる

    新しいフォルダを作ります(make directory)。

    主なオプション

    -p
    途中のフォルダもまとめて作る(すでにあってもエラーにしない)
    -v
    作ったフォルダを表示

    例

    • mkdir work work フォルダを作る
    • mkdir -p a/b/c 3階層をまとめて作る
    • mkdir a/b 途中の a が無いとエラー(-p の必要性を体験)

    rmdir 仮想ターミナルで試せる

    空のフォルダを消します。中身があると消せない、安全寄りのコマンドです。

    主なオプション

    -p
    空になった親フォルダも順に消す
    -v
    消したフォルダを表示

    例

    • rmdir old 空の old フォルダを消す
    • rmdir photos 中身があるので消せない(エラーを体験)

    注意 中身のあるフォルダは消せません。中身ごと消すには rm -r を使います(取り消せないので慎重に)。

    touch 仮想ターミナルで試せる

    空のファイルを作ります。すでにあるファイルは、更新日時だけを今に変えます。

    主なオプション

    -c
    ファイルが無いときは作らない
    -a / -m
    参照日時だけ・更新日時だけを変える

    例

    • touch new.txt 空の new.txt を作る
    • touch a.txt b.txt c.txt 3つ同時に作る
    • touch memo.txt 既存ファイルの更新日時だけ新しくする

    cp 仮想ターミナルで試せる

    ファイルやフォルダをコピーします(copy)。元は残ります。

    主なオプション

    -r / -R
    フォルダを中身ごとコピー(フォルダには必須)
    -i
    上書きする前に確認する
    -n
    同じ名前があれば上書きしない
    -v
    コピーの経過を表示
    -a
    権限・日時もできるだけ保ってコピー(-r を含む)

    例

    • cp memo.txt memo2.txt ファイルを別名でコピー
    • cp memo.txt documents フォルダの中へコピー
    • cp -r photos backup フォルダを中身ごとコピー
    • cp photos backup -r を忘れるとエラー(体験)

    注意 同じ名前のファイルがあると、確認なしで上書きされます。大事なものには -i か -n を付けましょう。

    mv 仮想ターミナルで試せる

    ファイルやフォルダを移動します。同じフォルダの中で使うと「名前の変更」になります(move)。

    主なオプション

    -i
    上書きする前に確認する
    -n
    同じ名前があれば上書きしない
    -v
    移動の経過を表示

    例

    • mv memo.txt documents フォルダへ移動
    • mv memo.txt note.txt 名前を変える
    • mv photos/cat.jpg . 今の場所(.)へ持ってくる
    • mv photos pictures フォルダの名前を変える

    注意 mv にはフォルダ用の -r は要りません。行き先に同じ名前のファイルがあると、確認なしで上書きされます。

    rm 仮想ターミナルで試せる

    ファイルを消します(remove)。ごみ箱を通らず、その場で消えます。

    主なオプション

    -r / -R
    フォルダを中身ごと消す
    -i
    1つずつ確認する(y / n)
    -f
    確認もエラーも出さずに消す(強制)
    -v
    消したものを表示
    -d
    空のフォルダを消す

    例

    • rm memo.txt ファイルを1つ消す
    • rm photos フォルダには -r が必要(エラー体験)
    • rm -r photos フォルダを中身ごと消す
    • rm -i memo.txt 確認つきで消す
    • rm -rf / 絶対に本物で打たない。ここでは実行されません

    注意 元に戻せません。ごみ箱はありません。特に rm -rf(確認なしで中身ごと)を / や ~ に向けると、システムやホーム全体が消えます。打つ前に、対象を ls で確かめる習慣を。

    cat 仮想ターミナルで試せる

    ファイルの中身をそのまま画面に出します。

    主なオプション

    -n
    行番号を付けて表示
    (複数)
    cat a b とすると a の後ろに b を続けて表示

    例

    • cat memo.txt メモの中身を見る
    • cat -n documents/report.txt 行番号つきで
    • cat memo.txt documents/todo.txt 2つを続けて

    注意 長いファイルは画面を流れ去ります。そのときは less を使います。画像などバイナリに使うと文字化けします。

    less

    長いファイルを1画面ずつ、上下にスクロールしながら読みます。

    主なオプション

    Space / b
    1画面進む / 戻る
    / 語
    語を検索(n で次)
    q
    終了

    例

    • less /var/log/syslog ログを1画面ずつ読む

    注意 読むだけで、書き換わることはありません。やめるときは q。

    head

    ファイルの先頭の数行だけを表示します。

    主なオプション

    -n 数
    先頭から何行出すか(省略すると10行)

    例

    • head -n 3 access.log 先頭3行だけ見る

    tail

    ファイルの末尾の数行だけを表示します。ログの確認の定番です。

    主なオプション

    -n 数
    末尾から何行出すか(省略すると10行)
    -f
    増えていく行を追いかけて表示し続ける(止めるのは Ctrl+C)

    例

    • tail -n 20 access.log 最後の20行を見る
    • tail -f app.log 新しい行をリアルタイムで見る

    echo 仮想ターミナルで試せる

    文字を画面に出します。> と組み合わせるとファイルに書き込めます。

    主なオプション

    -n
    最後の改行を付けない
    -e
    \n(改行)や \t(タブ)を解釈する
    > ファイル
    ファイルに書く(すでにあれば上書き)
    >> ファイル
    ファイルの末尾に追記

    例

    • echo hello 画面に出す
    • echo hi > hello.txt 新しいファイルに書く
    • echo 追記しました >> memo.txt 末尾に足す
    • echo $HOME 変数の値を出す

    注意 「>」は上書きです。既存ファイルの中身が消えます。足したいときは「>>」。

    man

    コマンドの説明書(マニュアル)を開きます。

    主なオプション

    man コマンド名
    例: man ls。q で閉じる、/ で検索
    --help
    man の代わりに短い使い方を出すコマンドも多い(例: ls --help)

    例

    • man ls ls の説明書を読む

    clear 仮想ターミナルで試せる

    画面の表示をきれいに消します。

    主なオプション

    Ctrl+L
    同じ働きをするキー操作

    例

    • clear ターミナルの表示を消す

    注意 画面が消えるだけで、ファイルやコマンドの履歴は消えません。

    history 仮想ターミナルで試せる

    これまでに打ったコマンドの履歴を番号つきで表示します。

    主なオプション

    -c
    履歴を消す
    !番号
    その番号のコマンドをもう一度実行(本物のシェルで)
    ↑ / Ctrl+R
    前のコマンドを呼び出す・履歴を検索

    例

    • ls && pwd && history いくつか打ってから履歴を見る

    wc

    行数・単語数・バイト数を数えます(word count)。

    主なオプション

    -l
    行数だけ
    -w
    単語数だけ
    -c
    バイト数だけ

    例

    • wc -l memo.txt 行数を数える
    • ls | wc -l ファイルの数を数える(パイプ)

    詳しくは:パイプ(|)の仕組みを体験する

    ln

    別名(リンク)を作ります。ショートカットのようなものです。

    主なオプション

    -s
    シンボリックリンク(Windows のショートカットに近い)。ふだんはこちら

    例

    • ln -s /var/log/syslog mylog mylog という名前で元のファイルを指す

    注意 書く順番は「ln -s 元 新しい名前」。逆にすると、うまく動きません。

    du

    フォルダやファイルが使っているディスク容量を調べます(disk usage)。

    主なオプション

    -h
    K・M・G で読みやすく
    -s
    合計だけを1行で
    --max-depth=1
    1階層ぶんだけ内訳を出す

    例

    • du -sh photos photos 全体の大きさ
    • du -h --max-depth=1 直下のフォルダごとの大きさ

    df

    ディスク全体の空き容量を調べます(disk free)。

    主なオプション

    -h
    K・M・G で読みやすく

    例

    • df -h ディスクごとの使用率と空き

    注意 du は「このフォルダがどれだけ使っているか」、df は「ディスクがあとどれだけ空いているか」。

    which

    コマンドの実体が、どこにあるかを教えてくれます。

    主なオプション

    -a
    見つかったものをすべて表示

    例

    • which python3 python3 が置かれている場所

    そもそも Linux とは

    画面の向こうで世の中を動かしている、無料の OS。

    Linux(リナックス)は、Windows や macOS と同じOS(コンピューターを動かす土台のソフト)の一つです。1991年にフィンランドの学生リーナス・トーバルズが中核部分(カーネル)を公開し、世界中の開発者が手を加えて育ててきました。誰でも無料で使え、中身(ソースコード)も公開されています。

    実際に使うときは、カーネルに道具一式をまとめたディストリビューションを入れます。Ubuntu・Debian・Red Hat Enterprise Linux・AlmaLinux などが代表例で、名前は違っても、このページの ls・cd・cp・mv・rm といった基本コマンドはどれでも同じように使えます。Mac のターミナルでもほぼ同じです。

    どこで使われているか

    • Web サイト・アプリのサーバー

      ふだん見ている Web サイトや、スマホアプリの裏側のサーバーの多くが Linux で動いています。

    • クラウド

      AWS・Google Cloud・Microsoft Azure で借りる仮想サーバーも、多くは Linux を選んで使います。

    • スマホ・家電・機械

      Android の中核は Linux のカーネルです。Wi-Fi ルーター、テレビ、カーナビ、工場の機械などにも組み込まれています。

    • スーパーコンピューター

      世界のスパコン上位500台(TOP500)は、2017年からすべて Linux 系の OS で動いています。

    • ソフトウェア開発

      開発者は Windows の中で Linux を動かす WSL や、アプリを箱詰めして動かす Docker などで、毎日 Linux を使っています。

    • 学習・電子工作

      小さなコンピューター Raspberry Pi の標準の OS も Linux 系で、プログラミング学習や電子工作に使われています。

    なぜマウスでなくコマンドで操作するのか

    • サーバーには画面が無いから。データセンターのサーバーは、離れた場所からネット越しに(ssh で)つないで、文字だけで操作するのがふつうです。
    • 同じ作業を正確に繰り返せるから。打ったコマンドはそのまま手順書になり、並べればスクリプトとして自動で実行できます。クリックの手順は残りにくく、人によってずれます。
    • 軽くて速いから。画面を描かない分、性能の低い機械でも動き、何千個のファイルもコマンド1行で扱えます。

    インフラエンジニアやサーバーを触る開発者にとって、基本コマンドは最初に覚える「読み書き」です。資格では LPIC・LinuC の最初の範囲にあたります。上の仮想ターミナルで、まずは pwd・ls・cd から打ってみてください。

    コマンドの基礎・4つの理解

    打つ前に知っておくと迷わない、4つのこと。

    1. 1

      場所の書き方は2種類:絶対パスと相対パス

      / から始まるのが絶対パス(どこにいても同じ場所を指す)、そうでないのが相対パス(いまの場所から数える)です。. はいまの場所、.. はひとつ上、~ は自分のホームフォルダです。迷ったら pwd で現在地を確かめます。

    2. 2

      コマンド・オプション・引数の並び

      cp -r photos backup は「コマンド(cp)・オプション(-r)・引数(コピー元 photos とコピー先 backup)」です。オプションは -rf のように1文字ずつ連ねられます。大文字と小文字は別物です。

    3. 3

      cp と mv は「同じ名前があれば上書き」、rm は「元に戻せない」

      Linux の rm には Windows や Mac の「ごみ箱」がありません。cp・mv・> も、確認なしで既存ファイルを上書きします。不安なときは -i(確認)を付け、消す前に ls で対象を目で確かめるのが基本です。とくに rm -rf を / や ~ に向けてはいけません。

    4. 4

      エラー文は英語でも、読む場所は決まっている

      たとえば No such file or directory は「その名前が無い」、Permission denied は「権限が無い」、Is a directory は「フォルダだった」です。冒頭のコマンド名と、引用符で囲まれた名前が、どの操作のどの対象で失敗したかを教えてくれます。

    LPIC/LinuC

    ファイルとディレクトリの基本操作(ls・cd・cp・mv・rm・mkdir など)は LPIC-1 / LinuC レベル1の最初に出てくるテーマです。仮想ターミナルはすべてあなたのブラウザの中(純JavaScript)で動き、入力はサーバへ送信されません(送信ゼロ)。実際の挙動は環境(GNU / BSD)で少し違うことがあります。

    このツールについて

    「ファイルをコピーしたい」「名前を変えたい」……やりたいことから基本コマンドを引けて、架空のフォルダの上で打って試せます。ここで何を消しても本物のファイルには影響しません。入力はこの端末から一切出ません(送信ゼロ)。

    「ファイルをコピーしたい」などやりたいことから基本コマンドを引ける早見表と、架空のフォルダで安全に打てる仮想ターミナル。打つたびにフォルダの木が変わり、増えた・消えた・動いたが色と記号で分かります。rm -rf / は実行せず理由を説明。

    🔰 かんたんに言うと

    ls・cp・mv・rm など毎日使う基本コマンドを、やりたいことから引けて、架空のフォルダで打って試せます。

    主な機能

    • やりたいこと(コピー・移動・削除・中身を読むなど)から基本コマンド22本を引ける早見表(主なオプション・例・注意つき)
    • 架空のフォルダ /home/user で pwd・ls・cd・mkdir・touch・cp・mv・rm・cat・echo(> >>)などを実際に打てる仮想ターミナル
    • 操作のたびにフォルダの木が更新され、現在地と、増えた(+)・消えた(−)・動いた(→)・変わった(✎)を色と記号で表示
    • cp -r・mkdir -p・mv の名前変更・rm -r・ワイルドカード(*)・&& に対応し、エラーは本物に近い文言+日本語の説明
    • rm -rf / など危険な操作は実行せず「本物では取り返しがつかない」理由を説明
    • 早見表の例は「▶ 試す」で仮想ターミナルへ、「最初に戻す」で何度でもやり直し・送信ゼロ

    よくある質問

    Q. ここでコマンドを打つと、本物のファイルが消えたり変わったりしますか?

    A. いいえ。このページの仮想ターミナルは、ブラウザの中に作った架空のフォルダ(/home/user)だけを動かします。あなたのパソコンのファイルには一切触れませんし、打った内容も外へ送信されません。「最初に戻す」を押すか、ページを開き直せば元の状態に戻ります。

    Q. rm で消したファイルは、あとで元に戻せますか?

    A. 本物の Linux では戻せません。rm はごみ箱に入れず、その場で消します。消す前に ls で対象を確かめ、不安なときは rm -i(1つずつ確認)を付けるのが基本です。特に rm -rf を / や ~ に向けると、システムやホーム全体が消えます。このページで rm -rf / を打っても実行されず、理由が表示されます。

    Q. cp と mv の違いは何ですか? フォルダのコピーに -r が要るのはなぜですか?

    A. cp は元を残したままコピー、mv は元の場所から取り除いて移動します。同じフォルダの中で mv を使うと「名前の変更」になります。フォルダをコピーするには中身も順にたどる必要があるため -r(再帰的)が必要で、付け忘れると「-r not specified; omitting directory」と言われます。mv にはフォルダ用の -r は要りません。

    Q. grep・find・chmod・tar・パイプ・git はこのページで試せますか?

    A. このページの仮想ターミナルは、pwd・ls・cd・mkdir・rmdir・touch・cp・mv・rm・cat・echo・clear・history が対象です。grep・find・chmod・tar・パイプ・プロセス・git は、それぞれ専用のページで試せます。早見表にはリンクを載せています。

    入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

    続けて整える

    totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

    運営サイト

    私たちが運営するサイト