2時間でマスター!Linux/Unixコマンドの使い方超入門

linux
井上 慎也
書いた人 井上 慎也

こんにちは!インストラクターの井上(@InoIno_iesa)です。

Java・PHP・Ruby・Python・C言語などでWEBプログラミングを行う場合、Linuxコマンドの使用はさけて通れません。

なぜならば、WEBアプリケーションを公開するためにはLinuxサーバーを操作する必要があるからです。

また、開発の環境を準備をするときにも、このLinuxコマンドが必要になることが多いです。

しかし、いざ使ってみようと思ったら、急に黒い画面が出てきて挫折しそうになった方も多いのではないでしょうか?

一見難解なLinuxコマンドですが、実は幾つかのコマンドとコツさえ掴めればわずか2時間くらいで使えるようになります。

今回はLinuxコマンドを2時間でマスターする基礎コマンドの使い方に加え、困ったときの対処法もご紹介します!

最後まで読めばLinuxコマンドを理解して、使えるようになっています。
WEBプログラミングをするためにもサーバーを操作する際も必要ですので、しっかり抑えておきましょう。

そもそもLinuxコマンドをなぜ覚えるか?

WEBアプリケーションが動いている「サーバー」と呼ばれるコンピュータは、殆どがLinuxOSで動いています。

具体的な数字で言えば世界で96%のシェアがあります。

スクリーンショット 2016-03-06 12.49.59
URL:w3cook
※UbuntuやCentOSなどはLinuxの種類を表している。

あなたが使っているFacebookや食べログ、Instagramのようなアプリも、Linux上で動いているわけです。

つまり、これからWEBアプリケーションを公開する為には、Linuxを使わなければいけないということは想像できるかと思います。

Linuxの操作は基本的にマウスでポチポチと操作する「GUI方式」ではなく、黒い画面でコマンドを打って(キーボードだけで)作業していく「CUI方式」というものになります。

このCUI方式の操作を行うためにコマンドを使います。
マウスで操作する代わりに、コマンドでコンピュータに命令をして動かすイメージです。

そのため最低限のLinuxコマンドを理解しておく必要があります。

※GUIとCUIの違い
IT用語辞典e-Wordsにはそれぞれ以下のように説明されています。

GUIとは、コンピュータやソフトウェアが利用者に情報を提示したり操作を受け付けたりする方法(UI:ユーザインターフェース)の類型の一つで、情報の提示に画像や図形を>多用し、基礎的な操作の大半を画面上の位置の指示により行うことができるような手法のこと。

http://e-words.jp/w/GUI.html

CUIとは、ユーザに対する情報の表示を文字によって行い、すべての操作をキーボードを用いて行うユーザインターフェースのこと。UNIX系OSの操作方式として一般的なほか、WindowsなどもCUI画面を呼び出して操作することができる。

http://e-words.jp/w/CUI.html

まず学習環境を整えよう

Linuxのコマンドを利用するためには、Linuxコマンドがインストールされている必要があります。

ここでは簡単にLinuxコマンドを使用できるClodu9を利用する場合と、Macの場合の使い方を解説します。

Cloud9を使う方法

スクリーンショット 2016-03-06 12.55.53
URL:Cloud9公式

Cloud9は1分で仮想のLinux環境を作ってくれるとても便利なツールです。

RubyやJavaは勿論、WEBサイト作成で人気のWordpressなどもすぐに環境構築が出来てしまいます。

特にWindowsのパソコンを使用されている方は準備が大変なので、このCloud9で簡単に環境を作ることをオススメしています。

Cloud9の導入の詳細を知りたい場合は下記の記事もご参照下さい。

Macでターミナルを使う方法

Macの場合ははじめからインストールされている『ターミナル』でLinuxコマンドを使用することが出来るため、Cloud9を使わなくても問題ありません。

ターミナルは「アプリケーションフォルダ」の中にある「ユーティリティフォルダ」から起動しましょう。

スクリーンショット 2016-03-06 13.09.18

それではここからLinuxの基礎コマンドの紹介と、調べ方について解説していきます。

Linux基礎コマンド

