logo-sm

お問い合わせは Webフォームから

ブログ

Linuxのコマンド練習で初心者がするたった一つの効率的な学習方法

2022.03.16

この業界に足を踏み入れてからLinuxに触れる機会が増えました。皆様、どうもこんにちは。

最近ではLinuxコマンドを調べても特に困ることが無くなってきた私ですが、最初の最初は本当に困ったものでした。

 

コマンド?ディレクトリ?オプション?CUI???なんじゃそりゃ!!??

 

学んでも学んでもすべてが意味不明だった私が「これさえ知ってればここまで苦労はしなかったのでは!?」という反省点を踏まえた効率的学習法を書いていきます。

これからLinuxを学ぶ方の何かの役に立てれば幸いです。

練習環境はすでにある

Linuxのコマンドを練習するなら、Linuxの環境が必要になります。私は自分のPCも仕事のPCもwindowsなのでmacのことはわかりませんが、windowsにLinuxの環境は基本的にありません。

 

環境が無いなら用意すればいいのですが、時間が無い方や初めての方には少々厳しいのもまた事実。そんな方に朗報!ということで以下のサイトでLinuxコマンドの練習ができます。

画像元:JSLinux

「JSLinux」というサイトで、赤枠のリンク先でLinuxコマンドの練習ができます。

 

環境設定をしなくてもブラウザでき、動作も軽いのでオススメです。

ここ以外にも環境設定をしないでLinuxのコマンド練習ができるサイトがたくさんあるので、ぜひ検索してみてください。

 

コマンド練習だけならこのサイトで十分かと思います。

初心者がハマるLinuxのコマンド練習のワナ

では最初に、初心者がハマるLinuxのコマンド練習の私がハマった罠についてお話します。

 

まず「Linuxコマンド」について学習する場合、多くの方が最初にするのは座学かと思うのです。いわゆる勉強ですね。動画や参考資料、ネットのページを見たりするでしょう。わたしもご多分に漏れずその一人でした。

勉強⇒実践⇒勉強⇒実践⇒勉強……必死で取り組んで、その結果、、、全然ダメでした。

だって、何やってるかわからないんだもん!!

この「何をしているのかがわからない」という超根本的原因に気づくまで本当に苦労しました。気づいてからはコマンドの理解に苦労はしなくなりましたが、最初は本当にただただ苦痛でしかなかったです。

 

ということで、私がハマったワナを3つ紹介します。

その1:目的がコマンドの暗記

pwd、ls、cd、mkdir、rm、rmdir・・・・・・etc

一つ目のワナがコマンドの暗記。

コマンドを覚えることは全然悪くありません。むしろ素敵です。ですがいつの間にか暗記が目的になり、そのコマンドが何を指しているのか、何をするためのコマンドなのかがわからず、ただただ頭に入れていました。

それでもいける人はいいでしょうが、私には無理でした。

その2:慣れない用語

あとはコレ、「慣れない用語」。Linuxコマンド特有の単語が多く出てきます。

ただでさえコマンドが何をしているのかわからない状態で、意味不明な単語が来たらもうお手上げです。

人間わからないことを2ついっぺんに捌くなんてできないんですよ。

その3:コマンドを打つ目的を忘れる

1と2が合体して私の頭は完全にパンクしていました。でもコマンド練習をすればきっとわかるはずだ!と謎の決意をもち、いざコマンド入力!!

はい、、、、、結果は火を見るよりも明らかでしたね。。。

コマンドを打って、習った通りの挙動を確認した。。。それだけで終わってしまうという、なんとも手段が目的化する典型的な例でしたね。

じゃあどうすればいいの?

ここまで書くと、ただ脅しているような感じですが、大丈夫です!!

「このコマンドは一体何をしているんだ?」となってしまう方は、次の1点を理解すれば悩みが一気に吹き飛ぶかもしれません!

それは、

CUIとGUIのギャップ

まさにコレですね。

「CUI」とか「GUI」とか言われても、これからLinuxコマンドを練習される方には聞きなれない単語ですよね。

でも全然問題無いので大丈夫です。ご安心ください!

簡単に説明だけすると、CUI(Character User Interface)とは、「キーボードだけで、文字だけで操作する画面」のこと。windowsのコマンドプロンプトなどがまさにCUIですね。

 

一方で、GUI(Graphical User Interface)とは、マウスや指などで画面を操作する、普段我々が操作しているものですね。

この、CUIとGUIのギャップが最大のネックだと思っていいでしょう!!

このギャップが埋まれば、正直Linuxのコマンド練習は半分くらい終わったようなものですし、その後の学習も飛躍的に習得できます。※割とマジで

Linuxコマンドという文字での操作に対して、我々は普段はGUIという画面での直感的操作に慣れています。つまり、文字操作が画面ではどのように動くのかがわかればいいたったそれだけなのです。

