Previous  Index  Next


2011 年 3 月 28 日




anchor

UNIX入門続く

ファイルを操作するコマンド3〜テキストファイルの中身を見る他のコマンド

前回、テキストファイルの中身を表示するコマンドとして
cat
を紹介したところ、BBSに「@bsdhack」さんから
『cat はテキストファイルのみではなくバイナリも標準出力に出力してしまうので、
結果として端末が乱れたり操作不能に陥ったりというデメリットもあり、
そうなった場合に特に初心者の場合はどう対処して良いか判らなくなったり慌てたりしがちです。
ですので、ファイルの中身を見るのは less(1) などを推奨した方が良いかと思います。』


というご指摘をいただきました。
実はおっしゃる通りです。

cat
は前回も書いた通り「標準出力」して例えばふたつのファイルを結合するとかが本来の使い道なので、テキストではなく何かのソフトの実行ファイルとか動画や音楽というような長大なバイナリもそのまま読み込んでしまいます。
結合の時にはそういう機能が必要なのですが、表示の時にそういうファイルをうっかり開いてしまうと、延々その表示の作業でMacがフルアップしてしまい、他の操作を受け付けなくなる可能性があります。
Macの場合、シェルの操作は大抵はTerminal上で行うので、この場合Terminalを強制終了すれば何とかなりそうですが、もしコンソール状態でこのコマンドを動かしていたら、システムの強制終了をする羽目になるかもしれません。

cat
はあくまで規模が分かっているテキストファイルの表示に限定するべきです。
前回紹介したように「-n」「-b」のような面白いオプションを持っているのですが、注意して使う必要があります。


それでテキスト系のファイルをプレビューするコマンドは他にも用意されています。

more

less

head

tail


あたりです。

これのそれぞれの意味は
more
テキストを全文表示します。
less
これもテキスト全文表示しますが前方移動だけでなく、後方移動も可能です。
いずれも起動はテキストエディットコマンドのviより軽快です。
head
テキストの頭数行のみ表示します。
tail
テキストの最後数行のみ表示します。

テキストの中身を触りだけ見て確認したい時はheadまたはtail、テキストに目を通したい時にはlessという使い分けがいいでしょう。

使い方はいずれも

less ~/Sites/index.html

というようにオブジェクトをコマンドの次に記述してやります。





moreなら間違ってjpeg等のバイナリを指定して表示しようとしても
「これはバイナリのようだ、それでも見るか?」と聞いてきます
yと打ってもenterキーを叩いても何も表示しません


このページの表示をキーボードで操作できます。

enter
1行送り
space
1ページ送り
b
1ページ戻し
q
表示を終了


同じようにファイルの中身を表示するコマンドで
diff
というのもあります。
これは
diff a.txt b.txt
というように使い、aとbの違っている部分だけを表示というコマンドです。





diffコマンドを使った例
-bのオプションを使えばスペースの違いを無視して表示します
コマンドはdiff a.txt b.txt -bというように打ちます


ファイルを探すコマンドもあります。
find
は文字通り探すということで、-nameというオプションを使えばファイルネームでファイルを探すことができます。

find ~/Sites -name index.html -print

というコマンドはホームフォルダの中の「Sites」フォルダの中で「index.html」という文字列を含むファイルネームのファイルを全て(パスも含めて)表示するというコマンドです。





find ~/Sites -name index.html -printと打ってみた結果、
「サイト」フォルダの中の「index.html」という文字列を含むファイル名の
全てのファイルを絶対パス付きで表示しました


以上のコマンドを実際に試してみたら、何を試したのかおさらいがしたくなってきました。
そういう時には
history
というコマンドが用意されています。
これはシェルが過去に入力されたコマンドを記憶していて、それをリスト表示するというコマンドです。
これも試してみてください。





historyというコマンドを打つと過去に入力したコマンドをリストで表示します
何をやったかがこれで思い出せます

anchor

NetNewsWire
(Freeware)
OS10.5Leopard対応 OS10.6SnowLeopard対応

定番RSSリーダー、NetNewsWireとそのiPhone版を併用してみた。

ことの起こりはこれ。





