初心者のためのLinux入門
本ページではこれからLinuxを勉強しようとしているLinux初心者のために、Linuxの超基本的な内容を解説します。
Linuxとは?
LinuxとはOS(オペレーティングシステム)の1つです。OSはコンピュータやスマホを動かすための基本的なソフトウェアのことで、Linux以外のOSにはWindowsやMac OS等があります。
Linuxの大きな特徴としてオープンソースであることが挙げられます。 WindowsやMac OSはそれぞれMicrosoft、Appleが開発しており、一般の利用者の持つ権利を制限することで利益を上げるプロプライエタリソフトウェアです。 一方でLinuxはオープンソースですので、誰でも自由に利用や改変、再配布ができます。
このような特徴もあり、LinuxはWEBサーバーや計算サーバー等のOSとして幅広く活用されています。 インフラエンジニア、社内SE、ソフトウェアエンジニア、データサイエンティスト等、多くの職種でLinuxに触れる機会があるでしょう。
Linuxのインストール
Linuxを勉強するうえで、まずはLinuxの環境の準備が必要になります。いくつか方法がありますが、以下に主な方法を挙げます。
- ネイティブインストール
- パソコンに直接Linuxをインストールする方法
- 仮想化ソフトウェア
- VirtualBoxやVMware等の仮想化ソフトウェアを使い、通常使用しているOS上に仮想環境を作成する方法
- WSL
- Windows上でLinuxを利用するための仕組み
詳しいインストール方法はこちらも参考にしてください。
こちらのLinux学習サービスでは、ブラウザ上で使用できるLinux環境が用意されており、インストール不要で今すぐにLinuxを使い始めることができます。
Linuxコマンドを試してみる
Linuxの準備ができたら実際にLinuxを操作しながら学習していきましょう。
以下の解説はLinux学習サービスの環境に合わせていますので、他の環境で実行する場合には注意してください。
pwdコマンド
まずは、pwdコマンドを例にコマンドの使い方を学んでいきます。pwdコマンドとは、カレントディレクトリ(現在いるディレクトリ)を確認するコマンドです。
コマンドはキーボードを使って入力し、「Enter」キーを押すことで実行されます。
本ページでは、「$」の行には入力したコマンド、「$」のない行にはコマンドの出力結果を表示しています。この例では「pwd」と入力して「Enter」を押した結果、「/root」と表示されたということを表しています。
一番左の「/」はルートディレクトリと呼ばれ最上階層のディレクトリを表します。それ以降の「/」はディレクトリもしくはファイルの区切りを表します。 pwdコマンドの結果は「/root」と表示されていますので、カレントディレクトリはルートディレクトリの中の「root」ディレクトリということになります。
lsコマンド
次にlsコマンドを使ってみます。lsコマンドはファイルやディレクトリの情報を表示するコマンドです。以下のようにコマンドを入力すると、カレントディレクトリ内のファイルやディレクトリを一覧表示してくれます。
lsコマンドの結果、カレントディレクトリ(/root)内には、dataというディレクトリが存在していることがわかりました。
cdコマンド1
ディレクトリを移動するにはcdコマンドを使用します。コマンドにどのディレクトリに移動するか教えてあげる必要がありますので、以下のようにcdの後にスペースを空けて、ディレクトリ名を入力してあげます。 このようにスペースを空けてコマンドに与える情報を「引数」と言います。
pwdコマンドを使ってカレントディレクトリが変更できたことを確認できます。
lsコマンドでディレクトリの中身も確認してみましょう。
「test.fa」と「test.tsv」という2つのファイルが存在していることがわかります。
catコマンド
「test.tsv」ファイルの中身を見ていきます。中身を見るには、catコマンドを使用します。「引数」にファイル名を指定します。
タブ区切りのデータが確認できたかと思います。
cdコマンド2
元いたディレクトリに戻りましょう。これにはいくつかの方法があります。
一つ目は絶対パスを使用する方法です。絶対パスはディレクトリやファイルの場所をルートディレクトリからすべて指示する方法です。
これで、元いたディレクトリに戻ることができました。ただ、階層が深い場合には絶対パスをすべて記述するのは大変です。
そこで、相対パスを使用します。相対パスは、現在いるディレクトリを起点にして目的のディレクトリやファイルを指示する方法です。
ピリオド2つ「..」はカレントディレクトリから1つ上の階層を意味しますので、「cd ..」で元いたディレクトリに戻ることができます。
他にも、引数を指定しないでcdコマンドを実行することでも元いたディレクトリに戻ることができます。
cdコマンドは引数なしで実行した場合にホームディレクトリに移動するようになっているためです。ホームディレクトリとはログイン直後のディレクトリのことで、この環境では/rootがホームディレクトリですので、この方法でも元いたディレクトリに戻ることができます。
mkdirコマンド
新しいディレクトリを作ってみましょう。mkdirというディレクトリを作成するコマンドに、引数として新しいディレクトリの名前「test」を渡します。
これで「test」という名前の新しいディレクトリが作成されました。
lsコマンドを使って新しいディレクトリが作成できたことを確認できます。
新しく作ったディレクトリに移動しておきましょう。
ディレクトリの中身は空になっています。
touchコマンド
新しいファイルを作成してみましょう。touchコマンドはファイルの最終更新日を変更するコマンドですが、ファイルが存在しない場合には新しいファイルを作成します。
これで「test.txt」という名前の新しいファイルが作成されました。
lsコマンドを使って新しいファイルが作成できたことを確認できます。
cpコマンド
ファイルをコピーしてみましょう。cpコマンドの1つ目の引数にコピー元のファイル名、2つ目の引数にコピー先のファイル名を指定します。
これで「test.txt」が「test2.txt」にコピーされました。
lsコマンドを使ってコピーされたことを確認できます。
2つ目の引数にはディレクトリを指定することもできます。
/root/dataディレクトリにtest.txtがコピーされました。
mvコマンド
ファイル名を変更してみましょう。mvコマンドの1つ目の引数に変更前のファイル名、2つ目の引数に変更後のファイル名を指定します。
これで「test.txt」が「test3.txt」という名前に変更されました。
lsコマンドを使ってファイル名が変更されたことを確認できます。
2つ目の引数にディレクトリを指定することでファイルの移動も可能です。
/root/testディレクトリにtest3.txtが移動されました。
相対パス
cpコマンド、mvコマンドでディレクトリ名を指定する際に絶対パスを指定していましたが、相対パスを指定することもできます。
「..」はカレントディレクトリから1つ上の階層を意味しますので「test3.txt」は/rootに移動します。
/root/testから/root/dataにファイルを移動する際には以下のような書き方もできます。
rmコマンド
rmコマンドでファイルやディレクトリを削除することができます。