Linuxコマンドはとても多くの種類が有りますので、ここではよく使う基礎コマンドのみ紹介します。

基礎コマンドさえ分かれば今後自分で調べながらLinuxコマンドを使いこなせるようになれます。

一つずつ抑えていきましょう。

ディレクトリの移動

pwd

Linuxではファイルをまとめるための「フォルダ」の事を「ディレクトリ」と呼びます。

そしてpwdは”print working directory”(=作業しているディレクトリを表示せよ)の略称です。

このコマンドは現在自分が作業しているディレクトリがどこなのかを表示してくれます。

pwd2

例えば上の画像の場合では、pwdと入力して”/home/ubuntu/website”と表示されています。

これは「home」の中の「ubuntu」の中の「website」という位置にいることを表しています。

cd

cdは”change directory”(=ディレクトリを変更せよ)の略称です。

現在自分が作業しているディレクトリを移動させます。

cd [移動したいディレクトリ名]

で、指定したディレクトリへ移動できます。

cd

例えば上の画像の場合ではubuntuディレクトリからwebsiteディレクトリへ移動を行っています。

具体的に処理の内容を見ていきましょう。

はじめにpwdコマンドで/home/ubuntuに居ることが確認できます。

次に”cd website/”を入力することでwebsiteディレクトリ内へ移動します。

最後のpwdコマンドで/home/ubuntu/websiteに居ることが確認できます。

ファイルの表示

ls

lsは”list segments”(=区分けして一覧にせよ)の略称です。

現在自分が作業しているディレクトリにどんなファイル(またはディレクトリ)が存在するのかを表示してくれます。

ls

例えば上の場合は、自分のいるディレクトリに、

  • index.htmlというファイル
  • css/ というディレクトリ

がそれぞれ存在していることが分かります。

また、ここでLinuxコマンドの『オプション』についても触れておきましょう。

オプションとは元々のコマンドに情報を追加することで、細かな操作を行えるものです。

実際にオプションを使った動きを見てみましょう。

例えばlsコマンドには『a』というオプションがあります。

lsの後にスペースを入れて-aを入力して使用して結果を比べてみましょう。

ls-a

すると、通常のlsコマンドでは表示されなかった.gitというディレクトリなどが表示されています。

ここで表示されているのはLinuxの「隠しファイル」というものです。

技術者や管理者以外に触ってほしくないファイルやディレクトリの名前は、『ドット』から始めることで、隠しファイルとして扱われて普段見えないようにしておくことができます。

lsのaオプションはこの「隠しファイルも表示させる」という効果があり、通常のlsと少しだけ違った動作をさせることが出来ます。

Linuxのコマンドにはそれぞれオプションが用意されていますので、基本的な使い方を覚えたら色々なオプションも調べて使いこなせるようになっていきましょう。

ファイル操作

mkdir

mkdirは“make directory”(=ディレクトリを作成せよ)の略称です。

mkdir [作成したいディレクトリ名]を実行することで、指定した名前のディレクトリを作成することが出来ます。

mkdir

上の例でははじめにindex.htmlとcssというディレクトリのみ存在していますが、”mkdir images”のコマンドを実行することでimagesという名前のディレクトリが作成されることが確認できます。

cp

cpは“copy”(=複製せよ)のことです。

“cp [コピーしたいファイル] [コピー先]”を実行することで指定したファイルをコピーすることが出来ます。

“cp [コピーしたいファイル] [コピー後の名前]”という形で名前を変更してコピーすることも出来ます。

cp

上の例では、index.htmlというファイルが存在するディレクトリで、”cp index.html about.html”というコマンドを実行しています。

このコマンドにより、index.htmlというファイルと同様の内容のファイルが、about.htmlという名前で作成されます。

またcpはディレクトリ自体をコピーすることも出来ますが、その際には”cp -r [コピーしたいディレクトリ名] [コピー先]”というように指定します。

mv

mvは“move”(=移動せよ)のことです。

存在しているファイルを別のディレクトリに移動させたい時に使用します。

mv [移動させたいファイル] [移動先]として使用します。

mv

