|
|
目次
ここではMac OS Xでも(Mac OS X独自のコマンドを含む)通常のunix系OSでも使用するコマンドやTipsを集めています。Mac OS Xでは通常使用しないコマンドはこちら。
|
2005/01/09
SSHのXフォワードを使ってリモートでXアプリケーションを実行する。
SSHのXフォワードの機能を使うと簡単にリモート先のXアプリケーションを実行できます。
ここではローカルのコンピュータをMac OS X、リモートのコンピュータにVine Linux3.1を想定して行ないます。
SSHサーバ側とクライアント側でXフォワードを許可する設定をする必要があります。
SSHサーバ側(Vine Linux)で/etc/ssh/sshd_configを編集します。
# vi /etc/ssh/sshd_config
以下の2行をコメントアウトして有効にします。
X11Forwarding yes
X11DisplayOffset 10
SSHを再起動します。
# /etc/rc.d/init.d/sshd restart
SSHクライアント側(Mac OS X)で/etc/ssh_configを編集します。
# vi /etc/ssh_config
以下の2行をコメントアウトして有効にします。
Host *
ForwardX11 yes
Mac OS XのX11を起動し、Vine LinuxにSSHで接続し、アプリケーションを実行します。(下の例ではFirefoxを実行)
Mac OS X用のFirefoxに見えますがよく見るとLinux i686の文字が・・・。
|
2004/12/07
X11 for Mac OS Xをフルスクリーンモードで動作させる。
Mac OS X 10.3からApple純正のX Window Systemの「X11for Mac OS X」が付属しています。普通に起動するとルートレスウィンドウという状態でAquaとX11が共存した状態になりますが、フルスクリーンモードもサポートされています。
メニューバーから「X11」→「Preferences」を選択し、「Output」タブを選択します。
「Full screen mode」にチェックを付けます。
AquaとX11との切り替えは「コマンドキー」+「オプションキー」+「A」で可能です。
|
2004/12/04
NetInfoのバックアップをとる。
NetInfoにはユーザ情報やファイル共有の設定など、様々なシステム情報が設定が記録されています。NetInfoのバックアップをとっておけば再インストールの時に楽になります。
NetInfoのバックアップはターミナルを起動して次のコマンドを入力して行います。
nidump -r / -t localhost/local > local.nidump
ホームディレクトリにlocal.nidumpというファイルができます。再インストールの後local.nidumpをrootのホームディレクトリに置いておいて、シングルユーザモードで起動した後、
mount -uw / で書き込みを有効にして
次のコマンドを実行するとNetInfoデータベースに書き込むことができます。
niload -d -r / . < ~/local.nidump
この後、再起動すると設定が有効になります。
|
2004/11/14
dittoを使ってホームディレクトリのバックアップを取る。その2
以前のdittoを使ったバックアップの方法でも十分運用できますが、バックアップをとった日付のディレクトリを作成しそこに保存をしたいと思います。
viで以下を入力してbackup.shという名前でホームディレクトリに保存する。
#!/bin/sh
set `date +%y%m%d`
ditto -V -rsrcFork /Users/hoge/ /Volumes/DVD-RAM_DATA/$1
意味
1行目 シェルスクリプトの宣言。
2行目 setコマンドで今日の日付が$1に代入されるように環境変数をセットします。
3行目 /Users/hogeのホームディレクトリを/Volumes/DVD-RAM_DATA/(今日の日付のディレクトリ)にコピーする。-Vのオプションはコピーの状況をターミナルに表示する。
シェルスクリプトに実行権限を与えるため、ターミナルから
$ chmod 755 backup.sh
を行なう。
バックアップを取りたい時にターミナルから
$ ~/backup.sh
を実行する。
|
2004/11/01 2004/11/14オプションの説明と解凍を追加
.tar.gz 形式で圧縮する。
本来ならtarコマンドで書庫化してからgzipで圧縮する必要がありますが、tarコマンドにオプションを付けることによって一度に作成することができます。

ターミナルで
tar cvzf 「作成するファイル名.tar.gz」「 元のファイル名」
と入力すると作成できます。cは圧縮、vは詳細を表示、zはgzipで圧縮、fはファイル名を指定。
解凍する時は、tar xvzf 「解凍するファイル名」でカレントディレクトリに解凍されます。
xは解凍の意味。
解凍先と圧縮ファイルの保存先が違う場合は、先にcdコマンドで解凍先にカレントディレクトリを移動しておきます。
tarとgzipで圧縮解凍をするとMac独自のリソースフォークは保存されないので注意が必要です。次期Mac OS XのTigerではtarやgzipでもリソースフォークが保持されるらしいです。
|
2004/09/26
コマンドの結果をファイルに出力する。
コマンドを実行すると通常ターミナルの画面に表示されますが、場合によっては結果をファイルに保存したい場合もあるかと思います。リダイレクト(コマンド>ファイル名)を行なうと可能です。
例えば

