Linuxコマンドの使い方~基本コマンドを覚えよう~
はじめに
Linuxを使ってみたいけど難しそうだな、と思ってなかなか手を付けられないでいる方や、現場で必要になったけどどう始めていいかわからない、という方はいらっしゃるのではないでしょうか? 本記事ではLinuxコマンドの中でも基本的なコマンドを、実際に叩いてみながら、わかりやすく紹介していきます。またWinodwsをお使いの方にも、Windowsで始められるLinuxを紹介しております。Winodwsでコマンドプロンプトをやっていて少し操作できる方やLinuxの初学者のための記事となります。 是非本記事を読んで頂き、少しでもLinuxを身近に感じて頂けたら幸いです。
前準備
では、Linuxコマンドを紹介していきます。 もしWindowsをお使いでLinux環境が無いという方は、WSLのインストールをお勧めします。 お使いのPC上に仮想マシンを構築するのは、手間もPCのリソースもたくさん使ってしまいます。 WSLなら仮想マシンを構築することなく、Linuxを使うことができるようになります。 インストールの仕方もとっても簡単です。5分程でできてしまいます。
Linuxコマンドを試そう
では、さっそくLinuxコマンドを実際に試してみましょう。 今回紹介するのは、基本的かつ使用頻度の高いコマンドになります。 まずは基本的な操作に慣れるのが目的ですので、本記事では ”シェル環境コマンド”と”ファイルとディレクトリの操作コマンド”の2つを紹介していきます。
シェル環境コマンド
シェル環境コマンドを使えば、カレントディレクトリを移動したり、テキストを出力したり、変数を設定したりすることが可能になります。このコマンドは、後に紹介するファイルとディレクトリの操作コマンドとは、厳密には違う枠組みのコマンドになります。このコマンドは、「shell builtin」と呼ばれ、shellに組み込まれたコマンドになります。使い方は他のコマンドと変わりませんのでそんなに気にする必要は無いです。ではさっそく紹介していきます。
カレントディレクトリを確認する
現在いる場所(カレントディレクトリ)を確認する場合は、
「pwd」コマンドを使います。
以下のようにコマンドを書きます。実際に打ってみてください。
pwd
現在のディレクトリが表示されました。
/home/ユーザー名が現在自分のいるディレクトリになります。
※赤線の個所に自分のユーザー名が入ります。
カレントディレクトリを移動する
現在いる場所から別のディレクトリに移動したい場合があります。
その場合は、「cd」コマンドを使います。cdの意味は、チェンジ・ディレクトリです。
以下のようにコマンドを記載します。
cd ディレクトリ名
現在のディレクトリから一つ前のディレクトリに戻ってみましょう。
以下のようにコマンドを記載します。
cd ..(ドット二個)
pwdしてみると、現在地が/homeになっています。
ドット2個で一つ上の階層を意味します。「cd ..」で一つ上の階層に移動しろ、という意味になります。
では/homeディレクトリにどういうファイルやフォルダがあるかを確認してみましょう。
※lsコマンドは後で詳しく説明します。
以下のように打ってください。
ls
ユーザー名のフォルダが表示されます。
※最後に赤字になっているところに表示されるはずです。
このフォルダは自分が最初にいたディレクトリ名となります。
今度はまたこのユーザー名のフォルダに戻ります。
以下のように記述してください。
cd ディレクトリ名(lsコマンドで表示されたユーザー名)
pwdしてみると、ユーザー名のディレクトリにいるのが確認できます。
以上がcdの使い方です。恐らく最も基本的な操作になります。
これなくしては次に進めないので、是非覚えましょう。
他にもたくさんのシェル環境コマンドが用意されていますが、
また別の機会に紹介していきます。
ファイルやディレクトリの操作コマンド
では、ディレクトリの移動の仕方、確認の仕方を覚えたところで、今度はファイルやディレクトリの操作を覚えていきましょう。
リストを取得する
ディレクトリ内のファイルのリストが欲しい場合があります。
その場合は、lsコマンドを使います。※最初はファイルが存在しない場合があるので、
touch ファイル名 で作成しましょう。
では、以下のようにコマンドを記載します。
ls
現在いるディレクトリのファイル一覧が取得されいます。
ちなみに2番目の写真は物理フォルダになりますが、そこにある「.(ドット)」から始まるファイルが取得されていません。※物理フォルダは、以下になります。
C:\Users[ユーザー名]\AppData\Local\Packages\KaliLinux.XXXX(直前のピリオド以降のXは任意の文字列)
ドットから始まるファイルは、ドットファイルと言われユーザーの使用しない特殊なファイルになります。
アプリケーションの設定やキャッシュなどが記録されています。
通常lsコマンドでは、ドットファイルを表示させない仕様になっています。
ドットファイルを取得したい場合は、オプションを追加します。
以下のようにコマンドを記載します
ls -a
ドットファイルも取得できました。
また他にも-aのようなオプションを紹介します。
ファイルディレクトリの詳細情報を取得したい場合は、
-l(ハイフンエル)をオプションとして付け加えます。
以下の順で詳細が表示されています。
パーミッション(ファイルタイプとパーミッション:-:ファイル、d:ディレクトリ、l:シンボリックリンクなど)
ハードリンク数
所有者
所有グループ
サイズ
最終変更時刻
ファイル名
ディレクトリ内のファイルをソートして出力させたい場合は以下になります。
昇順の場合
ls -f(デフォルトが昇順になるため特にオプション不要。-fを付けても可能)
降順の場合
ls -r
ファイルサイズでの降順
ls -S※今回はファイルサイズも表示させるため-l(ハイフンエル)も追加。
他にもディレクトリ内の情報を再帰的に取得したり、ファイルやディレクトリの更新日時を秒単位で取得したりなど様々なオプションがあります。
ファイルやディレクトリのコピー
Linuxコマンドの「cp」は、ファイルやディレクトリーをコピーします。
cpコマンドは以下のように記載します。
cp [オプション] コピー元 コピー先
file_Aを複製し、test_0を作成しました。
他のディレクトリにコピーしたい場合は以下になります。
※lsのオプション(-R)は再帰的(リカーシブ)と言い、ディレクトリ内のフォルダ内を確認する場合に使います。
box_1というフォルダにコピーされました。
複数のファイルを纏めてコピーしたい場合は、以下のように指定します。
cp *(アスタリスク) コピー先
fileから始まるファイル名すべてをbox_1フォルダにコピーしました。
オプションは以下になります。
-R(配下のサブディレクトリ内のファイルを含めてまるごとコピーします)
-u(コピー先にファイルが無い場合、又はコピー元のファイルの方が新しい場合にコピーします)
-i(コピー先にすでにファイルがある場合は、上書きします。)
ファイルやディレクトリの削除
Linuxコマンドの「rm」では、ファイルやディレクトリーを削除します。
rmコマンドは以下のように記述します。
rm [オプション] 削除するファイル名
file_0を指定して削除しました。
パスを指定して削除することも可能です。
box_1のfile_0を削除しました。
複数ファイルを削除する場合は、cpの際にやったのと同じように*(アスタリスク)を指定すれば、
纏めて削除することが可能になります。
オプションは以下です。
-r(ディレクトリであっても削除します。※オプション無しの場合、ディレクトリは削除できません。)
-i(削除する際に確認が出ます。)
-v(削除内容を出力します。)
ファイルやディレクトリの移動
Linuxコマンドの「mv」では、ファイルやディレクトリを移動します。
mvコマンドは以下のように記述します。
mv [オプション] 移動元 移動先
file_Aをbox_1に移動しました。
ファイル名をリネームして移動させることも可能です。
ファイル名file_Bに「_Rename」をつけてbox_1フォルダに移動させているのがわかります。
※「las」なっているのはコマンドミスです。
その他にも複数ファイルの移動、ディレクトリの移動、またただファイル名をリネームさせる場合にも使えます。
オプションは以下になります。
-i(ファイルを上書きする前に確認が出ます。無い場合、すでに同名のファイルがあれば上書きされます。)
-f(ファイルの上書きを確認しません。)
ディレクトリの作成
Linuxコマンドの「mkdir」では、ディレクトリを作成します。
mkdirコマンドは以下のように記述します。
mkdir ディレクトリパス
box_2ディレクトリを作成しました。
パス指定で作成することも可能です。
オプションは以下になります。
-p(親ディレクトリが存在しない場合は作成します。)
-m(ファイルモードで作成します。)
空ディレクトリの削除
Linuxコマンドの「rmdir」では、空のディレクトリを削除します。
rmdirは以下のように記述します。
rmdir ディレクトリパス [...]
box_3ディレクトリを作成した後、削除しました。
オプションは以下になります。
-p(指定したディレクトリとその親ディレクトリを削除します。)
以上がファイルやディレクトリを操作するコマンドになります。
他にも、touch(空ファイルを作成する)、find(ファイルを検索する)、zip(ファイルを圧縮する)
など様々なコマンドがあります。
最後に
いかがでしたでしょうか? 今回紹介できたのは、Linuxコマンドの本当に氷山の一角に過ぎません。 シェル環境コマンドやファイルやディレクトリを操作するコマンド以外にも、システムを操作するコマンド、ネットワークを操作するコマンド、ソフトウェアを操作するコマンドなど色々なコマンドが用意されており、すべてを網羅するのは大変時間がかかります。Linuxコマンドは基本的なものを理解しておいて、後は実際の現場や自分でシステムを作る際などに少しづつ使えるコマンドを増やしていくのが良いでしょう。 最後まで読んで頂きありがとうございました。