見出し画像

ZIPでファイル圧縮をしよう! 【1】

さあさあ久しぶりにお題が見つかりましたよ。ZIP圧縮。

Macintosh な皆様は、今までこれ、どうやってました?

私はですね、Win な方へ(ではなくても、通常)ファイルを送る時、対象がフォルダの場合、余計なファイルが入ったり、ファイル名で問題が起こったりというような事象はずいぶん昔に知識として知っていたので、Mac標準の圧縮機能を使ったことがありません。コンテキストメニューからいくアレ。

画像2

敢えて名称は伏せますが、そういうなんやかんやに対応したフリーソフトを使っていたんです。

ところが、Catalina に移行してみて、対応してアップデートしたこのソフトがなんだか怪しげなプライバシーポリシーの変更をしていたことがわかり。

(英文なので面倒でちゃんと読まず、実際大したことじゃないかも?笑)

じゃあ自前でZIP圧縮くらいはやろうじゃないかと思い立った。とまぁこういう経緯なわけです。Automator を使ってやってみましょう。


OS X 以降の Mac は UNIX マシン

本題に入る前に。
このことを、みなさんは知っていますか。まぁ知ってるか。

Mac OS 9 から OS X へメジャーアップデートした時、それまでの Mac らしさをデスクトップやファイル操作のルック&フィールに残しながら、OS のコア部分はサーバOSとして歴史があり安定している UNIX のそれになりました。完全に生まれ変わった。

以前の記事にもちょいちょい「シェル(ターミナル)」を使うだの云々と言ったりしましたが、このシェルはまさに、この Mac のコアである UNIX の操作をするためのフロントエンド(直接我々が入力操作をするインターフェイス)そのものです。

現在の Macintosh は、Mac の皮を被った UNIX 、と言ってもいいでしょう。

UNIX 文化をそのまま引継ぎ、古くからある Perl や最近注目される Python や Ruby といったプログラミング言語(の開発)も、今の Mac は標準で可能になっています。広く浅く言語をかじった人間にとっては、めちゃめちゃ面白い OS になっているんですねぇ。

同じ動作をパソコンにさせる時の選択肢が多いこと、そしてそのことを「知っている」ということ。そこには価値があると思っています。何となく知ってさえいれば、これとこれを組み合わせてやってる人いないかな、と調べればヒントくらいは出てきますから。

例えば AppleScript だけではできない、もしくは非常に面倒なことも、他の言語とやりとりするとできるかもしれない。または楽に記述できるかもしれない。

幸い、Automator を軸にして、各言語を相互に結びつけ、入出力を交換しあえる仕組みがあります。この記事シリーズでは、そういったこともお伝えできれば良いと思って書いています。


シェル(ターミナル) ことはじめ

今回は先に言ったとおり、Mac標準の圧縮機能を使わず、このシェルから、純然とした UNIX の機能としての圧縮コマンドを使って操作し、いわば「クリーンな圧縮」をしたいというのが目的。

最近の Mac を起動すると、Dock にあらかじめ「ターミナル」が入っているかもしれません。もしなければ、アプリケーションのフォルダの「ユーティリティ」の中にあります。起動してみましょう。

画像1

こんな感じの小窓が現れると思います。

予想はついていると思いますが、この窓の中では、普段我々がマウスを使ってクリックしたりドラッグしたりという操作は無く(一部可能なことがありますが)、基本的に全て文字による入力、「コマンド」と呼ばれる命令を打ち込んで希望の操作をします。

でも! 怖がらないで大丈夫!
私自身も、コマンドを打ち込むなんて面倒ですよ。そういうことはプログラムにやらせる流儀ですし(笑)、ここでは最小限の簡単なことしか扱いません。

まずは、このシェルがどういうものか(少しだけでいいので)知るために、我々が普段やっていることを、このターミナル上で模倣してみましょう。フォルダを開いて、中身を見る、という一連の操作を。

ターミナルの窓で、現在自分が Mac にログインしているユーザ名の横で、カーソルが点滅していると思います。上の画像の例で言うと、「%」マークまでの入力待ちの状態とその表示行を「コマンドプロンプト」と呼びます。

そこで「ls」(英小文字で、エル、エス)と打ち、リターンキー。

画像3

すると、自分のホームディレクトリの中身が一覧で出てくると思います。ターミナルを起動すると、「ls」によってログインユーザのホームが現れる。これが初期状態です。

マウスポインタで、普通の操作をしてウインドウを表示させ、内容を見比べながらやるのもいいでしょう。例えばホーム以外の他のフォルダに飛んだ時に確信が持てるように…笑 意外と文字のみだと「ホントに合ってる?」みたいな感覚になりますからね。

「ls」というコマンドは、list を短縮したものだと言われています。まさに内容をリストするという機能を持ちます。

さて次に、今見えているディレクトリ(フォルダ)のリストのどれかの中へ入っていきましょう。ダブルクリックでさらに下層へ掘っていく操作の模倣です。

今度は「cd」。change directory の短縮形。例としては

cd Documents

こうしてリターンすると、書類フォルダに「入って」いますので、そこでまた前述の「ls」と打ちリターンします。さて、中身が見えていますか。

画像4

上の画像、私の場合は書類フォルダの中に入り、さらにこの note のエントリを格納してあるディレクトリに入ってから ls しています。みなさんの環境では自分の目的のとおりに見えていますか。

最初のうちはこうしていちいち ls して確認するのがいいと思います。実際私もそうしてます。笑

ひとまず必要と思われる知識というか、イメージ的なものはこれだけです。大したことじゃないでしょう?

ディレクトリの中身を見ただけなので、今回このターミナルはこのままいきなり終了してかまいません。

では次回以降、アクションの組み立てに入っていきましょう♪



この記事が気に入ったらサポートをしてみませんか?