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
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
0
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.7k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.8k
この講義について / 00-setup
kaityo256
PRO
2
450
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
370
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
580
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
350
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
420
バージョン管理とは / 01-a-vcs
kaityo256
PRO
2
390
Other Decks in Education
See All in Education
プロポーザルを書く技術とアンチパターン/proposal-writing-and-antipatterns
moriyuya
13
3.5k
良書紹介08_ 頭のいい子がやっているすごいグラフの読み方
bunnchinn3
0
120
[2026前期火5] 論理学(京都大学文学部 前期 第13回)「走って、止まって、積み上がる」
yatabe
0
130
教育現場から見た Ruby on Rails
yasslab
PRO
0
210
[2026前期火5] 論理学(京都大学文学部 前期 第5回)「 ならばの問題演習・proof net・かつの規則」
yatabe
0
360
JAWS-UG初心者支部#81 GWにEduJAWSと何か作ろうもくもく会!
otsuki
0
150
[2026前期火5] 論理学(京都大学文学部 前期 第14回)「計算は、証明ではない——ハルシネーションを三層ハーモニーで診る」
yatabe
0
110
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2.8k
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
240
吉祥寺.pmは1つじゃない — 複数イベント並走運営の12年 —
magnolia
0
1.3k
Case Studies - Lecture 12 - Information Visualisation (4019538FNR)
signer
PRO
0
180
Del ojo entrenado a la visión computacional: evaluación de la severidad de enfermedades
emdelponte
0
100
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
WENDY [Excerpt]
tessaabrams
11
38k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
From π to Pie charts
rasagy
0
240
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Making the Leap to Tech Lead
cromwellryan
135
10k
A designer walks into a library…
pauljervisheath
211
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
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」