と入力するとカレントディレクトリにlist.txtというファイルが作成されて結果が出力されます。
ちなみにすでに同じファイルが存在する場合、上書きされますが、「>」を「>>」とするとファイルに追記されます。
|
2004/08/21
UTF-8 対応 Tera Term Proを使ってWindowsからMac OS Xをターミナルで操作する。
Mac OS XはベースがUNIX系のOSなので当然ターミナルで他のマシンからリモートで操作できます。Windows環境ではTera Term Proとsshの機能を追加するモジュールttsshを使ってUNIX系のOSを操作していらっしゃる方も多いと思いますが、Tera Term Proの欠点は文字コードがUTF-8に対応していないこと。したがってMac OS Xでは日本語のファイル名等が文字化けしてしまいます。しかし、平田豊様が作成されたUTF-8 対応 Tera Term Proを使うとMac OS Xでも文字化けせずにリモート操作できます。素晴らしいです。
|
2004/8/20
DNSサーバーに名前解決の問い合わせをする。
以前はDNSサーバーにドメイン名に対応するIPアドレスを問い合わせる場合、nslookupコマンドを使いましたが、今後は廃止の方向らしいです。それに代わりdigコマンドを使用していくそうです。
正引きの場合は
$ dig www.yahoo.co.jp
というようにnslookupと同じように使用します。
しかし、逆引きの場合
$ dig 192.168.0.1
と入力してもうまくいきません。
逆引きの場合は
$ dig -x 192.168.0.1というように-xのオプションを付けます。
また、-xを付けない場合は192.168.0.1のIPアドレスの場合、
$ dig 1.0.168.192.in-addr.arpa.というように入力します。
(IPアドレスを逆に記したもの+.in-addr.arpa.)
|
2004/7/30
FTPでのメモ書き。
Mac OS Xは内部的にはUNIX互換なのでターミナルでftpコマンドを使ってファイルの転送を行なうことが可能ですが、一度に大量のファイルを転送する時はGUIで行なった方が便利な場合があります。WindowsではFFFTPのような非常に使い勝手のいいfreeなソフトがあるものの、Mac用にはなかなか無いのが現実です。個人的にはFTPCに期待していますが、現在まだまだ動作が不安定です。動作の安定性を考えメインにGoLiveに付属のFTPクライアントを使っていますが、パーミッションの設定がわかり難い・・・。(GoLiveはrwxr-xr-x などの9文字の文字列で設定、私は755などの数字で覚えている )一番の原因は私が忘れちゃうっていうのがいけないんですが・・・。そこで対比表を作っていつでも参照できるようにしました。自分用のメモ書きなので適当に作ってもいいんですが、最近はYahoo JapanからMacユーザーの方が沢山来られているので、他の方に参考になるように少し説明を丁寧にしました。
パーミッションは、「読む」「書く」「実行」の3つの実行権と、「自分」「グループ」「他人」の3つの所有権からなり、それぞれの組み合わせから合計3×3=9とおりのパーミッションが存在します。
「読む」「書く」「実行」の3つの実行権は以下の記号と数字で表されます。
| 読むことができる (Readable) |
r |
4 |
| 書くことができる (Writable) |
w |
2 |
| 実行することができる (eXecutable) |
x |
1 |
| なにもできない |
- |
0 |
パーミッションの3桁の数字の意味は、左からユーザー、グループ、その他になりそれぞれに指定した読み、書き、実行、の合計が属性値になります。
式:読み+書き+実行=属性値
例:4(r)+2(w)+1(x)=7
|
ユーザー
|
グループ
|
その他
|
| 読み+書き+実行=属性値 |
読み+書き+実行=属性値 |
読み+書き+実行=属性値 |
具体的には
|
777
|
755
|
666
|
644
|
| (4+2+1)(4+2+1)(4+2+1) |
(4+2+1)(4+0+1)(4+0+1) |
(4+2+0)(4+2+0)(4+2+0) |
(4+2+0)(4+0+0)(4+0+0) |
| rwxrwxrwx |
rwxr-xr-x |
rw-rw-rw- |
rw-r--r- |
となります。
実際のFTPクライアントの画面を見ると・・・