これまでRSSリーダーとして使ってきたSafariだが
何故か全文配信のサイトを見出しだけしか表示しないなどの問題が起きていた
しかもこの問題が起きるのはSafariだけでFirefoxやGoogleリーダーでは全く問題ない


これについては
~/Library/PubSub
を削除すると次回分から正常に戻るので、ここらの問題だと思うのだが、そもそもブラウザで30以上ものタブを開きっぱなしにしてRSSリーダー代わりで使っていることにも問題を感じたので、Safariを止めてRSSリーダーを使うことにした。

それでかなり前に使って感触が良かったNetNewsWireをまた使ってみることにした。

前に試した時とはいろいろ変わったこともある。
一番大きなところはこのNetNewsWire自体がGoogleリーダーのクライアントになっているということだ。
なので最初の設定ではGoogleのアカウントを登録することを推奨される。
もしGoogleアカウントを持っていない場合は、無くても使えるがアカウントを作るリンクも設定画面に用意されている。

フリーウエアとして生き残るにはこういうことも必要なんだろう。
おかげでNetNewsWireでGoogleリーダーに登録したRSSはそのまま見られるし、NetNewsWireで追加したサイトは同時にGoogleリーダーにも追加される。

このNetNewsWireの便利なところは、前にも紹介したタブ式RSSリーダーの良さを残している上にiPhone、iPadアプリとも連動していることだ。
私の場合今はwebを見ている時間はMacよりもiPhoneの方がかなり長くなってしまったので、この同じRSSがMacでもiPhoneでも見られるというのは結構重要な要素になりそうだ。





最初にNetNewsWireを起動するとアカウント設定を求められる
Googleリーダーとの同期のためで「同期しないボタン」も用意されているが
便利に使いたいなら登録した方がいいかもしれない




早速起動するとすでにGoogleリーダーで登録済みのサイトは見えている




サイト登録は左上の「+」ボタンをクリックしてURLをここに入力
左ペインに表示されるサイト名をエディットしたい時は下の欄にサイト名を入力




こうして登録したサイトのリストは左ペインに、
それぞれのサイトの最近のエントリリストは右上のペインに
右上ペインで選んだ記事は右下ペインに全文表示される
開いているサイトのタブは右に移動した




2ペイン表示にしてタブでどんどん切り替えて読みふけるなんて使い方も可能
RSSリーダーは最新記事のチェックだけでなく気になった記事を保留しておく機能が
重要なのでこの機能はありがたい

anchor

NetNewsWire for iPhone
(Freeware, via App Store)

そのNetNewsWireのiPhone、iPadアプリ版がこれ。

Mac側のNetNewsWireで登録したサイトが数に限りはあるもののiPhoneでもチェックできる。

Googleリーダーを通じてチェック済み数などもシンクできるので、MacとiPhoneをシームレスに使って登録サイトをチェックしたいという時には便利。





NetNewsWire for iPhoneをインストールしたなりの画面
これ自体は新規サイトを登録したりはできない




Macで登録したサイトのリストを「Show/Hide」リストで
チェックを入れてどれを表示するか選択する




こうして見たいサイトに未読の記事がいくつあるかを表示し始める
リストをタップするとそのサイトの記事リストに、
さらに記事を選んでタップすると記事に入れる

anchor

Firefox4
(Freeware)
OS10.5Leopard対応 OS10.6SnowLeopard対応 WindowsXP~7対応
Linux対応

Mozilla.orgのオープンソースwebブラウザ、Firefoxが4にメジャーバージョンアップした。

まず何が変わったかというと、見た目タブがURLフォームバーよりも上にきた。
Google Chromeなんかと同じスタイルになった。

さらに変わったのはスピード。
Firefox公式ページの「当社比」グラフではFirefox3.6と比較してwebページのレンダリングスピードが3〜6倍速くなったというベンチマークを掲げている。

これは実際使ってみて「確かにそれくらい速くなっている」と感じる。
FirefoxはMacでは常に控えのブラウザとして、メインにしているSafariが不具合の時に使えるブラウザとして当てにしている。

ところがFirefoxはShiretokoあたりからか段々重いブラウザになって、常用するには許容範囲を越えるというレベルにまで来てしまった。
こちらの記事で一応重くなったFirefox3を高速化する方法も書いた。
Firefoxの高速化に成功!〜原因は分かったが対策となるとどうしたもんだろう?

