ターミナルのコマンドの多くは、Mac OS XのベースとなったBSD UNIXや、それ以外のUNIX(OpenBSD、NetBSD)などからのコマンドもあり、基本的には他のUNIXやLinuxと同じ書式で使えるものが数多くあります。
Mac OS Xではアップルが独自開発したコマンドもありますが、その一部は純正の開発ツールのXcode Toolsに含まれています。
このXcode Toolsに含まれるコマンドを使用したい場合には、予めXcode Toolsをインストールしておかなければなりません。
□TigerのDVDからのインストール
Xcode Tools.mpkg をダブルクリックし、あとは指示に従う
□Tigerがインストール済みのMacからのインストール
アプリケーション → Installers → Xcode Tools → Xcode Tools.mpkg をダブルクリックし、あとは指示に従う
っとゆう手順があるのですが、筆者はまだ試していないです。
ゴメンナサイ。m(_ _)m
Mac OS Xではアップルが独自開発したコマンドもありますが、その一部は純正の開発ツールのXcode Toolsに含まれています。
このXcode Toolsに含まれるコマンドを使用したい場合には、予めXcode Toolsをインストールしておかなければなりません。
□TigerのDVDからのインストール
Xcode Tools.mpkg をダブルクリックし、あとは指示に従う
□Tigerがインストール済みのMacからのインストール
アプリケーション → Installers → Xcode Tools → Xcode Tools.mpkg をダブルクリックし、あとは指示に従う
っとゆう手順があるのですが、筆者はまだ試していないです。
ゴメンナサイ。m(_ _)m
cp [オプション] 元ファイル コピー先のファイル
cp [オプション] 元ファイル コピー先のディレクトリ
■主なオプション
■解説
cpはファイルやディレクトリをコピーするコマンドです。
別のディレクトリに同じ名前でコピーしたい場合には、下の書式(コピー先にディレクトリ指定)にすればよい。
ディレクトリを丸ごと階層構造をたもったままコピーしたい場合には-Rオプションを指定する。
□注意点
cpコマンドでは、リソースフォークやFinder情報といったMac OS特有の情報はコピーされない。
それらの属性を含めてコピーするにはCpMacコマンド、dittoコマンドを使用する。
■実行例
例1:上書きするかどうか確認する。
$ cp -i Test.txt ~/Dir
overwrite /Users/mtc/Dir/Test.txt? (y/n [n]) ← yを入力して上書きする
※ディレクトリ指定は ~/Dir/. と「.」をつける人もいる。
例2:別のディレクトリに有るファイルをカレントディレクトリにコピーする
$ cp -i ~/Dir/Test.txt .
※「.」はカレントディレクトリを意味する。
cp [オプション] 元ファイル コピー先のディレクトリ
■主なオプション
| -f | コピー先に同名のファイルが存在していた場合、パーミッションに書き換え許可がなくても強制的に上書きする |
| -i | コピー先に同名のファイルが存在していた場合、確認のメッセージを表示する |
| -R | ディレクトリを再帰的にコピーする |
| -H | 「-R」オプションを指定した場合に引数で指定したシンボリックリンクをたどる |
| -L | 「-R」オプションを指定した場合にすべてのシンボリックリンクをたどる |
| -P | 「-R」オプションを指定した場合にシンボリックリンクはたどらない |
| -p | ファイルのオーナー、所有グループ、パーミッション、タイムスタンプなどの属性を保持する ※オーナーと所有グループが保持されるのはスーパーユーザの権限で実行した場合のみ |
| -n | 既存ファイルを上書きしない |
| -v | コピーされたファイルを表示する |
■解説
cpはファイルやディレクトリをコピーするコマンドです。
別のディレクトリに同じ名前でコピーしたい場合には、下の書式(コピー先にディレクトリ指定)にすればよい。
ディレクトリを丸ごと階層構造をたもったままコピーしたい場合には-Rオプションを指定する。
□注意点
cpコマンドでは、リソースフォークやFinder情報といったMac OS特有の情報はコピーされない。
それらの属性を含めてコピーするにはCpMacコマンド、dittoコマンドを使用する。
■実行例
例1:上書きするかどうか確認する。
$ cp -i Test.txt ~/Dir
overwrite /Users/mtc/Dir/Test.txt? (y/n [n]) ← yを入力して上書きする
※ディレクトリ指定は ~/Dir/. と「.」をつける人もいる。
例2:別のディレクトリに有るファイルをカレントディレクトリにコピーする
$ cp -i ~/Dir/Test.txt .
※「.」はカレントディレクトリを意味する。
cmp [オプション] ファイル1 ファイル2
■主なオプション
■解説
cmpは2つのファイルを比較し、最初に見つかった相違箇所が何行目の何バイト目かを表示するコマンドです。
2つのファイルが同じであれば何も表示されません。
また、テキストファイル、バイナリファイルにのいずれのファイルにも使用できます。
※テキストファイル同士の比較はdiffコマンドの方が使いやすい。
■実行例
$ cmp Test1.txt Test2.txt
Test1.txt Test2.txt differ: char 13, line 1
■主なオプション
| -l | すべての相違箇所の文字コードを表示する |
| -s | exitステータスのみを設定し結果を表示しない |
■解説
cmpは2つのファイルを比較し、最初に見つかった相違箇所が何行目の何バイト目かを表示するコマンドです。
2つのファイルが同じであれば何も表示されません。
また、テキストファイル、バイナリファイルにのいずれのファイルにも使用できます。
※テキストファイル同士の比較はdiffコマンドの方が使いやすい。
■実行例
$ cmp Test1.txt Test2.txt
Test1.txt Test2.txt differ: char 13, line 1
chown [オプション] オーナー ファイル
chown [オプション] オーナー:グループ ファイル
■主なオプション
■解説
UNIX系のOSでは個々のファイルごとにオーナーが存在し、初期状態ではファイルを作成したユーザーがオーナーとなり、その他のユーザーはファイルを書き換えられないようにモードが設定されています。
chownはファイルのオーナーを変更するコマンドです。
2つ目の書式のようにグループも同時に変更することが可能です。
また、chownするにはスーパーユーザー(root)の権限が必要であり、一般ユーザーが実行するにはsudoコマンド経由で実行する必要がある。
■実行例
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ sudo chown blog Test.txt
Password:(パスワードを入力する)
$ ls -l Test.txt
-rw-r--r-- 1 blog mtc 1024 10 10 10:00 Test.txt
※オーナーがblogオーナーに変更された。
chown [オプション] オーナー:グループ ファイル
■主なオプション
| -R | 指定したディレクトリ以下のファイルのオーナーを全て変更する |
| -H | 「-R」オプションを指定した場合に、引数で指定したシンボリックリンクのみをたどる |
| -L | 「-R」オプションを指定した場合に、全てのシンボリックリンクをたどる |
| -P | 「-R」オプションを指定した場合に、全てのシンボリックリンクをたどらない (デフォルトの動作) |
| -v | 変更されたファイルを表示する |
■解説
UNIX系のOSでは個々のファイルごとにオーナーが存在し、初期状態ではファイルを作成したユーザーがオーナーとなり、その他のユーザーはファイルを書き換えられないようにモードが設定されています。
chownはファイルのオーナーを変更するコマンドです。
2つ目の書式のようにグループも同時に変更することが可能です。
また、chownするにはスーパーユーザー(root)の権限が必要であり、一般ユーザーが実行するにはsudoコマンド経由で実行する必要がある。
■実行例
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ sudo chown blog Test.txt
Password:(パスワードを入力する)
$ ls -l Test.txt
-rw-r--r-- 1 blog mtc 1024 10 10 10:00 Test.txt
※オーナーがblogオーナーに変更された。
【chmod】 ファイルのパーミッションを変更する
chmod [オプション] ファイル
■主なオプション
■解説
UNIX系のOSでは
・オーナー
・所有グループ
・その他のユーザー
という単位でファイル・ディレクトリのアクセス権限を設定できる。
これを「パーミッション」という。
この権限を変更するコマンドがchmodです。
パーミッションに関しては、
■実行例
例1:3桁の8進数での変更
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ chmod 666 Test.txt
$ ls -l Test.txt
-rw-rw-rw- 1 mtc mtc 1024 10 10 10:00 Test.txt
例2:記号での変更
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ chmod g+w Test.txt
$ ls -l Test.txt
-rw-rw-r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
chmod [オプション] ファイル
■主なオプション
| -R | 指定したディレクトリ以下のファイルのパーミッションを全て変更する |
| -H | 「-R」オプションを指定した場合に、引数で指定したシンボリックリンクのみをたどる |
| -L | 「-R」オプションを指定した場合に、全てのシンボリックリンクのみをたどる |
| -P | 「-R」オプションを指定した場合に、全てのシンボリックリンクのみをたどらない (デフォルトの動作) |
| -f | ファイルがシンボリックリンクだった場合、リンク自体のモードを変更する |
| -v | 変更されたファイルを表示する |
■解説
UNIX系のOSでは
・オーナー
・所有グループ
・その他のユーザー
という単位でファイル・ディレクトリのアクセス権限を設定できる。
これを「パーミッション」という。
この権限を変更するコマンドがchmodです。
パーミッションに関しては、
■実行例
例1:3桁の8進数での変更
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ chmod 666 Test.txt
$ ls -l Test.txt
-rw-rw-rw- 1 mtc mtc 1024 10 10 10:00 Test.txt
例2:記号での変更
$ ls -l Test.txt
-rw-r--r-- 1 mtc mtc 1024 10 10 10:00 Test.txt
$ chmod g+w Test.txt
$ ls -l Test.txt
-rw-rw-r-- 1 mtc mtc 1024 10 10 10:00 Test.txt


