プログラミング Tips

ITエンジニアの雑記ブログ。
IT関連ニュースの考察や、プログラミングに関するTipsの備忘録として…
育児や日常の雑記帳としても、記事を投稿していきます。

プログラミングと日常生活に関する情報を発信しています。

コマンド操作系の一覧


前回に続いて、ターミナル操作コマンドを説明する。

Windows, MacのCUIコマンドを比較しながら習得を目指す。

今回は、Macだけが対応しているコマンドに特化する。
  1. コマンドに別名をつける
  2. 引数を変えながら複数回実行
  3. コマンド格納先を調べる
  4. 音声の出力
  5. 花文字の表示
  6. カレンダーの表示
  7. スケジュールの表示
  8. 電卓の実行
  9. 画像データの加工
  10. コマンド検索
  11. コマンド実行時間の計測


コマンドに別名をつける

Windows :非該当
Mac :"alias [別名] ='コマンド' "

"alias"コマンドを用いて、別名(=エイリアス)を付与できる。

オプションや引数を含めて別名を付与できるため、

オリジナルコマンドが生成できる。

補足:別名の削除

"unalias [別名]"を実行する


引数を変えながら、コマンドを複数回実行

Windows :非該当
Mac :"apply [-引数の数] [コマンド] 引数セット1 引数セット2..."

一つのコマンドに対して、複数の引数セットを繰り返し適応できる。

引数の数が一つの場合、指定を省略可能。


コマンド格納先を調べる

Windows :非該当
Mac :"type [コマンド名]"

Macのコマンドは、組み込みのものと実行ファイルで提供されているものがある。

それぞれのコマンドの保存場所を調べるコマンドが"type"である。

組み込みコマンドの場合、「[コマンド名] is a shell builtin」と表示される。

類似コマンドに"which"コマンドがあるが、この場合、組み込みコマンドに対して

何も表示されない。


音声の出力

Windows :非該当
Mac :"say [文字列]"

指定した文字列を読み上げる。

基本的に英語だが、Mac OS X 10.7以降では日本語も対応。

英語モードでもローマ字表記すれば日本語で読み上げが可能。

尚、声の選択肢は"システム環境設定 > テキストの読み上げ"の

[システムの声]を見るとわかる。


花文字の表示

Windows :非該当
Mac :"banner [文字列]"

「#」を並べた拡大表示(=花文字)を表示。

指定可能文字は、大文字・小文字のアルファベット、一部の記号が使用可能。

但し、「<」「>」「[」「]」「¥」「^」「_」「{」「}」「|」「~」は使用不可。


カレンダーの表示

Windows :非該当
Mac :"cal [[月] 年]"

年月を指定するとその月のカレンダーが表示される。

オプションや引数を付与せずに実行すると、今月のカレンダーが表示される。


スケジュールの表示

Windows :非該当
Mac :"calendar"

事前に"~/.calendar"ディレクトリに"calendar"ファイルの準備が必要。

スケジュールは、「日 月 内容」の順に記述し、「日」「月」の間は半角スペース、

「月」「内容」の間は[tab]を入れる。

尚、あらかじめ用意されているカレンダーファイルを"#include [ファイル名]"で

インポートして表示することも可能。

  • 有名人の誕生日 :calendar.birthday
  • コンピュータ関連の記念日 :calendar.computer
  • 歴史上の出来事 :calendar.history
  • USの休日 :calendar.usholiday
これらファイルは、[/usr/share/calendar]ディレクトリに格納されている。


電卓の実行

Windows :非該当
Mac :"bc [ファイル名]"

対話形式で計算を行い、"quit"で終了。

数式を指定すると計算結果が表示される。入力順に計算を行う電卓とは異なり、

通常の数式と同じように「*」や「/」が「+」や「-」より優先され、「( )」を

つけると優先順位が上がる。

オプションなしで起動すると計算結果の小数点以下は切り捨て。

小数点の計算を行いたい場合は、"-l"オプションをつける。

またファイルを指定することで、そのファイルに書かれた式を実行する。

"bc"コマンドは、"echo"で出力した式を計算するフィルタとしても使える。



画像データの加工

Windows :非該当
Mac :"sips [返還前ファイル名] --out [返還後ファイル名]"

様々な機能を持った画像加工コマンド。

