プログラミング Tips

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

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

コマンド操作系の一覧


今回は、ファイルの操作に関するコマンドを説明します。
  1. ファイルの中身の表示
  2. ファイルの結合
  3. ファイルの中身の比較
  4. ファイルの検索(ファイル名)
  5. ファイルの検索(ファイル内の文字列)
  6. ファイル内の先頭or末尾のみ表示
  7. ファイル属性の設定
  8. ファイルアクセス権の設定


ファイルの中身の表示

Windows :"type [ファイル名]"
Mac :"cat [ファイル名]"

日本語のテキストファイルを扱う場合、
Windowsでは、Shif-JIS文字コード。
Macの場合は、UFT-8。

またMacの"cat"コマンドは、本来複数ファイルの内容を連結するために

用いられるコマンドですが、1つのファイルを指定すると内容を表示する

コマンドとしても利用可能です。


ファイルの結合

Windows :"copy [連結元ファイル1] + [連結元ファイル2]  [連結先ファイル]"
Mac :"cat [連結元ファイル1]  [連結元ファイル2] > [連結先ファイル]"

Windowsでのファイル連結は、"copy"コマンドと"+"を用いて行います。

一方Macでは、連結コマンド"cat"を用います。そのままでは、連結結果が

画面に表示されるのみのため、">"の後に、連結後ファイル名を指定して出力します。


ファイルの中身の比較

Windows :"fc [ファイル名1] [ファイル名2]"
Mac :"diff [ファイル名1] [ファイル名2]"

Macの場合、ファイル内容が同じか?異なるか?を判定するだけの"cmp"コマンドもあります。


ファイルの検索(ファイル名)

Windows :"dir [ファイル名] /s"
Mac :"find" [ディレクトリ名] -name '文字列'

Windowsの場合、"dir"コマンドに"/s"オプションを付与することで、

サブディレクトリをたどって検索します。

"dir"の詳細情報ではなく、ファイル名だけを検索、表示したい場合には、

"/b"オプションを付けます。

Macの場合、"find"コマンドに"-name"オプションを付与します。

ファイル名は「'」「'」でくくって指定します。

尚、WindowsもMacも、ファイル名の指定に「?」「*」などのワイルドカードも

使用できます。


ファイルの検索(ファイル内の文字列)

Windows :"find [文字列] [ファイル名]"
Mac :"grep '文字列 [ファイル名]"

テキスト名から検索するのではなく、ファイル内の内容から

文字列を検索するコマンドです。

Windowsの場合、ファイル名に「*」「?」などのワイルドカードは使えませんが、

Macではワイルドカードを用いて複数のファイルから文字列検索が可能です。


ファイル内の先頭のみ表示

Windows :被該当
Mac :"head [ファイル名]"

Windowsには該当するコマンドはありません。

Macでは、先頭10行が表示されます。

"-n"オプションを用いると、指定した行数分表示されます。


ファイル内の末尾のみ表示

Windows :被該当
Mac :"tail [ファイル名]"

先頭表示コマンドと同じくWindowsには該当コマンドするはありません。

Macでは、末尾10行が表示され、"head"コマンドと同じく、"-n"オプションで

指定行数の表示が可能です。

尚、"-f"オプションをつけると、ファイルの末尾を監視して、

内容が追加されるたびに表示するようになることから、ログ監視によく使われます。


ファイル属性の設定

Windows :"attrib [属性リスト] [ファイル名]"
Mac :"SetFile [ファイル名]"

ファイルはそれぞれ属性を持っています。

Windowsでは、
  • "+r" :読み取り専用属性
  • "+h" :隠しファイル属性
  • "+s" :システム属性
以上を設定できます。"+"を"-"へ変更すると

属性の解除ができます。

Macの場合、クリエータやファイルタイプ、作成日時、変更日時といった

ファイル属性を変更できます。


ファイルアクセス権の設定

