コマンドライン入門: gitとssh、そして必須コマンドをマスターしよう!

プログラム

はじめに

「黒い画面に白い文字…なんだか難しそう…」

コマンドライン操作に、そんなイメージを持っている方もいるかもしれません。しかし、コマンドラインをマスターすれば、コンピュータをより深く理解し、効率的に操作できるようになります。GUI (Graphical User Interface) でマウスを使って行う操作を、コマンドラインではキーボードから文字を入力して指示することで、よりスピーディーかつ柔軟な操作が可能になります。例えば、大量のファイルの名前を一括で変更したり、複雑な条件でファイルを検索したり、といった操作もコマンドラインなら簡単に行えます。

さらに、コマンドラインは自動化にも力を発揮します。一連の操作をスクリプトとして記述することで、繰り返し行う作業を自動化し、時間と労力を大幅に削減することができます。

この記事では、Windows の cmd や Mac のターミナルで使用する git、ssh、そしてその他のコマンドについて、初心者の方でも理解しやすいように丁寧に解説していきます。基本的なコマンドから応用的なコマンドまで、豊富な実例を交えながらご紹介しますので、ぜひ最後まで読んで、コマンドラインの世界に足を踏み入れてみましょう!

gitの基本

git は、ファイルの変更履歴を管理するためのバージョン管理システムです。ソースコードの変更履歴を管理したり、複数人で共同作業を行う際に非常に役立ちます。

git を使うことで、以下の様なメリットがあります。

  • 変更履歴の管理: すべての変更が記録されるため、過去のバージョンに戻したり、変更内容を比較したりすることが容易になります。
  • 共同作業の効率化: 複数人で同じファイルを編集する場合でも、変更内容が競合することなく、スムーズに作業を進めることができます。
  • 実験的な変更: 新しい機能を追加する際などに、既存のコードに影響を与えることなく、自由に実験を行うことができます。
  • バックアップ: ローカルリポジトリとリモートリポジトリの両方でファイルを管理することで、データの損失を防ぐことができます。

gitのインストール