各オプションによって、画像形式の変換、上下左右の反転、

回転、リサイズを行う。各オプションは以下に列記。
  • "-s format" :画像形式 指定した画像形式に変換
  • "-f horizontal" :左右に反転
  • "-f vertical" :上下に反転
  • "-r [角度]" :指定した角度分、時計回りに回転
  • "-z x y" :縦xピクセル、横yピクセルにリサイズ


コマンド検索

Windows :非該当
Mac :"apropos [キーワード]"

[キーワード]に関連したコマンドを検索する。実際には"whatis"DB内を検索する。

"whatis"DBは、オンラインマニュアルからコマンドなどの概要部分を

ピックアップしたもの。


コマンドの実行時間を計測

Windows :非該当
Mac :"time [コマンド]"

表示結果の上から順に、
  • real :実際にかかった時間
  • user :コマンドのプログラムが消費した時間
  • sys :システムが消費した時間
ちなみに以前のWindowsには、"timeit"コマンドが用意されていたが、

XP, Server 2003にインストールした場合のみ使用できるコマンドである。

現在、PowerShellの"Measure-Command"で実行時間が計測できる。


コマンド操作系の一覧


これまでのディレクトリ・ファイル操作に続いて、

Windows, MacのCUIコマンドを比較しながら習得を目指す。

今回は、下記のターミナル操作コマンドを説明する。
  1. ターミナルの終了
  2. 画面表示のクリア
  3. 1画面ずつの表示
  4. ファイルの印刷
  5. クリップボードへのコピー
  6. コマンド履歴の表示
  7. 複数コマンドの実行
  8. ファイルを開く


ターミナルの終了

Windows :"exit"
Mac :"exit"

ターミナル終了コマンドは、Windows, Macいずれも"exit"コマンド。

しかし意味合いが異なる。

Windowsの場合、コマンドプロンプトのプログラムが終了、

且つウィンドウが閉じる。

一方Macの場合、実際にログアウトを行う。


画面表示のクリア

Windows :"cls"
Mac :"clear"

様々な表示画面がごちゃごちゃになった場合、

画面表示を一旦クリアできる。


1画面ずつ表示

Windows :"more [ファイル名]"
Mac :"less [ファイル名]"

長いテキストファイルなどを、"type"コマンド(Windows), "cat"コマンド(Mac)で

表示すると、表示が流れてしまい、確認しづらい。

そのような時に"more", "less"コマンドで1画面ずつ止めながら表示することができる。

「スペース」キーを押すと次の画面が表示され、「q」キーで終了する。

ちなみにMacの"less"コマンドは、"more"コマンドの改良型であるため、

「b」キーで前画面に戻ることもできる。


"more"や"less"コマンドは他のコマンドの結果を1画面ずつ表示する

フィルタとしても使用することがきる。

画面出力を行うコマンドの後に"|"を付け、その後に"more"/"less"を実行する。


ファイルの印刷

Windows :"lpr -S [プリントサーバー名 or IPアドレス] -P raw [ファイル名]"
Mac :"lpr [ファイル名]"

Windows7以降の場合、"lpr"コマンドを明示的にインストール(*)する必要がある。

(*[コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化 > 印刷とドキュメントサービス]の"LPR ポート モニター"にチェックを入れる)

Windowsの場合は、ネットワークプリンタの使用が前提。

Macの場合は、CUPS(Common Unix Printing System)を使用する。


クリップボードへコピー

Windows :"[コマンド] | clip" or "clip < [ファイル名]"
Mac :"[コマンド] | pbcopy" or "pbcopy < [ファイル名]"

コマンドの出力やテキストファイルの内容をクリップボードにコピーする。

Windowsはクリップボードの内容をコマンドプロンプト内へ

ペーストするコマンドはない。

一方、Macの場合はペースト用のコマンド"pbpaste"がある。

補足:"pbpaste"コマンド

"pbpaste | [コマンド]" or "pbpaste > [ファイル名]"

Windows7以降の場合、"lpr"コマンドを明示的にインストール(*)する必要がある。

(*[コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化 > 印刷とドキュメントサービス]の"LPR ポート モニター"にチェックを入れる)

Windowsの場合は、ネットワークプリンタの使用が前提。

Macの場合は、CUPS(Common Unix Printing System)を使用する。


