これはドリコム Advent Calendar 2017 10日目です。

9日目は奈良坂さんによる、『マスターデータ管理を優しくExcelから解き放つ』です

■はじめに

こんにちは、デザイナーとしてUIや演出の作成をしている田中(ひさのん)です。

みなさん
大量のファイルの移動めんどくさい(TpT)
大量のファイルの中から、指定のファイル探すのもめんどくさい(TpT)

こんなこと、ありませんか…?

私も大量に画像を移動させたり、探したりしなくてはいけないことがあったのでそのときに、
「ファイルの移動とかで作業時間を取られるの辛いんや…!」
とぼやいてました。
そんなときエンジニアがささっとファイルを見つけてくれるし、名前もサッと変えてくれる…
どんな魔法だ…?と聞いたところ

「ターミナル」を教えてくれました。
たーみなるぅ…?(・p・)なにこれ文字ばっかり……こわい…

と怖がっていましたが、

ターミナルは、
ファイルやフォルダの移動、大量のリネームなんかも一行書けばできちゃうんだよ。
そう、ターミナルならね。

そう聞いて恐る恐る調べて使ってみましたターミナル。

すごい!ファイル操作に便利!!

 

でも…
デザイナーがターミナルを使ってるのをあまり見ない…
こんな便利なものなら、デザイナーにもどんどん使って欲しい!
そんな気持ちになり、ド初心者ですがこの場を借りてオススメさせてください!
エンジニアやパソコン上級者の皆さんは生暖かい目で見守っててくださいm(_ _)m

※Windowsもコマンドプロンプトで同じようなことができるようですが、私がmacユーザーなのでmacのみの説明になります。

■ターミナルとは

 

Macに標準で搭載されているアプリケーションです。
アプリケーション>ユーティリティの中に入っております。

このターミナルでコマンドという文字列を入力することによって様々なPCの操作や設定を行うことができます。
普段GUIでやっていることを文字で直接操作しているイメージです。
文字でPCを操作する…すなわち、PCに直接語りかけてる!!と私は思ってます。こう思うことで愛着が湧きました。

GUIのほうがとっつきやすくない?と感じると思いますが、
もう少しお付き合いください。次からターミナルを使うメリットを紹介します!

 

■ターミナルを使うメリット① かっこいい、モチベアップ!

「はじめに」読んで思った方はいると思います。
finderでもできることじゃない…?

しかし!!

finderより、ちょっとかっこよくないですか…?
わたしはコマンドを叩く姿にちょっと愉悦を感じています。

見た目も設定で変更できるので、
SF映画やハッカーみたいな気分で仕事ができます。

私のターミナルも色を変更したり、
ちょっと調べると顔文字が喋ってる風にもできて
楽しめます!

さらに色々覚えたり、調べることで
いろんなことをPCに命令して楽できちゃうので
次は実際の基本操作&便利だったことを紹介します。

■ターミナルを使うメリット② 大量にファイルやフォルダを捌きやすい

この項では実際に基本操作や楽できたコマンドを紹介します。

cdコマンドです。cdはChangeDirectoryの頭文字です。
フォルダのことをディレクトリと言います。
フォルダとディレクトリ、厳密には意味が違うみたいなのですが大体同じ言葉なのでここでは説明は省きます。
以下からはChangeDirectoryを習ってフォルダのことはディレクトリと書いていきます!

ChangeDirectoryなので
今いるディレクトリを違うディレクトリに変える。すなわち移動!と勝手に解釈して覚えました。
動作は下のような感じ。

上図のようなディレクトリ構成があります。

 

ターミナルでfarmディレクトリに移動した状態になっているのでfarmディレクトリにいるよと書いてあります。(※参考画像は初期のターミナル表示とは違います)

初期状態でターミナルに表示されてない場合は自分のいるディレクトリはpwdと打つと確認できます!

現在居るfarmディレクトリからhiyokoやumaやushiディレクトリに移動したいときにcdコマンドを使います。

ターミナルに
「cd 移動したいディレクトリ」
と打ち込みます。今回umaディレクトリに移動したいのでcd umaです。

 

すると、さっきまでfarmディレクトリにいたのがumaディレクトリに移動しました!

このコマンドはターミナルの基本操作です。
finderでディレクトリを移動するのと一緒で移動するだけなので
臆せずターミナルに打ち込んでじゃんじゃん移動しまくってみてください。

