0から覚えるUnixコマンド!覚えておいて損はなし!

ぽんぽこの画像

プログラミング学習者に役立つサイトを目指します! by ぽんぽこ @ponpoko_code

プログラミングスクールの比較・検索 プロぽこ

エンジニアとして開発をする上でUnixコマンドはなくてはならないものの一つです。ただただ「プログラミングをする」だけのエンジニアとして生きていくのはまだまだ辛い世の中です。

なぜなら世の中のサーバーはほとんどがLinux系のOSですので、ログインしたらもうコマンド以外ではOSの操作ができません。そのため、インフラエンジニアやサーバサイドエンジニアにとってはほぼ必須スキルと言っていいでしょう。

また、クライアントエンジニアだとしてもバージョン管理のために「git」や「svn」を使うことになりますし、「ln」コマンドを使ってリソースのリンクを貼ったりするかもしれません。

そして、Unixコマンドはちょっとしことをぱぱっとやるのに非常に便利なものです。覚えておいて全く損はありません。Macユーザならここで紹介するコマンドをほとんどそのままMac上で使うことが出来るはずですので是非試してみてください。



基礎の基礎

「0から覚える」と明言したので、本当の基礎のコマンドも紹介しておきます。
先に言葉の定義だけしておくと、自分がいるディレクトリのことを「カレントディレクトリ」と言います。

カレントディレクトリのパスを表示する「pwd」

ルートディレクトリからカレントディレクトリまでのパスを表示するのが「pwd」コマンドです。

$ pwd
/Users/myname/article

ディレクトリを移動する「cd」

ディレクトリを移動するためのコマンドが「cd」です。
カレントディレクトリ以下にならそのディレクトリ名を、上にもどるのであれば「../」と指定します。

$ pwd
/Users/myname

$ cd article
/Users/myname/article

$ cd ../
/Users/myname

カレントディレクトリのディレクトリとファイルを一覧表示する「ls」

ファイルの一覧表示のためのコマンドが「ls」です。このコマンドを打てばカレントディレクトリのディレクトリとファイルが空白区切りで
全て見ることができます。

$ pwd
/Users/myname

$ ls
article   image.jpg   m.doc   test.txt

コマンドの多くは「-」をつけてオプションの機能を使うことができます。「ls」にもオプションの機能があります。

かなり頻繁に使われるオプションとしては「-l」があります。「-l」をつけると付加情報とともに縦表示で確認することができます。

付加情報としてアクセス権限やowner(少し難しいのでここでは説明を省きます), ディレクトリやファイルの大きさ,作成日時などを見ることができます。

$ ls -l
drwxr-xr-x  12 myname  staff  408   1 12 22:54 article
drwxr-xr-x   4 myname  staff  1000  1 12 22:53 image.jpg
drwxr-xr-x   4 myname  staff  223   1 12 22:53 m.doc
drwxr-xr-x   4 myname  staff  13    1 12 22:53 test.txt

「-h」を付けることで付加情報を「人間が読みやすい表示」に変えることができます。

例えば上記で表示した時のファイルの大きさの単位が明確に表示されたりします。

さらにオプションは複数をまとめて指定することができます。「-l」と「-h」を同時に使用したい場合「-lh」のように指定します。

$ ls -lh
drwxr-xr-x  12 myname  staff  408B   1 12 22:54 article
drwxr-xr-x   4 myname  staff  1KB    1 12 22:53 image.jpg
drwxr-xr-x   4 myname  staff  223B   1 12 22:53 m.doc
drwxr-xr-x   4 myname  staff  13B    1 12 22:53 test.txt

すると「1000」と表示されていたところが「1KB」とわかりやすい表示となりました。

最初に覚えるべきコマンドたち

ここから上記の3つのコマンドの次に覚えるべき便利なコマンドを紹介していきます。

ファイルをコピーする「cp」

「cp [コピーしたいファイル名] [コピー先のファイル名]」と入力することでファイルをコピーすることができます。[コピー先のファイル名]は存在しなければ新規作成され、存在していれば上書きされます。

(上書きされる時は確認なしの問答無用で上書きされるので注意しましょう。古きUnixにはwindowsのゴミ箱のような機能はないのです。やはりゴミ箱は世紀の大発明だと思います。)

$ ls
article   image.jpg   m.doc    test.txt

$ cp test.txt test2.txt
$ ls
article   image.jpg   m.doc    test.txt   test2.txt

ファイルを移動する「mv」

「mv [移動したいファイル名] [移動先のファイル名]」と入力することでファイルを移動することができます。