ウソのようですが、結構ガチでそう思っています。

例えば「pwd」とか。勉強だけしていると『いちいちこんなのなんで使うの?別にいらなくね?』とか思っていましたが、意味が分かればめちゃくちゃ大事なコマンドだと気づきます。

Linuxコマンドを見てみよう

ここまでくればあとは慣れるだけです。

今回の記事ではコマンドの動きを知りたいので、コマンドを厳選してCUIとGUIの比較をしています。また、動きがわかりやすくて操作が比較的安全なコマンドを中心にしています。

また、コマンドの動作の確認を目的としているので、コマンドの語源やオプションなどは割愛します。

コマンド1:pwd

まずはこちら「pwd」。このコマンドを簡単に言うと「今どこにいるか」を表示します。めちゃくちゃ重要です。

まずはwindowsの画面で見てみましょう。

この「練習用」フォルダはどこにありますか?と聞かれたら、たぶんわかるかと思います。これは「デスクトップ」にありますね。「デスクトップ」に「練習用」というフォルダがあります。

では、これをLinuxコマンドで「pwd」と打つとこうなります。

「pwd」によって、今見ているLinuxの画面では、「home」ディレクトリにある「testuser」にいることになります。※Linuxでは、フォルダのことをディレクトリと呼ぶので、頑張って慣れてください

コマンド2:ls

次は「ls」コマンドです。これはそのディレクトリに何があるのかを表示させます。

普段のPCやスマホならそんなのは文字通り一目瞭然ですが、CUIの世界ではコマンドを打たないと表示されません。

このように、そのディレクトリに何があるのか確認をすることができます

もう少しこのコマンドの動作を確認しましょう。

「test01.txt」というテキストファイルを一つ用意して、このディレクトリに入れてみました。その状態で「ls」コマンドを実行してみます。※test01.txtの用意方法はここでは割愛。あくまで「ls」コマンドの動作確認が目的のため。

このように追加された「test01.txt」ファイルも「ls」コマンドで表示されました。

コマンド3:cd

続いてこちら「cd」コマンド。今いるディレクトリから目的のディレクトリに移動します

先ほどの「pwd」で今の場所が分かり「ls」コマンドで何があるのか分かりましたね。場所の確認と中身の確認をしたので、今度は移動方法です。

「pwd」と「ls」はそのまま入力すればいいのですが、「cd」コマンドには書き方があります。

基本形:「cd 移動先」

普段ならマウスでカチカチッと、スマホならスイスイっとやれば移動できます。ですが、やはりCUIの世界ではそうはいきません。

とはいえ慣れれはめちゃくちゃ簡単なので、「cd」コマンドがどんな動きをしているのかを見ていきましょう。

先ほどの続きから操作します。「ダウンロード」というディレクトリがあるのでその中に移動しますね。

これで移動が完了です。

それでは今、どこにいるのかを「pwd」で確認します。

はい。しっかり「ダウンロード」ディレクトリの中に入りましたね。

 

・・・・・・・・・と、書きましたが、どうですか?これでわかりますかね?正直、あまりしっくりこないかもしれません。実際やっているのLinuxコマンドだけだし・・・・・。

 

なので、画面でマウス操作をしたあとで、コマンド操作で確認。画面操作とマウス操作が同じ結果なら動きもわかりやすいと思うので、以下の準備をして確認します。

まず画面操作です。

  • 画面で「test01.txt」ファイルをコピーして「ダウンロード」ディレクトリの中に貼り付ける

画面操作で「ダウンロード」の中に「test01.txt」を貼り付けました。

 

次にLinuxコマンドの操作です。

  • 貼り付け後に「cd」コマンドで「ダウンロード」ディレクトリに移動
  • 「ls」コマンドで「test01.txt」ファイルを確認する

見ていきましょう。

おわかりいただけたでしょうか。

現在地を「pwd」で確認し、何かあるのかを「ls」でチェック。その後「cd」で目的の場所に移動し、その現在地を「pwd」で再確認。そして「ls」でtest01.txtファイルを見つけました。

つまり、最初は「testuser」にいたが、「cd」を使って移動することができたことになります。

コマンド4:mkdir

先ほどの3つのコマンドが何をしているのかイメージがつけば、Linuxコマンドのハードルはぐっと下がります。と言うことで4つめは「mkdir」です。

基本形:「mkdir ディレクトリ名」

このコマンドは新しいディレクトリを作成します。マウス操作でいうところの、右クリックして「新規作成」⇒「フォルダ」というあの操作。

マウス操作ならわかりやすいですね。

これをLinuxコマンドで操作するとこうなります。

ディレクトリ名はわかりやすく「aaaaaaaa」としました。

このコマンドを実行すると「aaaaaaaa」ディレクトリが出来ます。ですがこのコマンド、実行してもそれだけでは見た目の変化がありません。