しかしsqldbは使っていると自然にふくらんでいくものだし、こまめにメンテナンスしないと結局重くなってしまう。
Windows版やLinux版は軽快に動いているのにだ。
何だかなぁ、と思っていたがやっと軽快高速版のFirefoxがやってきたということだ。

以前Mozilla財団に取材した時に、ユーザアンケートの結果を見せられたのだがMozilla系のブラウザは機能拡張などの柔軟性、拡張性がその最大の特徴であるにもかかわらず、ユーザは何を一番求めているかというと
「軽快で表示が高速なブラウザ」
という答えがトップらしい。

これは私も同感だ。
拡張性とスピードは実は相反する項目だという話をその時も聞いたが、それでもユーザはスピードあっての拡張性だと思っている。
ユーザは我が儘なのだ。

今回のバージョンでFirefoxが、スピードに回帰したことは私個人的には歓迎している。





Firefox4の表示画面
表示は非常に高速化したのに驚かされる
パッと見てすぐに気がつくのはタブがGoogle Chromeスタイルの上に移動したこと




機能拡張、テーマ、プラグインマネージャーは別ウインドウで
ポップアップしてくるのではなく本体表示に変わった




これはプラグインの管理画面
ツールメニューの「アドオン」から入れる




さてこのタブの位置なのだが単なる慣れの問題だと思うのだが
お気に召さない人もいるかもしれない




「表示」メニューの「ツールバー」「タブを上部に表示」のチェックを外す




するとこのようにタブは下に移動する
これは好みで設定すればいい




履歴、ブックマークなどのサイドバーは「表示」から
「サイドバー」「履歴」などにチェックを入れる




非常にシンプルになってしまったツールバーにいろいろ道具を追加するには
「表示」メニューの「ツールバー」「カスタマイズ」に入る







2011 年 3 月 26 日




anchor

画面がまっ黒なまま起動できなくなった〜ボリュームのファイルシステムをチェックするfsckコマンド

これについては以前にも書いた気がするのだが、その書いたページを見つけられないので(記憶違いかもしれないし)書いておく。

ある日Macがフリーズするかなにかして強制再起動することになった。
再起動すると、いつもならジャ〜ンの起動音のあと画面がグレーになってすぐに林檎マークが出てきてデイジーギアが回り始める筈だ。
ところがジャ〜ンのあといくら待っても画面が黒いままで林檎マークが現れない・・・あるいは林檎マークが現れたところで止まってしまいデイジーギアがいつまで待っても現れない・・・

これらの症状は、起動ボリュームは認識しているもののその中の起動に必要なファイルの読み出しに失敗している症状だと思われる。

こういう時に最初にやってみるオーソドックスな方法は、まず強制再起動してコマンド+Sキーを押し続けシングルユーザモードに入って
fsck -fy
というコマンドを試してみるというところだろう。

ところがそのシングルユーザモードにも入れない、最初のカリフォルニア大学のBSDのクレジットが出たあたりで止まってしまい、コマンドプロンプトがいつまで待っても出てこないとしたらどうすればいいだろうか?

ここで外部からこのfsckコマンドを試してみるというTipsがある。
これについてはAppleのサポート記事はこちら
Mac OS X Server 10.2- ボリュームのジャーナル方法と、ジャーナルボリュームを修復する方法

この記事はボリュームのジャーナリングを事後に変更する手順が書かれているが、この中の記事の一部はボリュームのファイルシステムの修復のヒントもある。

まずはシステムをインストールした外付けハードディスクを、FireWire、あるいはUSB2.0で接続しそこから起動する。

そしてTerminalを起動して
mount
というコマンドを打つ。
そこにいくつかのボリュームが表示されるが、hfsのボリュームであることを手がかりに、問題を起こしている内蔵ディスクのボリュームを探し、そのボリュームを診断する。

sudo fsck_hfs -f -n /dev/ディスクの名前

ディスクの名前はmountで調べたdisk0s2などの名前で、それぞれのMacの構成によって違う。
大概はdisk0s数字という名前の筈だ。

