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.2k
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
生成AIとの付き合い方/ How to work with AI
kaityo256
PRO
3
930
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
310
What is XAI?
kaityo256
PRO
0
220
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.9k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
17
6.1k
この講義について / 00-setup
kaityo256
PRO
3
560
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
500
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
750
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
450
Other Decks in Education
See All in Education
The Dirty Dozen: 12 gala mistakes you don’t know you’re making
auctria
PRO
0
230
Before You Scale: Understand the Theory Behind the Simulation
pfn
PRO
1
170
LP2627
cbtlibrary
0
160
Quality Control of Crude Drugs
pawan_pharm
0
210
Pharmacognosy_Chapter_-1.pdf , Definition, history & scope of pharmacognosy
ak679839
1
130
CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)
signer
PRO
1
3.5k
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.7k
オンラインコミュニティ TRY部 体験マニュアル
ytapples613
0
390
25-26 CBT Library top items
cbtlibrary
0
380
人工知能とは/IntroAI02
kfujita
0
110
SANG PENCIPTA BERBICARA (01ABSG-Q4-2026)
ssmedikasda
0
520
Réunion des directrices et directeurs des écoles de la circonscription de Jonzac - 31 août 2026
fmarot
0
170
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
How to Talk to Developers About Accessibility
jct
2
600
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Tell your own story through comics
letsgokoyo
1
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
500
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
650
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」