ターミナル
/bin/sh はshellの事。
Macのデフォルトはzsh、bash、他にもcsh、tcshがありchshコマンドで変更できる。
ターミナルのコマンド
・ls
はファイルやディレクトリの一覧を表示
・Pwd
は現在いるディレクトリのパスを表示
・echo
は引数として与えた文字をそのまま画面に表示
・cd
は引数に与えたディレクトリに現在のワーキングディレクトリを変更する(相対パスで指定)
・curl
はネットからファイルをダウンロード
・open
はファイルやURLを開く
(open .はよく使われる)
・touch
は空のファイルを作成
・mkdir
はディレクトリを作成
(-pオプションで深い階層を持つディレクトリも一気に作れる)
・cp
はファイルをコピー
(-rオプションを付ければディレクトリを丸ごとコピーできる)
・mv
はファイルを移動
(cpと違って元のファイルは無くなってしまう。
また、cpと違ってオプションを付けなくてもディレクトリの移動が可能。)
・rm
はファイルを削除
(-rオプションを付けるとディレクトリを丸ごと削除。危ない!)
・cat
はファイルの中身を表示
(本来は引数に渡した二つのファイルを繋げて表示するコマンド)
作業の自動化に使えるコマンド
・sh
はファイルの中に書いたコマンドを順番に実行
・#!
(shebang)はターミナルで実行しようとしたファイルの1行目の最初の二文字が#!だったら、その後に書いてあるコマンドに2行目以降の全てを渡すコマンド。
これを利用して様々なスクリプトを単体で実行できる独自のコマンドにすることができる!
環境変数
最初から設定されている変数で各種コマンドの動作に影響を与えるもの。PATH
はディレクトリ名を設定しておくと、その中にあるプログラムはディレクトリ名を省略してファイル名だけで実行できる
他にもHOME
など
自分だけが使うようなスクリプトはホームディレクトリにbin
というディレクトリを作ってそこに置く人が多い
PATHの設定方法
$ export PATH=$PATH:~/bin
export は環境変数を設定するコマンド
環境変数名と中身を =(イコール)で区切って渡すとその値に設定される~/bin
というのは $HOME/bin
と同じ意味( $HOME
を ~(チルダ)
一文字で表す)
色々なソフトの互換性についてはみんな経験から頭に入っていて管理していると思っていたので、パッケージマネージャーの存在を知りびっくりした!
Homebrew便利すぎるありがたすぎる✨
viはすごくやりづらいけどこれからどの程度使うものか。。
ターミナルは今までの謎が解けスッキリ!楽しかった☺️