Windows :"calcs [ファイル名] /g [ユーザ名]:[アクセス権]"
Mac :"chmod [利用権限] [ファイル名]"

Windowsで設定できるアクセス権は下記。
  • N :アクセス権なし
  • R :読み取り
  • W :書き込み
  • C :変更
  • F :フルアクセス
Macでは、ファイルのパーミッション(権限)は基本的に

UNIXの仕様を踏襲しています。



ファイル操作に関係するコマンドは以上になります。

Windowsでは非該当のコマンドも含まれていて、利用時には注意が必要です。

私は、UNIXに慣れているので、思わずWindowsに不便を感じてしまうことが多いです…

が、Windows10ではPowerShell上でUnixコマンドのサポートが開始されていますので、

今後この不便が解消されていくことを期待しています。

ではでは… 
 

コマンド操作系の一覧



前回に引き続き、ファイル・ディレクトリの操作系コマンドの説明を行います。

今回特に説明するのは、下記項目とします。
  1. ファイル名・ディレクトリ名の変更
  2. ファイルの移動
  3. ファイルの削除
  4. ファイルのコピー
  5. ディレクトリの作成
  6. ディレクトリの削除
  7. ディレクトリのコピー 
では早速、各コマンドの説明とを行います。

ファイル名・ディレクトリ名の変更

Windows :"rename [変更前の名前] [変更後の名前]"
Mac :"mv [変更前の名前] [変更後の名前]"

Windowsには、ファイルやディレクトリの名前を変更するための"rename"があります。

省略形は"ren"です。

一方Macでは、ファイル移動コマンド"mv"を用います。

WindowsもMacも名前変更後に成否メッセージが表示されないため、

Windowsでは"dir"コマンド、Macでは"ls"コマンドでファイル名を表示確認してください。


ファイルの移動

  • Windows :"move [移動元] [移動先]"
  • Mac :"mv [移動元] [移動先]"
ファイルの移動はコピーに似ていますが、移動元からファイルがなくなります。

移動先に同名のファイルがあった場合、Windowsでは上書きを確認されますが、

オプション"-y"で強制上書きも可能です。

一方Macの場合、移動先に同名ファイルがあった場合、そのまま上書きされます。

上書きしたくない場合には、オプション"-n"をつけます。確認が必要な場合には、

オプション"-i"をつけます。


ファイルの削除

  • Windows :"del [ファイル名]" or "erase [ファイル名]"
  • Mac :"rm [ファイル名]"
ファイル削除は誤操作が懸念されるので、確認するオプションをつけることを推奨します。

Windowsではオプション"/p"、Macではオプション"-i"で確認されます。

尚、Windowsでは削除したファイル名が表示されますが、Macでは表示されません。


ファイルのコピー

  • Windows :"copy [コピー元] [コピー先]"
  • Mac :"cp [コピー元] [コピー先]"
WindowsとMacのコマンドはほとんど同じです。

コピー元/先は、パス付きでファイル名を指定します。

パスを省略した場合、カレントディレクトリのファイルを省略したことになります。

Windowsの"copy"では、コピー先を省略するとカレントディレクトリにコピーされますが、

Macの"cp"では、コピー先は省略できません。

WindowsとMacの挙動の違いで注意が必要なのは、コピー先にファイルがあった場合です。

Windowsでは上書きするか確認されます(オプション"/y"で強制上書き)。

一方Macでは、何もしません(オプション”-i”で確認、オプション"-f"で強制上書き)。


ディレクトリの作成

  • Windows :"mkdir [ディレクトリ名]"
  • Mac :"mkdir [ディレクトリ名]"
WindowsとMacのコマンドは同じです。

ディレクトリ名でパスを含んで指定した場合、

Windowsではそのディレクトリも自動生成されます。

一方、Macでは途中のディレクトリは生成されません。

尚、Macではディレクトリのアクセス権設定も可能です。