この場合644というのがわかります。
|
2004/6/29
dittoコマンドを使ってデータのバックアップを取る。
dittoコマンドは、 ファイルやフォルダをコピーするのに使われるコマンドです。ditto コマンドの特徴は、「-rsrcFork」 オプションをつけることでリソースフォークを含んだ形でのバックアップが可能です。 このため、あるユーザのホームディレクトリを丸ごと外付けハードディスクにコピーしてバックアップを作成するといったことが可能です。
viで以下を入力してbackup.shという名前でホームディレクトリに保存する。
#!/bin/sh
rm -fr /Volumes/DATA_2/backup/user_backup_old
mv /Volumes/DATA_2/backup/user_backup /Volumes/DATA_2/backup/user_backup_old
ditto -V -rsrcFork /Users/hoge /Volumes/DATA_2/backup/user_backup
意味
1行目 シェルスクリプトの宣言。
2行目 1世代前のバックアップデータ/Volumes/DATA_2/backup/user_backup_oldを消す。
3行目 最新のバックアップデータ/Volumes/DATA_2/backup/user_backupを/Volumes/DATA_2/backup/user_backup_oldに変える
4行目 /Users/hogeのホームディレクトリを/Volumes/DATA_2/backup/user_backupにコピーする。-Vのオプションはコピーの状況をターミナルに表示する。
シェルスクリプトに実行権限を与えるため、ターミナルから
$
chmod 755 backup.sh
を行なう。
バックアップを取りたい時にターミナルから
$ ~/backup.sh
を実行する。
|
2004/4/15
Mac OS X 10.3のターミナルで日本語入力を行う。
[ターミナル]の[情報を見る]から[エミュレーション]の「非ASCII文字をエスケープする」のチェックをはずします。
~/.inputrc を作成し、次の文字を入力する。
set convert-meta off
set meta-flag on
set output-meta on
ちなみにlsコマンドだけでは日本語のファイルやディレクトリ名が???となり文字化けしてしまいますが、ls -vというように-vのオプションを付けるときちんと日本語のファイル名やディレクトリ名が表示されます。
|
2004/2/11
Mac OS X 10.3でrootユーザーを有効にする。
過去のOS Xと似た方法でできます。
Netinfo Manager を起動して、「セキュリティ」メニューから「ルートユーザを有効にする」をクリックする。
他にも% sudo passwd rootでrootのパスワードを有効にしてもできます。(これも過去のOS Xで有効)
|
2003/3/23
ジャーナリング機能を有効にする。(管理権限が必要です。)
MacOSX10.2.2からHFS+ボリュームでジャーナリング機能が追加されました。しかし、ディスクユーティリティを起動しても設定項目がありません。diskutilコマンドを利用することにより可能になります。
HFS+のジャーナリング機能を有効にする。
% sudo diskutil enableJournal /
HFS+のジャーナリング機能を無効にする。
% sudo diskutil disableJournal /
|
2003/3/9
.DS_Storeを消したい。(管理権限が必要です。)
sudo find / -name .DS_Store -print -exec rm {} ";"
|
2002/12/23
rootユーザーを有効にする。
- [Directory Setup]を起動し、[Netinfo]チェックボックスが無効になっていることを確認する。有効になっている場合は無効にしてMacを再起動する。
- [Netinfo Manager]を起動し、メニューバーの[ドメイン]→[セキュリティー]→[ルートユーザーを有効]を実行する。
- [Netinfoエラー]が表示されるので[OK]をクリックする。
- [ルートパスワードの変更]ダイアログボックスが表示されるので、rootユーザーのパスワードを入力して[OK]をクリックする。
|
2002/10/6
MacOSX10.2のターミナルで日本語入力可にする。
MacOSXに付属しているターミナルでは「ls -v」で日本語は表示できても入力がうまくできないため、再度コンパイルし直しをします。
1.tcsh-6.12.00のコンパイル(開発環境のインストールと管理者権限が必要)
% curl -O ftp://ftp.astron.com/pub/tcsh/tcsh-6.12.00.tar.gz
% tar xzf tcsh-6.12.00.tar.gz
% cd tcsh-6.12.00
% ./configure
% mv config_f.h config_f.bk1
% sed 's/#undef KANJI/#define KANJI/' < config_f.bk1 > config_f.bk2
% sed 's/#undef DSPMBYTE/#define DSPMBYTE/' < config_f.bk2 > config_f.h
% make
% sudo make install install.man
以上でtcshのコンパイルとインストールは完了、「/usr/local/bin/tcsh」を実行すればマルチバイト文字対応のtcshが起動する。Terminalデフォルトのシェルとして使用する場合には、以下のコマンドを実行してtcshの初期化ファイル(~/.tcshrc)を作成し、Terminalの環境設定画面で「/usr/local/bin/tcsh」を指定する。エンコーディング形式にはUTF-8を使用するため、ターミナルインスペクタの「ディスプレイ」項目にある「文字セットエンコーディング」欄ではUTF-8を選択する。
最初の2行では、Mac OS Xに収録されているtcshの初期化ファイルを読み込んでシェル環境を設定している。10.1.5までは/etc/csh.cshrcと/etc/csh.loginが行っていた処理だが、10.2からは利用されなくなっている。コマンド履歴の検索や入力補完といったtcshの便利な機能が必要ないのならば、この2行は不要。
2.日本語環境(UTF-8)用初期化ファイルの作成(既存の~/.tcshrcに上書き)
% echo 'source /usr/share/tcsh/examples/rc' > ~/.tcshrc
% echo 'source /usr/share/tcsh/examples/login' >> ~/.tcshrc
% echo 'setenv MANPATH /usr/local/man:$MANPATH' >> ~/.tcshrc
% echo 'unset nokanji' >> ~/.tcshrc
% echo 'set dspmbyte=utf8' >> ~/.tcshrc
|