この記事では、Progateさんを間借りしてLinuxコマンド実習をする方法を書きました。
Progateさんは、無料のe-learningサービスです。
メールアドレスとパスワードで登録して、環境構築もせずにwebブラウザだけで、プログラミング学習ができます。「プログラミング学習を始めるなら、まずはProgate」と云われるぐらい超有名です。
ちなみに、私のIT専門学校の授業でも使わせてもらっています。
Linuxコマンド実習には、本来は自分のパソコンにLinux環境を作る必要がありますが、この記事のやり方で、今ブログを見ているwebブラウザだけでできますよ。
あなたがLinuxコマンドやProgateさんでITを学び始めるキッカケになったら、嬉しいです。
よろしくー
▼次に読んで欲しい記事▼
実習環境の準備 | Progateで環境構築は不要!
「Progate」って超有名なe-learningサービスがあります。
登録しましょう。メールアドレスとパスワードだけで簡単です。
登録は無料ですし、「プラン変更」をしない限りは有料にはならないので、安心してください。
授業の導入で使ってるよー
- 画面左上の「コース一覧」を押したら、全てのコースが表示されます。
- 「CommandLine(コマンドライン)」を押してください。
「レッスンを始める」を押してください。
プレゼンがでます。
以下の三種類からお好みで進めてOK。
- 操作方法なので、読み進めてもらってもOK。
- せっかくなので「Command Line 基礎編」を全部やってもらってもOK。
- この記事の実習をすぐしたい時は、右上の「×」を押してOKです。
下記のような画面になるので、
今後は真ん中の「ターミナル」ってところに「コマンド」を打ち込むことになります。
これで準備おっけー
基本的なLinuxコマンド 5つを試してみよう!
それでは、Linuxコマンドを幾つか試していきましょう。
- pwd…現在位置(今いるフォルダ)を知る
- cd…現在位置から移動する
- mkdir…フォルダ(ディレクトリ)を作る
- echo…文字列を出力する。リダイレクトも使って見ます
- less…ファイルの中身を見てみる
基本中の基本だよー
現在の場所を確認する
「pwd」は「現在位置」を教えてくれるコマンドです。
ターミナルに以下のコマンドを打ち込んでください。
pwd
次のような表示がでます。
/home/progate
右の「ファイル構造」にはフォルダやファイルが見えてますね。
Windowsのコマンドプロンプトの時と同様、CUIとGUIで比較しながら見ると理解しやすいです。
pwdおっけー?
lsコマンド:現在いるとこのファイルやフォルダの一覧表示
「ls」は現在位置から見えるファイルとフォルダの一覧表示します。
ls
「-l」というオプションをすると、詳しめの情報も表示します。
ls -l
次はオプションで
やり込むよー
次はファイルの作成時刻順に並べてみましょう。
ls -lt
ls -ltr
- 「-t」で新しい順に並びます。
- 「-tr」で古い順つまり、一番下に新しいものが表示されます。
オプションはたくさんあるよー
このように、コマンドの後に「-なんとか」と効果を追加することを「オプション」と云います。
「-a」は、隠しファイルも含めて、全てのファイルやフォルダを表示します。よく使います。
ls -a
オプション「l」も付けて、詳細情報も表示させましょう。
ls -al
さきほどの「-ltr」と組み合わせて、「-altr」もよく使います。
ls -altr
複数のオプションを組み合わせて、便利に使うことができます。
- a…隠しファイルも含めて全て表示
- l…詳しい情報も表示
- t…時刻順に並べる
- r…逆順に並べる
使っていると
必要なのを覚えてくよー
cdコマンド:いる場所を移動する
cdコマンドは、フォルダの中に入ったり出たりするためのコマンドです。
Windowsやマックで、フォルダをダブククリックして中に入りますよね。
現在は「/home/progate」内にいます。pwdで確かめてみてください。
見えるフォルダは「ls」コマンドで「language」フォルダだと分かっています。
では「languages」フォルダの中に移動しましょう。
問題出すねー
コマンドを使って以下のことをしてください。
- cdコマンドでlanguagesフォルダの中へ移動
- コマンドで現在位置が「/home/progate/languages」の中であるか確認
- コマンドで「/home/progate/languages」の中にあるファイルやフォルダを確認
以下のコマンドが答えです。
cd languages
pwd
ls
できたー?
フォルダ指定を「..」にすると、一つ上に移動します。
さらに次の課題で理解できた確かめましょう。
- cdコマンドでlanguagesフォルダの外(上)へ移動
- コマンドで現在位置が「/home/progate」であるか確認
- コマンドで、「/home/progate/」の中にあるファイルやフォルダを確認
答えのコマンドは以下です。
cd ..
pwd
ls
この3つは覚えたよねー
mkdirコマンド:フォルダを作る
「mkdir」はフォルダを作るコマンドです。
dirは「ディレクトリ」のことで、「フォルダ」と同じです。
この記事でもWindowsで馴染みのある「フォルダ」に統一しますね。
ではさっそく、testdirって名前のフォルダを作ってみましょう。
mkdir testdir
右のGUI(上図の右側の赤枠)でフォルダが作成できたか確認してください。
もちろん「ls」コマンドで表示させてもOKです。
できたー?
echoとリダイレクト:画面やファイルへの出力
Windowsでは「メモ帳」アプリで、ファイルに文字を入力できますね。「エディタ」と云います。
Linuxでのエディターの代表格は、「vi」や「emacs」です。ちょっと癖があります。
しかし「progate」では使えない設定になっています。
設定ファイルとか
いじれるの危険だからねー
よって、今回は「リダイレクト」を用いてファイルに文字列を書きこんでみます。
「リダイレクト」とは誘導する意味です。
今回の場合は、表示先を画面からファイルに誘導しなおしてます。
「echo」は指定した文字列を出力(表示)させるコマンドです。
echo text
「>」が「リダイレクト」で、実行結果を指定された先に出力します。
今回はファイル「testtxt.txt」を出力先にします。ファイルが存在していないなら新規作成され、ファイルが存在する場合は上書きされます。
echo text > testtxt.txt
これで書き込み終了ー
もう1つリダイレクトを学びましょう。
「>>」は「リダイレクト」で、出力先に追記します。
testtxt.txtに「text」って文字列が書き込まれたので、以下のコマンドでさらに「text2」を追記します。
echo text2 >> testtxt.txt
texttxt.txtというファイルに、textとtext2という文字列が書き込まれました。
次は「less」コマンドを使って、書き込みがちゃんとできているかファイルの中身を見てみましょう。
>と>>
わかったー?
lessコマンド:ファイルの中身を見る
「less」はファイルの中身を閲覧するコマンドです。
less testtxt.txt
textとtext2が書き込まれていることが確認できます。
qボタンで抜けてください。
>と>>
わかったー?
名前変更やコピーや削除などは、「Progate」さんで学習できます。
ただし、総じてコマンドでのファイル操作を実習しただけであって、何かが開発できるわけではありません。あくまで、CUIの体験とサーバーで使うんだなぁという理解をすればOKです。
mv, cp rmコマンドだねー
コマンド最大のメリット「シェルスクリプト」を実習!
ここからが、Progateにない当記事オリジナルの学習項目です。
Linuxでは、「シェルスクリプト」によって、コマンドを一括処理できます。
テキストファイルの中にコマンドを羅列して実行します。
「なんでコマンドポチポチやるんだろう」「マウスでカチカチで良いじゃん」と思ってるかもですが、コマンドが便利な理由が分かりますよ。
Windowsでは
バッチファイルって云うよー
テキストファイルを作る
「touch」は、からっぽのファイルを作成するコマンドです。
touch auto.sh
auto.shが作成されたことを確認しましょう。
右のGUIでもよいし、lsコマンドでもOKです。
からっぽのファイルが
できたー
テキストファイルを編集する
echoとリダイレクトを使って、実行したいコマンドを三行書き込みましょう。
echo mkdir testdir2 >> auto.sh
echo cd testdir2 >> auto.sh
echo echo text \> testtxxt2.txt >> auto.sh
特に3行目は「>」という文字列を書きこみたいのですが、「\」によって「エスケープ処理」しています。
「>」がコマンドにあるとリダイレクト指示だと解釈されるため、【今から指示する「>」はリダイレクトじゃなくて、文字列の「>」として取り扱ってね】という指示をするために前に「\」をつけます。
※「\」について。Windowsでは円マークですが、Linuxではバックスラッシュとして表示されます。
auto.shの中身もみておきましょう。
less auto.sh
ファイルにコマンドを書いたので
次は実行するよー
シェルスクリプトを実行する
「sh」は、シェルスクリプトファイルを実行コマンドです。
前項によって、以下の3つのコマンドが「auto.sh」ってファイルに書き込まれています。
- testdir2を作成する
- testdir2の中へ移動する。
- 「text」という文字列を「testtxt2.txt」というファイルに出力する。
ファイルの中身が
実行されるよー
実行してみましょう。
sh auto.sh
正しく処理が行われたか、右のGUIで確認をしてみましょう。
できたかなー?
実習環境の紹介 | Virtual Boxが最終地点
最後に、Linuxの実習環境についてざっくり紹介しておきますね。
progate か google colaboratoryが登録のみで、勿論無料でできますのでお勧めです。
ここで紹介するのは、
- Progate…今回の実習。他のレッスンもお薦め!
- google Colaboratory…PythonやAIでお薦め!
- Cygwin…今は使わなくても良いかなぁ
- Vitual Box…専門学校の授業でも使ってて、お薦めの最終地点!
次の学習に
つなげていってねー
progate
Progate(プロゲート)は超有名なe-learningサービスです。
「プログラムを学習するなら、まずはProgate」と云われるぐらい。
- 無料でwebブラウザだけで始められる
- 無料で一通りしてから、1~2か月有料にするのがお薦め
- ただし、初心者向きなので、中級者になるには更に勉強が必要
- コンテンツによってレベル差が大きい
やらない人はいないねー
私は、2ヶ月と1ヶ月の合計3ヶ月間は有料会員になりました。
コースの無料コンテンツを一通り終えてから、集中的に有料コンテンツで学習しましょう。
有料部分は制作物が複雑になってくるので、「ただ言われたままに打ち込むだけ」になってしまい勝ち。常に自分が何をやっているのかを把握しながら進めると良いです。
Progateの全レッスンについては「【Progateレベル230】IT先生が全レッスンを完全解説」に詳しくまとめています。
是非やってみてねー
google colaboratory
google colaboratory(グーグルコラボラトリー)は、特にPython言語を無料で始めるときにお世話になるサービスです。
- pythonのクラウド実行環境のサービス
- gmailアカウントで無料でできる
- Linuxで動いているので、linuxの実習もできる
使用に少し制限がありますが、初級~中級者が手軽に利用できます。
私も3年以上メインで利用しています。
画像識別AIや自然言語AIなど、よくあるAI開発にまったく問題ありません。
ただし2つ注意点があります。
- ローカルPCのカメラなど接続機器へのアクセスはできない
- webアプリを作るには少し工夫が必要…flaskやngrokを使用する
使い込みたい時は、結局は自分のパソコンに環境構築することになります。
もしPython言語やAI開発に興味があったら「なるべく無料でPythonを学ぶ最短ロードマップ」をどーぞ!
作りたくなる頃には
構築できるようになるよー
cygwin
cygwin(シグウィン)は、windowsにunix環境を作るフリーソフトです。
Linuxと同じコマンドを実行することができます。
私は、学生時代に5年以上使っていました。しかし、今は次項のVirtual Boxによる環境がオススメです。
当時は仮想PCを立ち上げるにはPCのスペックが不充分な場合が多く、研究室のLinuxサーバーにリモートログインして計算をさせる用途が多かったため、windowsでLinuxコマンドやX-windowやVNCをするためにCygwinを使っていました。
今はしなくてもいいかなー
Virtual Box
Virtual Box(バーチャルボックス)は、他のOSを実行することができるフリーソフトです。
例えば、WindowsパソコンのVirtual Boxアプリの中でLinuxを使うことができます。
僕の授業でも使ってるよー
研究や開発のために、自分のPCにLinux環境を作る必要があります。
自分のPCをLinuxにしてブートするのは負担であるため、Windowsの上のソフトウェアとしてLinuxを使います。負荷はかかりますが、大変重宝しています。
Linux環境の入れ直しも手軽なので、試しに触ってみる実習として最適です。PCのスペック(特にメモリ)に注意してください。8GBメモリではカツカツになり勝ち。
下図は私のPCでVirtualBoxを起動させ、Linuxを起動し、コマンドを入力した画面です。
Winパソコンの中に
Linuxパソコンがあるみたいー
似たソフトで、「VMware」もあります。
私は「Virtual Box」も「VMware」も使ってきました。お好みでOK。
まぁVitrual Boxでいいよー
授業でも使ってるしー