Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コマンドラインの使い方 / GitHub CLI
Search
kaityo256
PRO
October 04, 2021
Education
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コマンドラインの使い方 / GitHub CLI
物理情報工学ソフトウェア開発演習
kaityo256
PRO
October 04, 2021
More Decks by kaityo256
See All by kaityo256
What is XAI?
kaityo256
PRO
0
180
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.8k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
6.1k
この講義について / 00-setup
kaityo256
PRO
2
520
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
430
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
710
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
400
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
510
バージョン管理とは / 01-a-vcs
kaityo256
PRO
2
530
Other Decks in Education
See All in Education
AIがコードを書く時代に、何を教えるのか / What Should We Teach in the Age of AI-Generated Code?
ichiroc
1
560
【2026年サマースクール用ZEPメタバース校舎操作ガイド】
ainischool
0
110
Sanapilvet opetuksessa
matleenalaakso
1
36k
批判的応用言語学ワークショップ(2026-08-12 お茶の⽔⼥⼦⼤学)
terasawat
0
190
学生のうちに考えておきたい信頼の話
suisan
1
800
sepm-training-sample
levii
0
240
エビデンスベースト英語教育入門:エビデンスは科学的知見(だけ)ではない,制度だ!
terasawat
0
210
One Year of Learning English with AI @エンジニア英語キャリア Meetup #3
kekekenta
0
230
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
340
良書紹介08_ 頭のいい子がやっているすごいグラフの読み方
bunnchinn3
0
160
Antigravityを使ってGeminiAPI(NanobananaPro)と連携して挿絵メーカーを作った
yoshimura_datam
0
230
輻射安全管理系統2.0暨輻防e++學園平台說明會
aecrp
0
2.1k
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
109
250k
Leo the Paperboy
mayatellez
10
2.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
260
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Become a Pro
speakerdeck
PRO
31
6.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
BBQ
matthewcrist
89
10k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Design in an AI World
tapps
1
320
Transcript
1 33 コマンドラインの使い方 慶應義塾大学理工学部物理情報工学科 渡辺 物理情報工学ソフトウェア開発演習
2 33 Gitは、もともとLinuxの開発のために作られた コマンドラインから操作することが前提 本講義でもGitを主にコマンドラインから操作する そもそもコマンドラインとは何か?
3 33 ユーザ コンピュータ インタフェース コンピュータに何かさせるにはユーザが「指示」をする必要がある 指示を伝える手段が「インタフェース」
4 33 グラフィカルユーザインタフェース (Graphical User Interface, GUI) コマンドラインインタフェース (Command-Line Interface,
CLI) コンピュータへ出す指示を画面上で視覚的に表現する 操作や対象を抽象化したアイコンを利用する マウスやタッチパネルなどを入力デバイスとする コマンド文字列でコンピュータへ指示を出す キャラクタユーザインタフェース(CUI)とも キーボードを主な入力デバイスとする
5 33 コマンドライン操作やUNIXコマンドといった 「黒い画面」での操作に慣れる
6 33 本講義では、Gitを「Git Bash」から操作する Git BashはWindows上でUNIXベースのターミナルを 実現するソフトウェア Bashはシェルの一種であり、コマンドを受け付ける
7 33 ハードウェア オペレーティング システム シェル ユーザ オペレーティングシステム (Operating System,
OS) ハードウェアを抽象化し、ソフトウェアとハードウェアの仲立ちをする WindowsやMac、Linux、iOSやAndroid等 シェル (Shell) ユーザとOS(カーネル)の仲立ちをするのがシェル ユーザの要望をOSに伝える
8 33 ディレクトリ (Directory) 複数のファイルをまとめるフォルダのこと 以後、フォルダのことを「ディレクトリ」と呼ぶ カレントディレクトリ (Current Directory) ワーキングディレクトリとも
「現在自分が見ているディレクトリ」のこと CUIだとどこにいるかわからなくなる場合があるので注意 ホームディレクトリ (Home Directory) ターミナルを開いた直後のカレントディレクトリ 引数無しのcdコマンドで戻ってくる場所
9 33 パス (path) 階層構造の中でファイルの位置を示す文字列 デフォルトでファイルを探しに行くディレクトリ 絶対パス (absolute path) 最上位階層から目的のファイルまでの位置
相対パス (relative path) カレントディレクトリから目的のファイルまでの位置 ルートディレクトリ
10 33 c Data Apps Fig Music fig1.png カレント ディレクトリ
ルート ディレクトリ 目的の ファイル c/Data/Fig/fig1.png Fig/fig1.png 絶対パス 相対パス
11 33 特別なディレクトリ . .. カレントディレクトリ カレントディレクトリの親ディレクトリ 相対パスで「真下」以外のパスを指定するのに使用
12 33 c Data Apps Fig Music fig1.png カレント ディレクトリ
ルート ディレクトリ 目的の ファイル c/Data/Fig/fig1.png ../Fig/fig1.png 絶対パス 相対パス
13 33 シェルにおいて、ユーザからの入力待ちを示すもの Git Bashでは、「$」の隣でカーソルが点滅する $ ls –la dir コマンドプロンプト
(command prompt) コマンド (command) プロンプトに入力する命令 引数(ひきすう)やオプションを指定できる コマンド プロンプト コマンド オプション 引数
14 33 指定したディレクトリ内のファイルやディレクトリを表示する 引数を指定しない場合はカレントディレクトリ直下を表示する temp dir1 dir2 file1.txt file2.txt file3.txt
カレントディレクトリ lsが表示する範囲 引数 (argument) コマンドの直接の目的語 $ ls dir1/ dir2/ file1.txt file2.txt $ ls dir1 file3.txt
15 33 オプション (option) コマンドの振る舞いを変えるもの ハイフンに続けて渡す 一度に複数指定することもできる $ ls -l
total 0 drwxr-xr-x 1 watanabe 197121 0 Sep 26 23:06 dir1/ drwxr-xr-x 1 watanabe 197121 0 Sep 26 23:06 dir2/ -rw-r--r-- 1 watanabe 197121 0 Sep 26 23:06 file1.txt -rw-r--r-- 1 watanabe 197121 0 Sep 26 23:06 file2.txt $ ls -a ./ ../ dir1/ dir2/ file1.txt file2.txt -l リスト表示 -a 隠しファイルも表示する
16 33 できない操作を指示するとエラーが表示される $ ls non-existing-dir ls: cannot access 'non-existing-dir':
No such file or directory 例: lsの引数に存在しないディレクトリを指定した エラーの現象と理由が表示される 現象:non-existing-dirにアクセスできない 理由:そんなファイルやディレクトリが存在しない エラーメッセージは平易な英語なので読めるはず ちゃんと読むのが脱初心者への近道 → 読め!
17 33 引数で指定したディレクトリをカレントディレクトリとする 引数を指定しない場合はホームディレクトリへ移動する $ cd dir1 $ ls file3.txt
temp dir1 dir2 file1.txt file2.txt file3.txt lsが表示する範囲 cd dir1 ls
18 33 $ cd 引数無しではホームディレクトリへ移動する 場所がよくわからなくなったらこれを使う $ cd .. 親ディレクトリへ移動する
よく使うので覚えておくこと
19 33 引数で指定したディレクトリを作成する (新規作成→フォルダ) 引数は必須 $ ls dir1/ dir2/ file1.txt
file2.txt $ mkdir dir3 $ ls dir1/ dir2/ dir3/ file1.txt file2.txt ディレクトリ dir3を作成 ディレクトリ dir3が作成された ※ ディレクトリの削除はrmdirだが、あまり使わない
20 33 ファイルやディレクトリの移動、リネームを行う 「移動元」「移動先」と引数を二つとる 移動元は存在するファイルやディレクトリでなければならない 移動先が存在するかしないかで動作が変わる mv 移動元 移動先 移動先が存在するディレクトリ
→そこに移動 移動先が存在しないファイルやディレクトリ →移動元のファイルやディレクトリを移動した上でリネーム
21 33 temp dir1 dir2 file1.txt file2.txt file3.txt カレントディレクトリ $
mv file1.txt dir2 mv ファイル ディレクトリ ファイルをそのディレクトリへ移動する
22 33 mv ファイル ディレクトリ ファイルをそのディレクトリへ移動する temp dir1 dir2 file1.txt
file2.txt file3.txt カレント ディレクトリ $ mv ../file1.txt .
23 33 mv ファイル ファイル temp dir1 dir2 file1.txt file2.txt
file3.txt カレントディレクトリ $ mv file2.txt file3.txt file3.txt リネーム
24 33 ファイルをコピーする 移動元のファイルが消えない以外はほぼmvと同じ temp dir1 dir2 file1.txt file2.txt file3.txt
カレント ディレクトリ $ cp –r dir1 dir2 dir1 file3.txt ディレクトリのコピーには-rオプションが必要
25 33 ファイルやディレクトリを削除する ディレクトリの削除には-rオプションが必要 temp dir1 dir2 file1.txt file2.txt file3.txt
カレントディレクトリ $ rm –r dir1 ※ 問答無用で中身ごと削除するので注意。-iオプションを付けると確認する
26 33 cat ファイル名 ファイルの中身を表示する echo メッセージ メッセージを表示する echo メッセージ
| プログラム メッセージを中身とするファイルを作成 echo メッセージ > ファイル名 メッセージをプログラムの入力として実行
27 33 Vim (ヴィム) 多くの環境でGitのデフォルトエディタ モードという概念がある とっつきにくいが慣れると使いやすい
28 33 ノーマル モード インサート モード ビジュアル モード コマンドライン モード
https://knowledge.sakura.ad.jp/21687/ ゴリラと学ぶVim講座 i ESC ESC ESC : v
29 33 Vimのモードはここを見ればわかる ノーマルモード :何も表示されない インサートモード:「-- INSERT --」と表示 ビジュアルモード:「-- VISUAL
--」と表示 コマンドモード : 「:」が表示され入力待ちに
30 33 ESCキーを押してノーマルモードに戻る ファイル名が指定されている? Shift + ZZ (シフトキーを押しながらZを二回) 現在の編集内容を保存する? コマンドモードで
: q! コマンドモードで :wq ファイル名 No No Yes Yes ※ 既存のファイルを上書きする場合はwq!
31 33 GitからVimが呼び出される場合、ファイル名が指定された状態、 かつノーマルモードで起動される 1. 「i」を押してインサートモードへ 2. 内容を編集 3. エスケープキーを押してノーマルモードへ
4. 「ZZ」でエディタを抜ける その後、以下の作業をすればよい
32 33 ノーマルモードで様々な編集ができる とりあえずこれだけ覚えておく(後で使います) カーソル移動 カーソル位置の行を切り取り 切り取った行をカーソル位置の行の下に貼り付け 切り取った行をカーソル位置の行の上に貼り付け h j
k l dd p P
33 33 インタフェースにはコマンドラインとグラフィカルなものがある 本講義ではGitを主にコマンドラインで使う コマンドラインインタフェースでは、プロンプトにコマンドを入力する コマンドには引数やオプションを与える エラーメッセージを読む インタフェースについて Vim 本講義ではGitのエディタとしてVimを使う
Vimにはモードがある 困ったらエスケープキー 終了は「ZZ」