Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コマンドラインの使い方 / GitHub CLI
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kaityo256
PRO
October 04, 2021
Education
3k
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
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
6
1.3k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.7k
この講義について / 00-setup
kaityo256
PRO
2
410
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
330
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
550
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
320
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
390
バージョン管理とは / 01-a-vcs
kaityo256
PRO
1
360
Gitの仕組みと用語 / 01-b-term
kaityo256
PRO
1
450
Other Decks in Education
See All in Education
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.1k
✅ レポート採点基準 / How Your Reports Are Assessed
yasslab
PRO
0
370
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
13
3.5k
2026年度春学期 統計学 講義の進め方と成績評価について (2026. 4. 9)
akiraasano
PRO
0
200
[2026前期火5] 論理学(京都大学文学部 前期 第10回)「論理学の哲学——意味とは何か(Tonkと推論主義)」
yatabe
0
140
[2026前期火5] 論理学(京都大学文学部 前期 第9回)「正規化の停止性——ヒドラゲームによる証明」
yatabe
0
130
Visionary Initiative: Future Intelligence 「未来の知性と社会の礎を築く」|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
500
[2026前期火5] 論理学(京都大学文学部 前期 第5回)「 ならばの問題演習・proof net・かつの規則」
yatabe
0
320
Modern Data Fetching Techniques in Angular
debug_mode
0
220
Stardy 会社紹介資料
stardy
0
1.3k
モブ社員がモブエンジニアを名乗って得られたこと_20260413
masakiokuda
4
540
2026年度春学期 統計学 第4回 データを「分布」で見る (2026. 4. 30)
akiraasano
PRO
0
150
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
Speed Design
sergeychernyshev
33
1.9k
WENDY [Excerpt]
tessaabrams
11
38k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Claude Code のすすめ
schroneko
67
230k
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」