こんな感じです。

このように変化がわからないので、「ls」コマンドで確認をします。

どうでしょうか。しっかりと「aaaaaaaa」ができていることが確認できました。

コマンド5:rm、rmdir

5つ目は「rm」コマンドと「rmdir」コマンドです。これらはファイルやディレクトリを削除するコマンドですが、大変危険なコマンドです。

実際の本番環境でこのコマンドを間違えて実行し、重要ファイルやディレクトリを削除してしまった場合、最悪取り返しがつかなくなります。そのくらいこのコマンドは慎重に実行します。

まずは「rm」から。

基本形:「rm ファイル名」

これはファイルを消すコマンドで、ディレクトリは削除できません。

今「ダウンロード」ディレクトリには、「test01.txt」ファイルと、「aaaaaaaa」ディレクトリが1つずつありますが、「rm」コマンドではディレクトリは削除できないため、aaaaaaaaディレクトリは残っています。

ということで、今度こそ「rm」コマンドでtest01.txt」ファイルを削除します。コマンド操作で画面上ではどうなるのかを並べたので確認してください。

「rm」コマンドも、実行しただけでは見た目の変化はありません。

画面上ではしっかり「test01.txt」ファイルは削除されていますが、それを「ls」コマンドで確認します。

「ls」コマンドで確認し、しっかりと「test01.txt」ファイルが消えているのがわかりましたね。

続いて「rmdir」です。これも「rm」と同じですが、こちらはディレクトリを削除します。

基本形:「rmdir ディレクトリ名」

これで「aaaaaaaa」ディレクトリも削除できたことが確認できました。

「ls」コマンドで確認すると、しっかりとディレクトリが無いことがわかります。

コマンド6:「rm」のオプション -i

コマンドの動作確認ではありませんが、一つだけLinuxコマンドのオプションを紹介します。

オプションとは、Linuxコマンドの機能をカスタマイズしてくれるものですが、今回「rm」のオプション「-i」を紹介します。

使い方:「rm -i ファイル名」

この「-i」オプションを付けると、削除をする前に一度だけ確認が入ります。この確認を挟むことによって事故を減らそうというものです。

このように削除するかどうかを聞かれます。

削除しない場合はNoの「n」を、削除する場合はYesの「y」を入力して実行します。

まずはNoの「n」から。

「rm -i ファイル名」で「n」を実行すると、ファイル削除はしない、と命令したので対象のファイルは残ったままです。

では、今度は「y」で削除します。

しっかり消えましたね。

「ls」コマンドでも見てみましょう。

「ls」で確認しても、先ほどの「test01.txt」ファイルは削除されていました。

ちなみに、有識者ほどこのオプションを意識されます

初心者の方は、多くのオプションに悩まされるかと思います。ですが、そのコマンドが何をしているのかがわかればオプションもそこまで難しくありません。

まとめ

ということで、Linuxのコマンド練習で初心者がするたった一つの効率的な学習方法は、コマンド操作が画面ではどんな動きなのかを確認することでした。

Linuxコマンドについては、本当に多くの方がブログで書かれています。

ですが初心者の私が、おこがましくも意見を述べさせていただきます、、、、

皆さま、細かく書きすぎですよ!

本当の初心者は、Linuxブログを見てもさっぱりわかりません。そのご丁寧な解説だって全然頭に入ってこないんですよ!決して内容が悪いのではないのです。受け取りてのキャパが追い付かないのです!!

だって普段は画面で操作するんですから。

そこにいきなり、文字操作をしろ!オプションも加えろ!とか言っても無理ですよ無理……。少なくとも私は無理でした。

ですが、CUI操作だって意味があるから今でも残っているわけでして。歴史をたどればCUI⇒GUIなので、コマンド1つ1つが何をしているのかを理解すれば決して難しくはありません。

なので、まずは何をしているのかの理解から始めてみましょう。

なおアウルキャンプではエンジニアになりたい方を随時募集しています。
もっと知りたい方や、当社でのキャリアを検討されている方は、

ぜひ[人材育成]にアクセスしてみてください。

私たちと一緒に、未来を創りましょう!

関連記事

  • WindowsのWSL2上のDockerでup時に’ContainerConfig’のエラーが出た。
    当社の開発環境はMacとWindowsが混在したDocker上での開発を行っています。なのでMacでOKだけど […]

    2024.04.08

  • VSCode (内のPowerShell)でアドレス設定を切り替え!
    【経緯】 最近携わった案件で大量のNW機器のキッティングをした際、それぞれにSSHでの接続性などを確認するテス […]

    2023.10.13

  • PaloaltoでWindows NTPサーバに同期
    【事象と対処法】 オフライン環境のPaloaltoでNTPの機能確認をする必要があり、Windows標準のNT […]

    2023.10.13

  • パートナー

  • 人材育成・採用情報