[移動先のファイル名]は存在しなければ新規作成され、存在していれば上書きされます。

$ ls
article   image.jpg   m.doc    test.txt   test2.txt

$ mv test2.txt mv.txt
$ ls
article   image.jpg   m.doc    test.txt   mv.txt

ディレクトリを作る「mkdir」

「mkdir 「ディレクトリ名」」とすることでディレクトリをつくることができます。

「ディレクトリ名」が存在していた場合、作成に失敗します。

$ ls
article   image.jpg   m.doc    test.txt   test2.txt

$ mkdri sample
$ ls
article   image.jpg   m.doc   sample   test.txt   mv.txt

ファイル, ディレクトリを削除する「rm」

「rm [削除するファイル名]」とすることでファイルを削除することができます。

$ ls
article   image.jpg   m.doc    test.txt   mv.txt

$ rm mv.txt
$ ls
article   image.jpg   m.doc    test.txt

下記のようにオプションとして「-r」をつけることでディレクトリを削除(内包する全ファイルも一緒に)することができます。

$ mkdir sample
$ cp test.txt sample/
$ ls
article   image.jpg   m.doc   sample  test.txt

$ rm -r sample
$ ls
article   image.jpg   m.doc    test.txt

ディレクトリの削除コマンドとしては「rmdir」もありますがこちらはファイルを含むディレクトリの削除はできません。

ファイルを作成する「touch」「echo >」

「touch [ファイル名]」とすることでファイルを作成することができます。[ファイル名]が存在しなければ何も書いてない空のファイルをさくせいします。

もし存在していたら書かれている内容を変更せずにファイルの作成日時のみを更新します。

$ ls
article   image.jpg   m.doc    test.txt

$ touch z.txt
$ ls
article   image.jpg   m.doc    test.txt    z.txt

「echo [文字]」は標準出力に[文字]を表示するコマンドです。これを「>」とともに使うとファイル作成をすることができます。

「echo [文字] > [ファイル名]」とすることで[文字]が書き込まれたファイルを作成することができます。

$ ls
article   image.jpg   m.doc    test.txt

$ echo "hello" > zz.txt
$ ls
article   image.jpg   m.doc    test.txt    z.txt    zz.txt

ファイルの内容を表示する「cat」「less」

「cat」「less」コマンドのいずれかを使うことで、ファイルの内容を標準出力に表示することができます。

これらの違いは「cat」が問答無用で全内容を表示しようとします。「less」はファイル内容が大きい場合は途中までしか表示しません。

$ echo "hello" > zz.txt
$ ls
article   image.jpg   m.doc    test.txt    z.txt    zz.txt

$ cat zz.txt
hello

$ less zz.txt
hello

まとめ

この記事ではUnixコマンドの基礎的な操作を紹介しました。初めは慣れないかもしれませんが慣れればguiで操作するよりも高速に処理できるようになります。

ここでは基礎的なものしか紹介していませんが、まだまだたくせんの便利なコマンドがあるので興味のある方は是非調べてみてください。

コマンドを使う際に注意する点としてはやはり「ゴミ箱」という機構に守られていない点でしょう。ファイルを削除する場合などはくれぐれも注意するようにしましょうね。



この記事が気に入ったら
いいね!しよう


プログラミングは楽しい!

今人気のプログラミングスクール!

オンライン!安い!チャット&ビデオ通話サポート!最短4週間で未経験からプロを育てるオンライン完結のスクール。最大の魅力は『自分だけのパーソナルメンターがつくこと』です。一人ではなかなか学習を続けられないという人にはぴったりのスクールです。実践的なスキルが身に付きます。テレビでも紹介されました。

サポートが丁寧!『Webスク』は、通学とオンラインの学習を組み合わせ、効率的にスキルを習得することができるスクールです。半年間で即戦力のプログラマー、Webデザイナーを目指します。業界初の「転職保証」も人気です。
『WebCamp』は実戦形式にこだわったプログラムで初心者でも安心して学習を進めることができます。1ヵ月間、集中的に学習することで、スキルの習得が早いのも特徴です。

オンラインでマンツーマン授業!?『CodeCamp』は、現役のエンジニアからマンツーマンのビデオ通話でレッスンを受けることができるプログラミングスクールです。初心者や学習に挫折した経験がある方の【最後の砦】となるでしょう。
1回40分のレッスンで、早朝から深夜まで受講可能です。オンラインなのにマンツーマンレッスン!忙しくて通学の時間が取れない!という方にもオススメです。ぽんぽこは『CodeCamp』のおかげでプログラマーに転職できました!

もっと記事を読むなら下記のボタンをクリック!