上の例ではtop.jpgがindex.htmlと同じディレクトリに存在していました。

“mv top.jpg images/”というコマンドによりtop.jpgをimagesというディレクトリの中に移動させています。

index.htmlの存在するディレクトリからtop.jpgが消えていることが確認できます。

また、imagesのディレクトリに移動して内容を確認するとtop.jpgが存在することが確認できます。

mvコマンドはファイルの移動を行うことだけでなく、ファイルの名前を変更することもできます。

mv [名前を変更したいファイル] [変更後の名前]として使用します。

mv_rename

“mv top.jpg main.jpg”というコマンドで、元々top.jpgという名前だったファイルが、main.jpgという名前に変更されていることが確認できます。

rm

rmは“remove”(=削除せよ)のことです。

指定したファイルを削除します。

“rm [削除したいファイル]”として使用します。

完全に削除してしまうと復元は難しいので、使用する際には注意しましょう。

rm

上の例では、はじめにmain.jpgが存在していました。

“rm main.jpg”というコマンドにより削除を行っています。

削除後lsコマンドでファイルがなくなっていることが確認できます。

ファイルの中身を見る

cat

catは“catenate”(=連結せよ)のことです。

cat [表示したいファイル]として使用します。

また、その名の通り複数のファイルを指定することで、それぞれの内容を繋げて表示させることも出来ます。

今回は練習のためtest1.txt(内容はtest1file)とtest2.txt(内容はtest2file)というファイルを作成しておきました。

cat

上の例では、”cat test1.txt”というコマンドでtest1.txtの内容を確認した後、”cat test2.txt”というコマンドでtest2.txtの内容を確認しています。

“cat test1.txt test2.txt”と2つ同時に指定することで、両方の内容を繋げて表示されていることが確認できます。

困ったとき&コマンド調べ方

ここからコマンドの調べ方を紹介していきます。

これさえ知っていれば、どんどん新しいコマンドを身に付けてレベルアップしていくことが出来ます。

検索のやり方

Linuxコマンドには膨大な種類や細かなオプションがあるため、全てを把握しておくことは不可能です。

やりたいことが有る時や忘れた時には都度調べて使うようにしましょう。

1. やりたい事は有るが、コマンドがわからない時

Linux [やりたいこと]」のキーワードで検索してみましょう。

例えば「Linux ディレクトリ 作成」で検索をしてみます。

google_dirmk

ディレクトリを作る為のコマンド「mkdir」に関する情報がいくつも出てきていることが確認できます。

2. コマンドの使い方が知りたい時

「[コマンド名] 使い方」のキーワードで検索してみましょう。

例えば「mv 使い方」で検索をしてみます。

google_mv

mvコマンドの使い方に関する情報が出ることを確認できます。

3. オプションが知りたい時

Linuxコマンド [コマンド名]ls オプション」のキーワードで検索してみましょう。

例えば「Linuxコマンド ls オプション」で検索をしてみます。

google_ls_option

lsコマンドの詳細な使い方を解説しているサイトが出ることを確認できます。

オススメリファレンス

検索して調べる他リファレンス系のサイトや、自分用の資料を用意することもおすすめです。

逆引きリファレンス

例えば下記のようなコマンドの逆引きサイトでは自分のやりたいことからコマンドを調べることが出来ます。

スクリーンショット 2016-03-06 13.38.40
URL:日経Linux Linuxコマンド逆引き大全 Index

チートシート

慣れるまでは『チートシート』(一覧表)としてまとめてあるもの、印刷して手元に置いておくと作業が捗ります。

スクリーンショット 2016-03-06 13.42.04
URL:Unix/Linux コマンドリファレンス(日本語版)

この記事のリファレンス

下記にこの記事で扱ってきた最低限知っておきたいコマンドとノウハウをリファレンスとしてまとめました。

もし分からなくなった際にはこちらをご参照下さい。

