プログラミング Tips

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

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

カテゴリ: コマンド

コマンド操作系の一覧

ここからは

「ディスク操作関連」のコマンドについて、

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

今回は、以下のコマンドを解説する。
  1. ディスクエラーのチェック
  2. ディスクのフォーマット
  3. パーティションの表示
  4. ディスクのマウント
  5. ディスクのアンマウント
  6. ボリュームラベルの表示
  7. ボリュームラベルの変更
  8. ディスクのデフラグ
  9. ディスクの使用状況確認


ディスクエラーのチェック

Windows :"chkdsk [ドライブ名]"
Mac :"fsck_hfs [ディスク名]"

Windowsの場合、"chmdsk"コマンドを用いる。

"/f"オプションを付与して実行すると、エラー修復ができる

また「チェックをスケージュールしますか」と表示されたら、

「Y」を指定すると次回起動時にチェックと修復が実行される。

Macの場合、"fsck_hfs"コマンドを用いる(※ファイフシステムがHFS+の場合)。

エラーを修復したい場合、対象ディスク以外のメディアから起動する必要がある。

現在のMac OSXはジャーナリングファイルシステムのため、

手動でのディスクチェックは不要


ディスクのフォーマット

Windows :"format [ドライブ名]"
Mac :"newfs_hfs [ドライブ名]"

Windowsの場合、ファイルシステムやボリュームラベルを指定できる。

Macの場合、ファイルシステムは"HFS+"になる。

Macでリムーバブルディスクをフォーマットするには、一旦アンマウントが必要。

尚、FATやNTFSでフォーマットしたディスクはMacでも読めるが、

HFS+でフォーマットしたディスクはWindowsでは読めない。
 

パーティションを表示

Windows :"diskpart"
Mac :"gpt show [ディスク]"

Windowsの場合、対話式コマンドを使う。

"diskpart"コマンドを実行すると専用のプロンプトが表示される。

その上で、"lisk disk"でディスク一覧が表示されるので、

"select disk [番号]"でディスクを選択する。

"list partition"でパーティションが表示される。

Macの場合、実行には管理者権限が必要。


ディスクのマウント

Windows :"mountvol [ディレクトリ] [ボリューム名]"
Mac :"mount_hfs [ディスク] [ディレクトリ]"

Windowsの場合、FドライブをCドライブのディレクトリに

マウントすることで、Cドライブのパスでアクセスできる。

引数なしで実行すると、ボリューム名のリスト一覧が表示される。

Macの場合、"automount"サービスが有効になっていて、

USBメモリなどは"/Volume"ディレクトリに自動マウントされる。

よって、手動でマウントするには、一旦アンマウントする必要がある。


ディスクのアンマウント

Windows :"mountvol [ディレクトリ] /d"
Mac :"unmount [ディレクトリ]"

Windowsの場合、"mount"コマンドに、"/d"オプションを指定する。

Macの場合、"umount"コマンドを実行する。その際、

「umountではアンマウントできないので、diskutil unmountを試してください」

と表示される場合がある。


ボリュームラベルの表示

Windows :"vol [ドライブ名]"
Mac :"diskutil list"

Windowsの場合、システムが生成したシリアル番号も表示される。

ドライブ名を省略するとカレントドライブが表示される。

Macの場合、全てのボリュームラベルが表示される。


ボリュームラベルの変更

Windows :"label [ドライブ名] [ボリュームラベル]"
Mac :"diskutil rename [ディスク名] [ボリュームラベル]"

Windowsの場合、ドライブ名を省略するとカレントディレクトリが対象になる。

Macの場合、アンマウントした状態ではボリュームラベルの変更はできない。


ディスクのデフラグ

Windows :"defrag [ドライブ名]"
Mac :非該当

ドライブ上の断片化したファイルを最適化する操作で、Windowsのみ該当する。


ディスクの使用状況確認

Windows :非該当
Mac :"df"

Macのみ該当。

それぞれのディスクがどれくらい使われているかを表示する


本日はここまで…

コマンド操作系の一覧


ここからは

「ネットワーク関連」のコマンドについて、

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

今回は、以下のコマンドを解説する。
  1. PCのIPアドレスやMACアドレスを表示
  2. ネットワークの疎通確認
  3. ネットワークの経路情報確認
  4. DNSの名前解決
  5. FTPでファイル転送
  6. ネットワークの状態確認
  7. ファイルのダウンロード


PCのIPアドレスやMACアドレスを表示

Windows :"ipconfig /all"
Mac :"ifconfig"

Windowsの場合、"ipconfig"コマンドを用いる。オプションなしで実行すると、

MACアドレスがヒョジされないため、IPアドレスに加えてMACアドレスも

知りたい場合には"/all"オプションを付ける。

MACの場合、"ifconfig"コマンドを使う。引数なしで実行するとすべての

情報が表示される。内蔵するネットワークインターフェイスはen0, en1...と

連番になるので、知りたい名前を指定する。


ネットワークの疎通確認