Windows では、公式ウェブサイト (https://git-scm.com/) からインストーラーをダウンロードして実行することで、git をインストールできます。Mac では、Homebrew などのパッケージマネージャーを利用してインストールするのが一般的です。

Bash

brew install git

gitの基本的なコマンド

git には、様々なコマンドがありますが、まずは以下の基本的なコマンドを覚えておきましょう。

  • git init: 新しい git リポジトリを作成します。
    • 例えば、myproject という名前のディレクトリを git リポジトリとして初期化するには、myprojectディレクトリに移動し、以下のコマンドを実行します。
    Bashcd myproject git init
  • git add: ファイルをステージングエリアに追加します。
    • ステージングエリアとは、次にコミットする変更を一時的に保存しておく場所です。例えば、index.html というファイルをステージングエリアに追加するには、以下のコマンドを実行します。
    Bashgit add index.html
    • ワイルドカード * を使用して、複数のファイルを一度に追加することもできます。例えば、*.html とすると、拡張子が .html のファイルをすべて追加できます。
    Bashgit add *.html
  • git commit: 変更をリポジトリにコミットします。
    • コミットとは、変更内容をリポジトリに記録することです。コミットメッセージには、変更内容を分かりやすく記述しましょう。例えば、”index.html を更新” というコミットメッセージを付けてコミットするには、以下のコマンドを実行します。
    Bashgit commit -m "index.html を更新"
  • git push: ローカルリポジトリの変更をリモートリポジトリにプッシュします。
    • ローカルで行った変更を、GitHub などのリモートリポジトリに反映させるために、git push コマンドを使用します。
    • 初めてプッシュする場合は、リモートリポジトリとローカルリポジトリを紐付ける必要があります。
    Bashgit push -u origin main
    • -u オプションは、ローカルブランチ main をリモートブランチ main に追跡させるオプションです。一度設定すれば、次回からは git push のみでプッシュできます。
  • git pull: リモートリポジトリの変更をローカルリポジトリにプルします。
    • 他のユーザーがリモートリポジトリに行った変更を、自分のローカルリポジトリに反映させるために、git pull コマンドを使用します。
    Bashgit pull origin main

Working with Remotes

リモートリポジトリとは、ネットワーク上にある git リポジトリのことです。GitHub や GitLab など、様々なサービスがリモートリポジトリを提供しています。

リモートリポジトリを利用することで、以下のようなことが可能になります。

  • バックアップ: ローカルリポジトリとは別に、リモートリポジトリにも変更履歴が保存されるため、データの損失を防ぐことができます。
  • 共同作業: 複数人で同じプロジェクトを共有し、共同で開発を進めることができます。
  • コードの公開: オープンソースプロジェクトなど、自分のコードを公開したい場合に、リモートリポジトリを利用することができます。

リモートリポジトリを操作するための基本的なコマンドは以下の通りです。

  • git remote add: リモートリポジトリを追加します。
    • 例えば、origin という名前でリモートリポジトリを追加するには、以下のコマンドを実行します。
    Bashgit remote add origin <リモートリポジトリのURL>
  • git remote -v: 登録されているリモートリポジトリを表示します。
    • 以下のコマンドを実行すると、登録されているリモートリポジトリの名前と URL が表示されます。
    Bashgit remote -v

ブランチを使いこなそう

ブランチとは、開発ラインを分岐させる機能です。新しい機能の開発やバグ修正などを行う際に、メインの開発ラインに影響を与えることなく、独立した環境で作業することができます。

ブランチを操作するための基本的なコマンドは以下の通りです。

  • git branch: ブランチの一覧を表示します。
    • 現在のブランチには * が付いて表示されます。
    Bashgit branch
  • git branch <ブランチ名>: 新しいブランチを作成します。
    • 例えば、feature/new-feature という名前のブランチを作成するには、以下のコマンドを実行します。
    Bashgit branch feature/new-feature
  • git checkout <ブランチ名>: ブランチを切り替えます。
    • 例えば、feature/new-feature ブランチに切り替えるには、以下のコマンドを実行します。
    Bashgit checkout feature/new-feature
  • git merge <ブランチ名>: ブランチをマージします。
    • 例えば、feature/new-feature ブランチの変更を main ブランチにマージするには、main ブランチに切り替えた後、以下のコマンドを実行します。
    Bashgit checkout main git merge feature/new-feature

変更履歴を確認しよう

  • git log: コミット履歴を表示します。
    • 過去のコミット履歴を確認することができます。
    Bashgit log
  • git diff: 変更内容を表示します。
    • ステージングエリアに追加された変更や、コミットされていない変更を確認することができます。
    Bashgit diff

sshの基本

ssh (Secure Shell) は、安全にリモートコンピュータに接続するためのプロトコルです。パスワード認証だけでなく、公開鍵認証による安全な接続方法を提供しています。

ssh を使うことで、以下の様なメリットがあります。

  • セキュリティ: 通信内容が暗号化されるため、盗聴や改ざんのリスクを低減することができます。
  • 利便性: パスワードを入力する必要がないため、スクリプトによる自動化などが容易になります。

ssh接続

ssh でリモートコンピュータに接続するには、以下のコマンドを実行します。

ssh ユーザー名@ホスト名
  • ユーザー名: リモートコンピュータにログインする際のユーザー名
  • ホスト名: リモートコンピュータのホスト名または IP アドレス

例えば、ユーザー名 user で、ホスト名 example.com のリモートコンピュータに接続するには、以下のコマンドを実行します。

Bash

ssh user@example.com

ssh鍵認証

ssh 鍵認証は、パスワード認証よりも安全な接続方法です。公開鍵と秘密鍵のペアを作成し、公開鍵をリモートコンピュータに登録することで、秘密鍵を持つユーザーだけが接続できるようになります。

ssh 鍵認証を設定する手順は以下の通りです。

  1. 鍵ペアの作成ssh-keygen コマンドを実行して、鍵ペアを作成します。Bashssh-keygen
    • パスフレーズを設定することもできます。パスフレーズを設定した場合は、接続時にパスフレーズを入力する必要があります。
  2. 公開鍵の登録: 作成した公開鍵 (~/.ssh/id_rsa.pub) の内容を、リモートコンピュータの ~/.ssh/authorized_keys ファイルに追加します。
    • ssh-copy-id コマンドを使うと、公開鍵をリモートコンピュータにコピーすることができます。
    Bashssh-copy-id user@example.com

よく使うコマンド

git や ssh 以外にも、コマンドラインでよく使うコマンドがいくつかあります。

  • ls: ファイルやディレクトリの一覧を表示します。
    • ls -l オプションを付けると、ファイルの所有者、サイズ、最終更新日時などの詳細情報も表示されます。
    Bashls -l
  • cd: ディレクトリを移動します。
    • cd ディレクトリ名 で指定したディレクトリに移動します。
    • cd .. で一つ上の階層のディレクトリに移動します。
    • cd / でルートディレクトリに移動します。
    • cd ~ でホームディレクトリに移動します。
    Bashcd Documents
  • mkdir: 新しいディレクトリを作成します。
    • mkdir ディレクトリ名 で指定した名前のディレクトリを作成します。
    Bashmkdir new_directory
  • rm: ファイルやディレクトリを削除します。
    • rm ファイル名 でファイルを削除します。
    • rm -r ディレクトリ名 でディレクトリを削除します。 -r オプションは、ディレクトリとその中のファイルをすべて削除する場合に必要です。
    • rm -f ファイル名 で確認メッセージを表示せずにファイルを削除します。
    Bashrm old_file.txt
  • cp: ファイルやディレクトリをコピーします。
    • cp ファイル名 コピー先ファイル名 でファイルをコピーします。
    • cp -r ディレクトリ名 コピー先ディレクトリ名 でディレクトリをコピーします。
    Bashcp report.txt report_backup.txt
  • mv: ファイルやディレクトリを移動します。
    • mv ファイル名 移動先ファイル名 でファイルを移動します。
    • mv ディレクトリ名 移動先ディレクトリ名 でディレクトリを移動します。
    Bashmv image.jpg images/
  • grep: ファイルから特定の文字列を検索します。
    • grep 検索文字列 ファイル名 で指定したファイルから文字列を検索します。
    Bashgrep "エラー" log.txt
  • find: ファイルやディレクトリを検索します。
    • find 検索開始ディレクトリ -name ファイル名 で指定したディレクトリ以下からファイルを検索します。
    Bashfind . -name "*.txt"
  • chmod: ファイルやディレクトリのパーミッションを変更します。
    • パーミッションとは、ファイルやディレクトリへのアクセス権限のことです。
    Bashchmod 755 script.sh
  • chown: ファイルやディレクトリの所有者を変更します。Bashchown user:group file.txt
  • sudo: 管理者権限でコマンドを実行します。
    • 通常のユーザーでは実行できないコマンドを実行する場合に使用します。
    Bashsudo apt update
  • apt: Debian/Ubuntu 系 Linux ディストリビューションでパッケージを管理するためのコマンドです。
    • パッケージのインストール、アップデート、削除などを行うことができます。
    Bashsudo apt install python3
  • brew: macOS でパッケージを管理するためのコマンドです。
    • Homebrew をインストールすることで、様々なソフトウェアを簡単にインストールすることができます。
    Bashbrew install node

シェルスクリプト入門

シェルスクリプトとは、コマンドラインで実行するコマンドをまとめたファイルのことです。シェルスクリプトを使うことで、一連の操作を自動化することができます。

簡単なシェルスクリプトの例を以下に示します。

Bash

#!/bin/bash

# 今日の日付を取得
today=$(date +%Y-%m-%d)

# ディレクトリを作成
mkdir backup_$today

# ファイルをバックアップ
cp -r important_files backup_$today

このシェルスクリプトは、以下の処理を行います。

  1. 今日の 날짜 を取得し、変数 today に格納します。
  2. backup_ + 今日の日付という名前のディレクトリを作成します。
  3. important_files ディレクトリを、新しく作成したディレクトリにコピーします。

コマンドラインを使いこなすためのTips

  • タブ補完: コマンドやファイル名を入力する際に、Tab キーを押すと、入力候補が表示されます。これにより、入力ミスを減らし、効率的にコマンドを入力することができます。
  • コマンド履歴: 上矢印キーを押すと、過去に入力したコマンドが表示されます。これにより、同じコマンドを何度も入力する手間を省くことができます。
  • エイリアス: よく使う長いコマンドを短いコマンドに置き換えることができます。例えば、git status を gs と置き換えるには、~/.bashrc ファイルに alias gs='git status' と記述します。

まとめ

この記事では、コマンドラインの基本、git、ssh、そしてその他のコマンドラインの基本について解説しました。コマンドラインをマスターすれば、コンピュータをより深く理解し、効率的に操作できるようになります。

コマンドラインは、一見すると難しそうに思えるかもしれません。しかし、基本的なコマンドを覚え、実際に手を動かして使ってみることで、その便利さに気づくはずです。この記事で紹介したコマンドや Tips を参考に、ぜひコマンドラインの世界を探求してみてください。

さらに、シェルスクリプトを学ぶことで、コマンドラインの力を最大限に引き出すことができます。繰り返し行う作業を自動化したり、複雑な処理を効率化したりすることができます。

コマンドラインの世界は奥深く、まだまだ学ぶべきことがたくさんあります。

より深く学びたい方は、以下の resources を参考にしてください。

  • git公式ドキュメントhttps://git-scm.com/doc
  • ssh公式ウェブサイトhttps://www.openssh.com/
  • コマンドライン入門書籍:
    • 「Linuxコマンドライン大全」翔泳社
    • 「シェルスクリプト入門」技術評論社

コマンドラインマスターへの道

コマンドラインをマスターするには、実際に手を動かしてコマンドを実行してみるのが一番です。この記事で紹介したコマンドを参考に、色々なコマンドを試して、コマンドラインに慣れていきましょう。

最初は戸惑うこともあるかもしれませんが、諦めずに使い続けることで、必ずコマンドラインを使いこなせるようになります。コマンドラインの世界を楽しんでください!

たび友|サイトマップ

関連webアプリ

たび友|サイトマップ:https://tabui-tomo.com/sitemap

たび友:https://tabui-tomo.com

ピー友:https://pdftomo.tabui-tomo.com

パス友:https://passtomo.tabui-tomo.com

クリプ友:https://cryptomo.tabui-tomo.com

タイトルとURLをコピーしました
たび友 ぴー友
クリプ友 パス友
サイトマップ お問い合わせ
©2025 たび友