コマンド操作系の一覧


今回は、ファイルの操作に関するコマンドを説明します。
  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コマンドのサポートが開始されていますので、

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

ではでは…