はじめに
Linux初心者の方にコマンドの使い方を理解して使ってもらうための記事です。よく使うコマンドから順に解説していきます!記事を読むのと同時に実際に端末エミュレータ(Linuxターミナル)に入力して動きを確かめることをおすすめします!
以下の環境でLinuxを使うことをおすすめします
OS | ターミナル |
---|---|
Ubuntu22.04 | 端末(ターミナル) |
Windows10以降 | WSL2のターミナル |
ディレクトリ構造について
コマンド操作をする前に、Linuxにおけるファイル管理について簡単に説明します。
Windowsのエクスプローラーというアプリを開いたらファイルがずらっとならんでいますが、あの中でpdfやWordファイルのような~~.pdf
、~~.docx
というように、.
が含まれるデータをファイルと言います。そのファイルを複数まとめて含んでいるものを フォルダ(ディレクトリ) と言います。
ターミナルで打ち込むコマンドとは、ディレクトリやファイル、その他Linuxの設定に対して何か操作を加えることです。
ディレクトリは階層構造になっていて、一番上をルートディレクトリと言い、記号で/
と書きます。WindowsではCドライブの中にルートディレクトリがあります。
WindowsとLinuxのディレクトリ構成の違いは、Windowsはディスクごとにディレクトリが始まるのに対し、Linuxは必ずルートディレクトリが一つになっているということです。複数ディスクがあればマウントする(ディレクトリ構造のどこかにディスクを新たなディレクトリとしてくっつける)手法をとってます。
ユーザーが使うファイルの入っているディレクトリをホームディレクトリと言い、記号で~
と書きます。ホームディレクトリはルートディレクトリの直下にあって、/home
とも書きます。
ホームディレクトリ以下にユーザーの扱うファイルが連なっていきますが、そのファイルの繋がりをパスと言います。パスは2種類あって、
- ルートディレクトリから表していくことを絶対パス
- カレントディレクトリから順に辿って表すことを相対パス
と言います。
現在いるディレクトリをカレントディレクトリと言い、記号で.
と書きます。また、カレントディレクトリのすぐ上の階層のディレクトリ(親ディレクトリ)を..
と書きます。
現在ホームディレクトリ直下のhogeというディレクトリ(記号で書くと~/hoge
)にいると仮定してターミナルで書くと、
絶対パス:/home/user/hoge/hoge.txt
相対パス:./hoge.txt
となります。
ディレクトリ構造についてはコマンド操作をしていけば自然と理解できます!今は無理に理解しなくても構いません!
ターミナルの開き方
筆者はUbuntuでターミナルを使うので、Ctrl
+ Alt
+ T
と3つのボタンを同時に押します。
この画面がターミナルです。ターミナルの一番上のところに緑色の文字が見えますね。ここには筆者の場合
ubuntu@user:~ $
と書いてあります。これは
ユーザー名@コンピューター名:ディレクトリ名 $
という意味であり、筆者の場合 ubuntu というユーザー名が user という PC の ~(ホームディレクトリ)上で作業しているということを示しています。
この入力欄左に常に表示されるこの文字列を プロンプトストリング(Prompt String) と呼びます。
Linuxのコマンドの処理について
この$
の右を コマンドライン といい、実際にコマンドを入力する場所になります。ではこのコマンドラインでLinuxをどのように操作するのかというと、OSの中のLinuxカーネルというところがコマンドを処理します。コマンドを入力するターミナルを、OSの構成としてはシェルといいます。シェルはユーザとLinuxとの間のインターフェースの役割があります。
では、いよいよコマンドの紹介に移ります!
レベル1
まずは基本的なファイル操作を覚えましょう。このレベルが初心者の第一歩です、
cdコマンド
チェンジディレクトリ(Change Directiry) の略で、現在あなたの操作しているディレクトリから他のディレクトリに移動する時に使用するコマンドです。
方法
cd
+スペース
+行きたいディレクトリ名
青いところがそのディレクトリになっているでしょうか?
cdコマンドの Tips
-
cd
だけ入力すると ホームディレクトリ~
に戻ることができます。
以下の例はホームディレクトリ上にある/foo/bar
ディレクトリからホームディレクトリ~
に戻ります。:~/foo/bar $ cd :~ $
-
cd -
を実行すると一つ前のカレントディレクトリへ戻ることができます。
以下の例は~/foo/bar
ディレクトリから~/fuga/hoge
ディレクトリに移動した後にもう一度~/foo/bar
ディレクトリに戻ります。:~/foo/bar $ cd ~/fuga/hoge :~/fuga/hoge $ cd - :~/foo/bar $
lsコマンド
list segmentsの略で、カレントディレクトリの直下にあるファイルを表示するコマンドです。
実行すると以下のようにカレントディレクトリ上にあるファイルやディレクトリを一覧表示します。
方法
青いところがディレクトリ
白いところがファイル
緑のところが実行ファイル
という分類があります。
他にも、コマンドの後ろに-
を付けてオプションを足すことができて、
-
ls -a
:隠しファイルを確認 -
ls -l
:権限を確認
などの機能があります。
pwdコマンド
カレントディレクトリの絶対パスを表示するコマンドです。
方法
$ pwd
/home/ubuntu/python_learn/test
レベル2
レベル2では、レベル1で覚えたコマンドに加えて使うコマンドを紹介します。
rmコマンド
removeの略で、指定したファイル及びディレクトリを完全に消すコマンドです。通常の削除とは違い、このコマンドによって削除されたファイルは2度と修復できません。
方法
rm -rf turtle.py
-rf
を付けることで、ディレクトリも含めて(-r
)、強制的に(-f
)、削除できます。
mkdir コマンド
make directoryの略で、カレントディレクトリ直下にディレクトリを作るコマンドです。
方法
ls
コマンドでtest
の名前があることを確認しましょう!
mkdir -p
で連結させてディレクトリを作ることができます。
mvコマンド
moveの略で、カレントディレクトリ直下にあるファイルをそのパスの先に移動させるコマンドです。
方法
$ mv hello_button.py test/
$ cd test/
$ ls
hello_button.py
これもls
コマンドで確認しましょう!
cpコマンド
copyの略で、カレントディレクトリ直下にあるファイルをそのパスの先に複製するコマンドです。
方法
$ cp hello_button.py test/
$ cd test/
$ ls
hello_button.py
ディレクトリごとコピーしたい時は、cp -r
を使います。
演習問題1:
ターミナルを開いて、自分のLinuxにあるディレクトリをlsで覗いたり、mvで移動させたり、mkdirでディレクトリを作って見よう。
レベル3
ここからは、初心者を脱して、Linuxに慣れた人の使うコマンドになります。
catコマンド
ファイルの中身を表示するコマンドです。
方法
cat [ファイル名]
lessコマンド
Leaner CSS 略で、ファイルの中身を1つのターミナルに表示するコマンドです。ファイルの中身が長い場合はスクロールすることができます。
方法
less [ファイル名]
k
キーで上に、j
キーで下に行きます。q
キーで終了します。
findコマンド
<検索開始ディレクトリ>
を起点にして、<検索条件>
を満たすファイルのありかを探すコマンドです。
方法
日本語にすると以下です。
find <検索開始ディレクトリ> <検索条件> <アクション>
では、カレントディレクトリにあるfile-1.txtを探してパスを表示したいとなったら
find . -name file-1.txt -print
とします。-print
の引数は付けなくてもいいです。
レベル4
少しレベルアップして、ユーザ権限を理解しよう。これができるとどのファイルも編集できるようになります!
sudoについて
レベル1はいわゆる初心者が必ずマスターするべきコマンドでした。初心者は管理者権限を知らなくても以上のコマンドは打ち込めたのですが、少し慣れてくると管理者権限が必要になるコマンドが増えてきますので、一応の意味は知っておきましょう!
sudoとは、super user doの略で、スーパーユーザというのが管理者という意味です。なので管理者権限で実行するべきコマンドの前に必ずこれを書きます。
私は普段このコマンドをすどうと呼んでいますが、正式にはスドゥーと呼びます。
chmodコマンド
change modeの略で、そのファイルの権限を変更するコマンドです。これは管理者権限が必要なのでsudoを付けます
一般的にはシェルスクリプトなどに実行権限を付与することが多いので、+x
のオプションを付けます。
方法
$ sudo chmod +x entry_exec.sh
ls -l
コマンドを打ち込むと、
-rwxrwxr-x 1 ubuntu ubuntu 1378 12月 10 11:24 entry_exec.sh*
このように、左にある-rwxrwxr-x
のように、すべてのユーザにx
の文字(実行権限)が付いてることがわかります。
また、上記のユーザ権限の一覧に、w
の文字が無いと書き込み禁止ファイルになりますので、sudoを使って管理者権限でファイルを変更することになります。
シャットダウン、再起動
sudoを学んだら、シャットダウン、再起動もコマンドラインから指定できるので、紹介します。
シャットダウン
sudo shutdown now
再起動
sudo reboot now
となります。コマンドラインからできると電源ボタンにカーソル合わせなくて良くて楽です!
おわりに
よく使うコマンドを整理して紹介しました〜。解説してほしいコマンドとかあれば教えてください!
参考文献
[1] 新しいLinuxの教科書