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
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
13
3.5k
2026年度春学期 統計学 第9回 確からしさを記述する ー 確率 (2026. 5. 28)
akiraasano
PRO
0
110
SARA Annual Report 2025-26
sara2023
1
380
Catecismo 26 #1 - Aula inaugural
cm_manaus
0
180
Course Review - Lecture 13 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2.3k
[2026前期火5] 論理学(京都大学文学部 前期 第8回)「正規化定理の証明」
yatabe
0
180
Human-AI Interaction - Lecture 11 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.1k
Course Review - Lecture 13 - Information Visualisation (4019538FNR)
signer
PRO
1
2.6k
Public Space Is Not For Sale
drikkes
0
120
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
1
3.1k
Throw Yourself In! - How I've learned English and What I'm Facing
georgeorge
1
150
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
290
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Leo the Paperboy
mayatellez
7
1.9k
Designing for humans not robots
tammielis
254
26k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
First, design no harm
axbom
PRO
2
1.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
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」