📘
CS Education の学習ノート(前編)
The Missing Semester of Your CS Education (日本語版)
- 以下の講義ではシェルに関する講義がまとめられている。
https://missing-semester-jp.github.io/
シェル
コマンドプロンプト
- コマンドプロンプトはシェルやCLIの操作画面自体を指す。
- コマンドプロンプトの本来の意味はCLIの入力待ちのときに表示される
$
やC:\Windows\System32>
といった文字列を指す。
環境変数
- UNIX系のシェルでは以下のコマンドで環境変数を確認できる。
- trコマンドは文字列を置換するコマンド
-
\n
に置換することで環境変数のディレクトリを改行して列挙できる。
echo $PATH
echo $PATH | tr ':' '\n'
- WindowsのPowerShellでは以下のコマンドで環境変数を確認できる。
- .split(";")で表示結果を改行できる。
$env:path
$env:path.split(“;”)
- PowerShellは以下のコマンドで任意のコマンドの情報を取得できる。
- flはFormat-Listの略で、リスト形式に出力する。
C:\Windows\System32> Get-Command powershell | fl
manコマンド
- manコマンドでプログラムの挙動を確認できる。(man: manual)
- Powershell では
Get-Help
でも確認が可能。 - コマンドについてはTLDR(Too Long; Didn't Read)といった要約ページでも補完できる。
リダイレクト演算子
- 大なり、小なり記号<,>はプロンプトではリダイレクト演算子と呼ばれ、ファイルの入出力を行うコマンドである。
-
<
ファイル入力の演算子 -
>
ファイル出力の演算子 -
>>
ファイルに追記して出力する演算子
-
エイリアス
- Powershellの
Get-Command
,Get-Item
といった特有のコマンドはコマンドレットと呼ばれる。- コマンドレットには短縮名のエイリアスが設定されていて、エイリアスでコマンドレットが実行可能である。
- 例えば
Copy-Item
にはcp
が設定されていて従来のシェルと同じ感覚でコマンドが実行できる。
ドットファイル
- ドット.で始まるファイル名は通常lsなどでは表示されない隠しファイルとなっている。
- 初期化のプログラムといった変更を嫌うようなファイルが隠しファイルに設定されることが多い。
SSH
-
SSHはSecure Shellの略でSSHを使用することで安全にリモートコンピュータに接続ができる。
-
GithubでもSSHで接続できる。
- sshキーを管理するディレクトリ(ユーザーの~/.sshディレクトリ)に
ssh-keygen
コマンドで公開鍵と秘密鍵を作成する。 - 公開鍵の拡張子は.pubでこの情報をGithubに登録する。
- sshコマンドを使用してGithubにアクセスを行う。
- Githubサーバーで公開鍵を使用して暗号化し、ユーザーの秘密鍵で復号する。
- sshキーを管理するディレクトリ(ユーザーの~/.sshディレクトリ)に
後半のリンク
Discussion