Windows :"ping [ホスト名 or IPアドレス]"
Mac :"ping [ホスト名 or IPアドレス]"

ネットワークが疎通しているか調査するのに用いる。

ホスト名やIPアドレスで指定したサーバにICMPのエコー要求パケットを

送信することで、応答の有無を確認する。

パケット送信回数は、Windowsの場合は4回。Macの場合は無制限。

Macでパケットを送信する回数を指定するには、"-c"オプションを用いる。

ちなみに、現在WindowsではファイヤーウォールがICMPのエコー要求

パケットをブロックするため、Windowsではpingはあまり用いられない。
 

ネットワークの経路情報確認

Windows :"tracert [ホスト名 or IPアドレス]"
Mac :"traceroute [ホスト名 or IPアドレス]"

ネットワーク経路のルーターを検索して応答時間を表示する。

コマンドはWindowsとMacでやや異なる。

Windowsの"tracert"コマンドは"ping"コマンドと同様にICMPを利用する。

よって、現在のWindowsではファイヤーウォールがブロックされる。

Macの"traceroute"コマンドはプロトコルとして標準でUDPを用いる。

ICMPを利用するには"-I"オプションを指定する。


DNSで名前解決

Windows :"nslookup [ホスト名 or IPアドレス]"
Mac :"nslookup [ホスト名 or IPアドレス]"

DNSサーバに問い合わせて名前解決を実施するコマンド。

ホスト名を指定すると、そのホストのIPアドレス、

IPアドレスを指定するとそのアドレスのホスト名

が、返ってくる。


FTPでファイル転送

Windows :"ftp [FTPサーバ名]"
Mac :"ftp [FTPサーバ名]"

コマンドラインでFTPサーバにアクセスするためのFTPクライアントである

"ftp"コマンドが用意されている。FTPサーバ名を指定して実行することで、

">ftp"というプロンプトが表示され、対話モードになる。

このプロンプトで使える命令は、Windows, Macで似ている。例えば…
  • put:ファイルのアップロード
  • get:ファイルのダウンロード
利用できるコマンドの一覧は"help"と入力すると表示される。


ネットワークの状態確認

Windows :"netstat"
Mac :"netstat"

"netstat"コマンドは、ネットワークの様々な情報を表示できる。

このコマンドはWindowsとMacで共通だが、指定できるオプションは異なる。


ファイルのダウンロード

Windows :非該当
Mac :"curl [URL]"

Macでは、"curl"コマンドでターミナルからファイルをダウンロード可能。

デフォルトでダウンロードしたファイルは標準出力に書き出されるため、

サーバ上のファイル名で保存する"-O"オプションを付けるか、

"-o"オプションを使って保存するファイル名を指定。

連番のファイルを一括でダウンロードすることも可能。

例えば、「file01.log」「file02.log」「file03.log」をダウンロードするには、

"http://xxx.com/logs/file[01-03].log"といったURLを指定する。


本日はここまで…

コマンド操作系の一覧


ここからは

「システム関連」のコマンドについて、

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

今回は、以下のコマンドを解説する。
  1. コマンド検索のためのパスを設定
  2. 予定時刻にコマンドの実行
  3. システムのシャットダウン
  4. 現在のユーザーの表示
  5. ユーザパスワードの変更
  6. 別ユーザ権限での実行


コマンド検索のためのパスを設定

Windows :"path [パス1; パス2; ...]"
Mac :非該当

Windows, Macのいずれも実行ファイル形式のコマンドを検索するパスは

"PATH"という環境変数に設定する。

Windowsの場合、環境変数"PATH"を設定するための専用コマンド"path"が

用意されている。

"path"にパスを指定し、末尾に";%path%"を付与することで、指定したパスが

環境変数"PATH"の先頭に追加される。

"path"を引数なしで実行すると、環境変数"PATH"の値が表示される。


予定時刻にコマンドを実行

Windows :"at [実行時刻]"
Mac :"at [実行時刻]"

Windowsの場合、日付や曜日も指定でき、省略した場合には当日の時刻で予約される。

"at"コマンドだけだと、予約一覧が表示される。

"/every:"オプションで日付を登録すると毎月のその日、曜日を登録すると毎週のその曜日に

実行される。"/next:"オプションは次に来るその日、もしくは曜日の指定。

曜日の指定には英単語、もしくは曜日の頭文字(M, T, W, Th, F, S, Su)を使用。

例えば、"/every:M,W"は「毎週月曜と水曜」という意味になる。

またWindowsにおいて、"at"で実行するのがコマンドの場合、実行するコマンドの頭に

"cmd /c"を付与する必要がある。

一方Macにおいて、"at"コマンドを実行するとコマンドの入力モードになる。

実行したいコマンドを入力して"Ctrl + d"を押すと、ジョブが登録される。


システムのシャットダウン

Windows :"shutdown [/s] or [/r]"
Mac :"shutdown [-h] or [-r]"

Windowsの場合、[/s]指定でシャットダウン、[/r]指定で再起動選択が可能。