ディレクトリ名だけで移動できるのはディレクトリの下の階層までです。
ディレクトリの上の階層に移動するときは
cd ..
と打ってください。
下の階層じゃない場合はcdのあとに移動したいディレクトリのパスを入れることで移動可能です!

ターミナルはパスを入れれば指定のディレクトリを操作できますが、基本的には現在いるディレクトリを操作するので、操作したいフォルダにcdコマンドで移動するとパスをいれなくていいです。


lsコマンドはlsと打つだけで現在いるディレクトリにどんなディレクトリがあるかを一覧で出してくれます。
先ほどumaディレクトリに移動したので、
umaフォルダに何が入ってるか出してくれています。

 

通常の使い方はcdで次にどこに移動できるか見たりするのですが、
ある時、業務で大量のディレクトリ名をエクセルに打ち込む作業をすることになったときがありました。
普通だったらディレクトリをEnterで名前編集モードにしてコピー
を延々と繰り返す地獄なのですが、ターミナルで出した一覧をコピーするだけで終わりました(^o^)よかったー


mvコマンドはファイルを移動させるコマンドです。
「mv ファイル名 移動したいディレクトリ」
で指定のファイルを移動させることができます。

さらにこの機能は「pngだけ移動」など指定したパターンで移動ができます。

umaディレクトリにはキャラ名のディレクトリが入っており、その中にそれぞれのpngとpsdが格納されています。

ただこれだと書き出されたpngだけ欲しいのにいちいちフォルダを開けてpngファイルを取りに行く必要があります。
しかし…

mv */*.png _png
とすると、_pngディレクトリにpngファイルだけ移動されました!

移動したので元のディレクトリには.pngファイルは残っていません。

 

いきなり「*」とかでてきたのでmv */*.png _pngの説明をすると、
「*」「任意の長さの任意の文字列」を表します。ざっくり簡単に言うと「何かしらの文字」です。(数字でも英語でも日本語でもなんでも)
なので
「何かしらの文字の名前のディレクトリより下の階層にある、何かしらの文字の名前の.png_pngディレクトリ移動」
という意味になります。
拡張子だけを指定したい場合は
*.pngや*.txtなど*を拡張子の前につければ拡張子が合っているファイル全部を持ってきてくれます。

mvコマンドは「mv ファイル名 つけたいファイル名」とすることでリネームもできます!


次はcpコマンドです。
「cp ファイル名 移動したいディレクトリ」
でファイルをコピーできます。
mvコマンドはフォルダから移動させてしまいますが、
cpcopy!コピー!コピーしてくれます!

今度はumaと名前のつくpngだけ欲しいので
umaだけコピーできるようにまた「*」を使います。

cp */uma*.png _png
「何かしらの文字の名前のディレクトリより下の階層にある、umaのあとに何かしらの文字がつく名前の.png_pngディレクトリコピー」
になります。
これでumaとつくファイルの.pngファイルがコピーできました。

これなら、指定の名前の画像だけ集めなきゃ…というときも簡単です(^o^)

cpコマンドは上の動きのほかにも「cp ファイル名 つけたいファイル名」でコピーしつつリネームができます!mvもcpもディレクトリ指定じゃない方法も使えるので、ここでは詳しく説明しませんでしたが、調べてみてください。

まだまだいっぱい便利なコマンドはあるのですが、
私もまだまだひよっこなので初歩の初歩なコマンドだけにさせていただきます。

■ターミナルを使うメリット②謎のエラーの英語にビビらなくなる

ターミナルは基本英語で実行結果やエラーを返してくれます。

上のエラーは英語を読んだそのままで
・aってコマンドはないよー
・aっていうファイルやディレクトリーはないよー
というエラーです。
最初こそ英語だらけで怖いと怖気付いていましたが、
簡単な英語だとなんとなーーく内容がわかったり、
わからなくてもエラーの文言などはそのまま検索すると対処法をいろんな人が記事を書いていたりするので、すぐに調べるような癖がつきました。
同じように、日々使っているソフトで出る英語のエラーも
一旦よく読んで言われてることを確認して対処してみたり、
エラーの文言を検索にかけて調べてみるようになりました。

■さいごに

「ターミナル コマンド」などで検索すると今日説明した基本操作や、やれることが色々出てきます。
私も初心者なので日々めんどくさいなぁと思ったことは「検索→使ってみる」ということを繰り返しています。

そのおかげでドンドンめんどくさいことが減って仕事が楽になっていってます!
あとPCにやってもらうことによって打ち間違いなどのミスもなくなります!
使ったことない方は是非触って見てください!(^o^)<たのしいよ