ディレクトリの移動

  • Windows :"rmdir [ディレクトリ名]"
  • Mac :"rmdir [ディレクトリ名]" or "rm -rf [ディレクトリ名]"
WindowsとMacのコマンドは同じです。

ディレクトリ内が空でないとディレクトリの削除はできません。

Windowsでは、オプション"/s"をつけることで内容ごと削除可能です。

一方Macでは、"rm"コマンドにオプション"-rf"をつけることで内容ごと削除可能です。


ディレクトリのコピー

  • Windows :"xcopy [コピー元] /s [コピー先]"
  • Mac :"cp -R [コピー元] [コピー先]"
xcopyはWindowsの高機能コピーコマンドです。

オプション"/s"を指定すると、サブディレクトリ内容も含めてコピーされます。

但し、空ディレクトリはコピーされないので注意が必要です。

Macでは、"cp"コマンドにオプション"-R"を用います。

ちなみにオプション"-p"を用いるとパーミッション情報を含めてコピーされます。

前回、Pepper開発のために、
  1. 開発者登録
  2. 開発ツール「Choregraphe」のダウンロード
を行いました。

ここではChoregrapheのインストールを行います。 

Choregrapheのインストール


まずChorepgapheは下記要件を満たすPCスペック上での動作が推奨されています。 
  • 1.5GHz以上のCPU
  • 512M以上のメモリ
  • OpenGL対応のグラフィックカード 
動作するOSは以下の通りです。
  • Windows7, 8.1
  • MacOSX 10.10.2
  • Linux Ubuntu 14.04以降
下記一式がインストールされます。
  • Choregraphe:アプリケーションの開発環境
  • Memorize:バックアップツール
  • Monitor:Pepperの状況をモニタリングするツール
  • NAOドキュメント: ツールやAPIに関するドキュメント
前回の投稿でダウンロードしたファイルとライセンスキーを準備します。
  1. インストーラー実行ファイルを起動します。
  2. インストールウィザードが表示され、「次へ」を選択します。
  3. 使用許諾書が表示されます。「同意します」を選択し、「次へ」を選択します。
  4. ライセンスキー入力画面が表示された場合は、ライセンスキーを入力して「次へ」を選択します。
  5. インストールモード「Quick」を選択し、「次へ」を選択します。インストールが開始されます。
  6. インストールが成功すると、「起動」のチェックをオンにしたまま「終了」を選択します。
以上でインストールは完了です。

尚、ステップ4.でライセンスキーを入力しなかった場合、

「90日間の試用期間」となりますが、Choregraphe起動時に

ライセンス入力ウィンドウが表示されますので、

ここに入力してもOKです。



Pepper開発で、動作確認をするには2通りの方法があります。
  1. Pepper本体にダウンロードして実行
  2. PC上のPepperエミュレーターで実行
本来【1.】にあるPepper本体で動作検証することが望ましいですが、

筆者を含むサンデー・エンジニアが勉強のためだけに高価なPepper購入は

ハードルが高いです…

そんななか、【2.】のエミュレーターが非常に有用です。

実機と完全一致ではないが、基本機能の確認をするには十分です。

そのために、エミュレーターの設定を変更します。


Pepperエミュレーターへの変更

  1. Choregrapheツール上の「メニュー>Preference」を選択し、[Choregrapheの設定を編集]が表示されます。
  2. タブ[バーチャルロボット]を選択し、[ロボットモデルリスト]を選択します。
  3. 一覧の中から、[Pepper Y20(MP)]を選択して、OKを選択します。
  4. バーチャルロボットの再起動を確認するウィンドウが表示された場合、「YES」を選択します。
  5. Choregraphe上のバーチャルロボットビューにPepperが表示されていることを確認します。
これで、変更作業が完了です。


以上で、Choregrapheのインストール作業が完了しました。

次回では、簡単なアプリケーションプロジェクトの作成とアプリ実行を行います。 

↑このページのトップヘ