一方Macの場合、[-h]指定でシャットダウン、[-r]指定でで再起動選択が可能。

尚、実行するには管理者権限が必要。日時は"yymmddhhmm形式"で指定する。


現在のユーザーを表示

Windows :"whoami"
Mac :"whoami"

WindowsもMacも同じ"whoami"コマンドを用いる。

Windowsの場合、詳細情報表示のためのオプションがある。

一方Macの場合、"who am i"コマンドでユーザー名に加えて、

使用している端末やログイン情報も表示される。


ユーザーのパスワードの変更

Windows :"net user [ユーザ名] [パスワード]"
Mac :"passwd"

Windowsの場合、アカウントの追加・削除やパスワードの変更は"net user"コマンドで行う。

何もオプションを指定しないと、ユーザアカウントの一覧が表示される。

アカウントを追加する場合には、パスワードの指定が必須。

アカウントを削除する場合には、それは不要。

このコマンドを使用する場合、基本的に管理者権限が必須。


別ユーザー権限で実行

Windows :"runas /user:[ユーザ名] [コマンド]"
Mac :"sudo [コマンド]"

Macの場合、管理者権限が必要なコマンドを実行する際によく使われる。

"sudo"コマンドを実行するとパスワードを尋ねられるので、Macに設定している

管理者パスワードを入力する。



本日はここまで…

コマンド操作系の一覧


前回までのターミナル操作関連に続き、ここからは

「システム関連」のコマンドについて、

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

今回は、以下のコマンドを解説する。
  1. 日付の表示・変更
  2. 時刻の表示・変更
  3. OSバージョンの表示
  4. 詳細システム情報の表示
  5. 実行中のタスク・プロセスの表示
  6. コマンド・アプリの強制終了
  7. 環境変数の表示
  8. 環境変数の設定



日付の表示・変更

Windows :"date"
Mac :"date"

Windowsの場合、"date"コマンドを用いて日付の設定、"time"コマンドを用いて

時刻の表示・設定を行う。

一方Macの場合、"date"コマンドは日時の表示や設定をまとめて行う。

尚、いずれも管理者権限が必要。


OSのバージョンを表示

Windows :"ver"
Mac :"sw_ver"

Windowsの場合、"ver"コマンドで表示する。バージョン番号と製品の関係を以下に記す。
  • 5.0.x:Windows 2000
  • 5.1.x:Windows XP
  • 6.0.x:Windows Vista
  • 6.1.x:Windows 7
  • 6.2.x:Windows 8
ちなみにコマンドプロンプトでwinverを実行すると、バージョンを表すGUI画面が表示される。

一方Macの場合、"sw_ver"コマンドでMac OS Xのバージョンを表示する。

カーネルバージョンが知りたい場合には、"uname -v"を実行する。
 

詳細システム情報の表示

Windows :"systeminfo"
Mac :"hostinfo"

Windowsの場合、OS詳細情報、メモリ容量、インストール済みホットフィックスなどが表示される。

一方Macの場合、カーネルバージョン、プロセスやメモリ情報、実行しているタスクや

スレッド数などが表示される。 


実行中のタスク・プロセスの表示

Windows :"tasklist"
Mac :"ps"

Windowsの場合、実行中のタスクを表示するコマンド、

一方Macの場合、実行中のプロセスを表示するコマンド。
    タスクやプロセスにはそれぞれ識別するための「プロセスID」(PID)が

    割り振られる。


    コマンド・アプリの強制終了

    Windows :"tasklist /[オプション]"
    Mac :"kill [プロセスID]"

    Windowsの場合、"tasklist"コマンドにオプションを付与してタスクを強制終了する。
    • "/pid [プロセスID]" :終了するタスクのプロセスIDを指定
    • "/im [ファイル名]" :終了するタスクのファイル名を指定
    一方Macの場合、実行中のプロセスに関する統計情報をヒョジする"top"コマンドを

    実行することで、アプリのプロセスIDが表示される。"kill"コマンドにアプリのプロセスIDを

    指定することで強制終了できる。


    環境変数の表示

    Windows :"set"
    Mac :"printenv"

    環境変数とは、システムで利用する各種情報を格納する変数。


    環境変数の設定

    Windows :"set [環境変数]=[値]"
    Mac :"export [環境変数]=[値]"

    環境変数を設定するコマンドも用意されている。

    Macの場合、"export"コマンドは標準シェル"bash"のコマンドのため、

    シェルを変更している場合にはこの設定方法も変わる。

    尚、ターミナル上で作った環境変数は、ターミナルを終了すると消える。

    システムに記録しておくためには、

    Windowsの場合、「システムプロパティ>環境変数」の画面で設定。

    Macの場合、「.bash_profile」ファイルに"export [環境変数]=[値]"を記述。


    次回も、引き続きシステム関連コマンドを掲載する。

    本日はここまで…

    コマンド操作系の一覧


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

    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"で実行時間が計測できる。


    ↑このページのトップヘ

    -->