これでファイルシステムの問題が出たら

sudo fsck_hfs -f /dev/ディスクの名前

というコマンドで修復する。

数回実行する必要があるかもしれない。

またrootのパスワードは必要。





試しに内蔵ボリュームから診断してみた
Terminalにmountと打つと数個のボリュームを検出する
多分その数は自分が思っているよりも多い数の筈だ
MacOSXがインストールされているボリュームは
「hfs, journaled」のはずだからそこらを手がかりに探してみる
この場合disk0s2がそれに当たるので
sudo fsck_hfs -f -n /dev/disk0s2というコマンドを打ってみる




結果はこのように表示される
アイテム数、拡張属性の数、レコードカウント、
空き領域のブロック数などいろいろエラーが出ている




そこでこれを修復するのはsudo fsck_hfs -f -n /dev/disk0s2あるいは
rootにログインしてfsck_hfs -f -n /dev/disk0s2というコマンドを実行してみる




これは内蔵ボリュームから起動しているために「使用中の領域は修復できない」
というアラートが出ているが外付けハードディスクなどの
外部ボリュームから実行すれば修復できる筈だ


以上は、滅多に使うことも無いと思うが、シングルユーザモードにも入れない重篤なトラブルになった場合使える修復法だ。



2011 年 3 月 25 日




anchor

JDiskReport
(Freeware)
OS10.5Leopard対応 OS10.6SnowLeopard対応 WindowsXP~7対応

ディスクの中でどのディレクトリが大きなサイズを占有しているのか、どのファイルが占有しているのかをパイグラフ、棒グラフ、リストなどでわかりやすく表示するアプリ。

このアプリはWindows版がネイティブだがMacにも対応している。


ディスクの中身を掃除したくなった時、ディスクの残り容量がなんとなくタイトになってきた時に、どこから手をつけたら良いのかが一目瞭然にわかる便利なアプリだ。

そういうディスクの残り容量をなんとかひねり出したいなんて時に、不要なjpegをちまちま掃除していたって日が暮れてもらちがあかない。
やはりjpegよりはmp3、m4aなどのオーディオファイルの方が掃除していて効果が上がりやすいし、mp3等のオーディオよりも.mov、H.264などの動画ファイルを掃除する方がさらに効果は高い。

最近では私のディスクの内容を圧迫しているのは.vmdkなどの仮想マシンのイメージファイルだったり、ディスクイメージファイルだったりする。

そういう大きいものから手をつけていった方が、ディスクの掃除、空き容量の捻出も効率的に進む。
もう今時の時代、昔webから拾ってきたjpegをちまちま掃除していても、ほとんど大勢に影響はないのだ。


このJDiskReportはディレクトリのみの表示、ファイルも表示するなど細かい切り替えが可能だ。
表示はパイ、棒、リストをそれぞれ選択できるし階層込みのパイグラフの表示も可能だ。
特定のディレクトリに絞ってスキャンすることもできる。
機能は非常に多い。





最初に起動した時にライセンス条項に同意するか聞いてくる
ここはacceptで進行する




起動すると何をしたいか聞いてくる
見ての通りディレクトリのスキャンと過去のスキャン記録を開くことができる




試しにルートボリュームをスキャンしてみる
これで全ての階層のファイルのサイズまで全て調べ上げるので結構な時間はかかる
私の場合20分というところだったか




これはルートボリュームでどのディレクトリが大きいかを円グラフで表示したところ
ユーザ領域がかなりスペースを取っていることがわかる




左ペインのツリーでユーザ領域にはいってもいいし
右の円グラフの行きたいところをクリックしてもそこに入れる
ユーザ領域に入ると今度は「書類」フォルダがかなり肥大していることがわかる




その中身はというとやはりVMWare Fusion
生成している仮想マシンフォルダが大きいことがわかる
このように掃除の時にどこから手をつけたら良いかが一目瞭然になる




さらに円グラフをクリックすると仮想マシンの中でも
Windows7の領域が圧倒的にデカいことがわかる




タブには「トップ50リスト」表示もある
大きい順、新しい順などのリスト表示が可能