コマンド処理内容使用例
pwd作業しているディレクトリを表示
$ pwd
/home/ubuntu/website
cdディレクトリを変更$ cd website/
#=> websiteディレクトリへ移動
ls作業ディレクトリのファイル等一覧$ ls
#=> ファイル一覧
$ ls -a
#=> 隠しファイルも含めて一覧
mkdirディレクトリを作成$ mkdir images
#=> imagesという名前のディレクトリの作成
cpファイルのコピー$ cp index.html about.html
#=> index.htmlをコピーしてabout.htmlとして保存
mvファイルの移動・ファイルのリネーム$ mv top.jpg images/
#=> top.jpgをimagesというディレクトリの中に移動
$ mv top.jpg main.jpg
#=> top.jpgのファイル名をmain.jpgに変更
rmファイルの削除$ rm main.jpg
#=> main.jpgの削除
catファイル内容の表示
ファイル内容を連結して表示
$ cat test1.txt
# test1.txtの内容を表示
$ cat test1.txt test2.txt
# test1.txtとtest2.txtの内容を連結して表示
  • コマンドが分からない時は「Linux [やりたいこと]」で検索
  • コマンドの使用方法が知りたい時は「[コマンド名] 使い方」で検索
  • オプションが知りたい時は「Linuxコマンド [コマンド名]ls オプション」で検索

まとめ

「Linuxコマンドをたったの2時間でマスターする方法」はいかがでしたでしょうか。

コマンドとコツを把握したあなたなら、Linuxコマンドを使いこなすことが出来るはずです!

これでWEBプログラミング行ったりサーバーへの公開を行うことが出来るようになります。

下地はもうできましたので、これからLinuxコマンドを使い倒してレベルアップしていきましょう!

おまけ

Linux入門者がまずやること

これからLinuxを学習しようにも「何をどういった順番で学んでいけばいいのかわからない」と不安な方にはまず、こちらの記事を読んでいただくことをおすすめします。

全くの未経験の初心者の方でもわかるように、Linuxとは?という基本的なことからおすすめの勉強方法、勉強のコツをまとめてステップ形式でご紹介しています。

Linux学習への第一歩にぜひ役立ててください。

おすすめコンテンツ

より詳しく基礎を学びたい人には、3分動画で学ぶ「ドットインストール」のUNIXコマンド入門がオススメです。

スクリーンショット 2016-03-06 13.48.30
URL:ドットインストール UNIXコマンド入門 (一般ユーザー編)

今回取り上げたコマンドよりももう少し詳しい内容が動画で解説されていますのでまねをしながら実施してみましょう。

また、「ドットインストールの他にもどんなコンテンツがあるのか知りたい」という方はこちらの記事をご覧ください。

Linux初心者の方が学習を進められる入門サイトを7つご紹介しています。

Linuxを扱う目的によって適したコンテンツが違ってきますので、あなたにぴったりの学習コンテンツを見つける参考にしていただければと思います。

おすすめテキストエディタ

Linux以外にも使用することが多いテキストエディタですが、使ったことがない方のなかには「種類が多すぎてどれを選べばいいかわからない」とお悩みの方も多いのではないでしょうか。

こちらの記事ではLinux初心者でも簡単に使えるおすすめテキストエディタを5つご紹介していて、使いやすさはもちろん、「このテキストエディタは〇〇な人におすすめ」というのがわかりますので、迷うことなくテキストエディタを選ぶことができます。

おすすめ書籍

書籍で学習していて一番イヤなことって「自分のレベルと見合っていなくて挫折してしまうこと」ですよね。

Linuxの書籍も入門者から上級者向けまで数え切れないほど存在します。

そこで、こちらの記事では、Linuxの学習本を「入門者」「中級者」「上級者」と3段階にレベル分けして全6冊ご紹介しています。

あなたに合ったレベルの書籍でLinuxの学習効率をグンとあげられるので、ぜひ参考にしてみてください。

現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題、最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

井上 慎也

井上 慎也

侍エンジニア塾のインストラクター。フリーでWEB制作の受託や自身の事業の傍ら、侍ではWEBプログラミング方法の指導やプログラミング学習コミュニティの運用を行っている。
好きなショートカットキーは、command + w 。愛機はMac Book Pro。ブラウザのタブを大量に開きがち。