Webとデザインのあれこれ

プログラミングとUIデザインの学習記録です。

Terminalの基本を覚える #3(Part6-9)

Terminalの基本(後半)

本記事は以下の構成です!

  • Package Managerの導入
  • ファイル操作のコマンドの紹介
  • 作業の自動化について
  • 結局、黒い画面って???

Package Managerの導入

  • Package Managerってなんだ?
    • Package Managerというのは、OSの環境でソフトの依存関係を自動で管理してくれるツール

少し難しいですが、ターミナルでは様々なコマンドを組み合わせて処理を実行します。 ソフト同士が相互依存の関係であるため、あるソフトがアップデートされると、 関係する他のソフトも同様にバージョンアップしてあげる必要があります。

これをその都度手動で管理するのは大変なので、自動で管理してくれる便利なツールを利用する必要があります。

macOSのPackage ManagerであるHomebrewをインストールしました!

Homebrew brew.sh

installするには、 下記の手順を踏みます。

x-code-select --install
  • Homebrewのインストール

Homebrewをインストールすると/usr/local以下にコマンドが増えるため、
/usr/localディレクトリの所有者を自分のユーザーに変更しておくと便利です。

sudo chown -R $(whoami) $(brew --prefix)/*

Homebrewをインストールするには、ホームページで最新のコマンドを確認します。

f:id:b_leiu:20190131202157p:plain

RubyCurlコマンドの組み合わせですね。 インストール後、「brew doctor」をコマンドを実行し、下記のように表示されたらOKです。

f:id:b_leiu:20190131202640p:plain

Homebrewを使ってみよう

使用方法は簡単。brewというコマンドが増えています。 ソフトを検索して、インストール。

brew search name #ソフトの一覧を表示
brew install name #ソフトをダウンロード
brew uninstall name #必要ない場合はアンインストール(楽ですね!)

以上になります。

ファイル操作のコマンド整理

$touch foo #空ファイルの作成
$mkdir bar  #ディレクトリの作成
$mkdir -p  foo/buz/bat #pオプションで深い階層のディレクトリを1発作成
$cp foo /tmp #ファイルのコピー(fooファイルをtmpディレクトリにコピー)
$cp foo bar #fooファイルをbarファイルという名前でコピー
$cp -r foo /tmp #rオプションを使用し、fooディレクトリをコピー
$mv foo bar #ファイルおよびディレクトリの移動、元ファイルは消えます
$rm bar #ファイルの削除
$mkdir -p  foo/buz/bat
$rm -r foo #rオプションでfooディレクトリごと削除
$cat /etc/hosts #ファイルの中身を表示、引数2つの場合中身をつなげる

注意すべきなのはrmです。rオプションと使用するとディレクトリを丸ごと削除できるので多用しない方がいいかと思われます。
mvコマンドはオプションを使用しなくても、ディレクトリを移動できます。
cpコマンドでrオプションを使用せずに、ディレクトリをコピーしようとするとエラーが出ます。基本的にはファイルのコピーですね。

作業の自動化

ターミナル上で様々な機能を組み合わせて、作業の自動化ができます。
実行して欲しいコマンドを順番に書いたものを「スクリプト」と呼びますが、 スクリプト実行の上で知っておくとよいものがあります。

Shebang(シバンと呼びます)

  • Shebangとは??? > #!で始まる行のこと。

!で始まる行が、インタープリターと呼ばれるスクリプトを実行するプログラムを指定します。

例えば、以下の例。

#! /bin/sh #この下に書かれたスクリプトが順番に実行されていく

この場合、!で始まる行がshプログラムをインタープリターに指定します。そして、2行め以降に書かれたスクリプトがshプログラムによって順に実行されます。

PATHの設定

自動化のため作成したスクリプトは、自分でディレクトリを作り(binディレクトリ)、 そこに保存することが多いです。 元々存在する/usr/binなどは他ユーザーにも影響するため、自分独自のスクリプトは置かない方が賢明です。

この場合フルパスをコマンドで入力するのが面倒なため、PATHに設定をしてあげると便利です。

export PATH=$PATH:~/bin #PATHの設定にはexportを使用します。

※〜は「チルダ」といい、ホームディレクトリのことです。$HOMEを一文字で表すことが可能です。

PATHに設定すれば、フルパスを打たずに自分独自のスクリプトをコマンドのように打てますね!

Homebrew内のソフトなどと組み合わせて、作業をどんどん自動化しましょう。

黒い画面の正体

今まで黒い画面(デフォルトは白いですが)を使用してきました。 ここでは黒い画面の構成要素(いずれもソフトウェアです)を確認します!

  • ターミナル(.app)
    • Terminalというハードウェアをソフトウェアで模倣( emulate)したもの、正式にはTerminal Emulator(ターミナルエミュレータ)
    • 入出力装置
  • shell
    • ユーザーからの入力内容を受けて、プログラムを実行する機能
    • $マークを出すのはここ
    • /bin/shのshはshellのこと

それぞれ代替ソフトがあります。

特にshellは様々なものが存在しており、Macのデフォルトのshellはshではなく、Bashです。

最後に

コマンドや用語の解説など長くなりました。 ターミナルの記事は以上となります!