そうして見つけたデカいファイルのフルパスも勿論見ることができる
ウインドウを大きくすれば良いので当該ファイルを探しまわる手間も省ける




サイズ別に棒グラフ表示なんてこともできるし・・・




最近更新したファイルのサイズなどもわかる
こうして見ると結構な量のファイルを毎日更新していることがわかる
Time Machineのバックアップがでかくなる筈だ




ファイルタイプ別にサイズがでかいもの表示することもできる
こうして見ると予想していたこととはいえ仮想マシン、mp3、動画ファイルと続いている




このように階層円グラフの表示も可
デカいフォルダの中身にもすぐに到達できる




ファイルも表示するにチェックを入れれば
個別のフォルダの中でデカいファイルのサイズ別表示も可能
このようにいろいろ至れり尽くせりだ




そのスキャンファイルを「名前をつけて保存」もできる
さらに次回そのスキャン結果を開くこともできる
結構な量のファイルを書き換えているので
スキャン結果はすぐに実情と合わなくなるだろうが

anchor

アタッシュケース
(Freeware)
WindowsXP~7対応

Windowsでデスクトップなどに置いているフォルダにパスワードをかけて他人が開けないようにする暗号化アプリ。

そういう趣旨でMacではExces を使っているが、これと同じように特定のディレクトリにパスワードをかけるアプリを探していた。 アタッシュケースExcesのようにディスクイメージに格納するわけではないが、特定のフォルダに強力なパスワードをかけられるという意味では狙い通りのアプリだ。


最近はどこの企業でもモバイルPCの持ち出しに厳しい制限をかけている。

一昨年ITセキュリティ展を見に行ってつくづく思ったのは、今は外部からウイルスが入ってくるとかハッカーが入ってくるとかいうことよりも、内部から情報が漏出しないためにはどうすればいいかということにセキュリティの関心がすっかり移ってしまっているということだった。
そのためにPCを誰が開けて誰が開けないかという生体認証とか数多くの技術が展示されていた。

今はどこの企業もPCの持ち込み、持ち出しには厳しい制限をかけていて持ち出したPCから顧客情報が流出しないようにログインパスワードをかけるなどの対策も普通になってきている。


でも何らかの方法でログインパスワードも破られたら、PC上の情報をどうやって守ればいいか。
多分Windowsの場合もログインパスワードはそんなにセキュリティ精度が高くはないはずだ。
ログインパスワードとは別に、そういう重要情報はパスワードをかけておきたい。

そういう時にこのアタッシュケースは役に立つだろう。

このアタッシュケースは暗号化だけではなく圧縮も機能に入っているので、多少ディスクスペースの軽減にも役に立つ。





アタッシュケースはインストーラでインストールされる
インストーラの指示に従って進むだけでいい




インストール先の「アタッシュケース」という名のフォルダを作るか聞いてくる
これも「はい」で進行




インストールが完了するとデスクトップにショートカットアイコンが生成される
使い方はここにパスワードをかけたいフォルダをドロップするだけ




このアタッシュケースのユニークなところは毎回暗号化の時に
どういうパスワードをかけたいか聞いてくるということだ
複数のユーザが同じアプリで暗号ファイル化してもパスワードが違えば
お互いのファイルの中身を見られる心配も無い
パスワードは確認のため2回タイプを要求される




プロセスが完了すると元フォルダと同じ場所に鍵アイコンのフォルダが生成される
これのオリジナルの方を削除してしまえばパスワードを
知っている者しか開けないファイルが残る




この暗号化されたフォルダを開く時にパスワードを要求される
パスワードは勿論暗号化の時に2回タイプしたパスワード




この暗号化パスワードをExcesのように毎回固定にすることもできる
一人で使っている場合はこの方が便利かもしれない




複合化した時にフォルダを置く場所も指定できる
他にも設定項目は結構きめ細かく用意されている




このアプリはWindows7でも動作を確認した
企業ユーザでWindows7を使っているところは
まだ少ないがこういう安全策は用意されている
企業ユーザは全般的に高価で大仰なソリューションを好むが
なかには実効性が低いものもよく見かける
こういう小粒だが実効性が高いものも検討対象にすればいいのにと思う









Previous  Index  Next



site statistics



青木さやか