コマンド操作系の一覧
今回は、ファイルの操作に関するコマンドを説明します。
- ファイルの中身の表示
- ファイルの結合
- ファイルの中身の比較
- ファイルの検索(ファイル名)
- ファイルの検索(ファイル内の文字列)
- ファイル内の先頭or末尾のみ表示
- ファイル属性の設定
- ファイルアクセス権の設定
ファイルの中身の表示
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 :フルアクセス
UNIXの仕様を踏襲しています。
ファイル操作に関係するコマンドは以上になります。
Windowsでは非該当のコマンドも含まれていて、利用時には注意が必要です。
私は、UNIXに慣れているので、思わずWindowsに不便を感じてしまうことが多いです…
が、Windows10ではPowerShell上でUnixコマンドのサポートが開始されていますので、
今後この不便が解消されていくことを期待しています。
ではでは…