コマンド履歴の表示

Windows :F7キー
Mac :"history [表示数]"

Windowsの場合、F7キーを押すと履歴一覧が表示される。

Macの場合、”history”コマンドを用いる。表示数をオプションで指定しないと

すべて表示されるので、適当な数をしていることが推奨される。

尚、Windows, Macいずれもターミナル上で、↑や↓の矢印キーで

履歴を一つずつ表示することも可能である。



複数コマンドの実行

Windows :"コマンド & コマンド  & コマンド..." or "( ... )" 
Mac :"history [表示数]"

複数コマンドを実行するには、Windowsの場合"&"、

Macの場合";"でコマンドをつないでいく。

Windowsの場合、実行コマンドを対話的に指定することもできる。

コマンドプロンプトで"("を入力すると、「More?」と表示されるため、

コマンドを順次入力していく。完了したら、")"を入力すると、

実行される。


ファイルを開く

Windows :"[ファイル名]" 
Mac :"open [ファイル名]"

Windowsの場合、ファイル名を指定すると、関連付けられたアプリで開く。

Macの場合、"open"コマンドを使用する。


コマンド操作系の一覧


今回は、ファイルの操作に関するコマンドを説明します。
  1. ファイルやディレクトリのリンク作成
  2. カレントディレクトリの記憶
  3. ファイルの圧縮/解凍
  4. テキストファイルの生成


ファイルやディレクトリのリンク作成

Windows :"mklink [ファイル名] [対象ファイル名]"
Mac :"ln [対象ファイル名] [ファイル名]"

ファイルやディレクトリへのリンクには、
  • シンボリックリンク
  • ハードリンク
がある。リンク元を削除した場合、シンボリックリンクは無効になる。

ハードリンクは、削除前と同等に動作する。

Windowsの"mklink"はシンボリックリンクがデフォルト。

ハードリンク生成には、オプション"/h"を指定する。

一方、Macの"ln"はデフォルトがハードリンク。

シンボリックリンク生成には、オプション"-s"を指定する。

尚、ファイル名と対象ファイル名を指定する順番も

逆になるため、注意が必要。


カレントディレクトリの記憶

<スタックに保存>
Windows :"pushd [ディレクトリ名]"
Mac :"pushd [ディレクトリ名]"

<スタックから取り出し>
Windows :"popd [ディレクトリ名]"
Mac :"popd [ディレクトリ名]"

過去のカレントディレクトリを記憶しておき、新しいものから

順番に呼び出す仕組みが「ディレクトリスタック」。

"pushd"で移動するディレクトリを指定すると、

カレントディレクトリがスタックに積まれ、"popd"で呼び出す。

注意

"pushd"でディレクトリ名を省略した場合の挙動。

Windows :スタック一覧が表示
Mac :スタック上位2個のディレクトリが入れ替わる

ちなみに、Macでディレクトリスタックを表示するためには、

"dirs"コマンドを使用する。


ファイルの圧縮/解凍

<圧縮>
Windows :"compact /c [ファイル名]"
Mac :"zip [圧縮の元ファイル名] [圧縮ファイル名]"

<解凍>
Windows :"compact /u [ファイル名]"
Mac :"unzip [圧縮ファイル名]"

Windowsでは、NTFSファイルシステムの圧縮機能を使用。

圧縮と解凍は、同一コマンドでオプションを切り替えて行う。

一方Macでは、ZIP形式で圧縮・解凍を行う。

この他に、bzip2形式を扱う"bzip2"/"bunzip2"コマンド、

gzip形式を扱う"gzip"/"gunzip"コマンドもある。


テキストファイルの生成

Windows :"copy con [ファイル名]"
Mac :"echo "文字列" > [ファイル名]"

テキストファイル生成には通常テキストエディタを用いる。

Windows7 32bit版では、"edit"コマンドでMS-DOSエディタが起動されたが

64bit版ではエディタが付属していない。

よって、簡単なテキストファイルなら"copy con"で生成可能。

内容を入力した後で、最後に「Ctrl + z」とEnterキー入力で生成される。

一方Macの場合、標準出力を行う、”echo”コマンドを使って

テキストファイルの生成可能。

尚、Macには高機能エディタVimが標準搭載されるため、

"vi"/"vim"で起動する。

 

↑このページのトップヘ

-->