Linuxの基礎コマンドまとめ

はじめに

今回はLinuxのコマンドについてまとめています。 前回の記事があまりに長かったので、今回はさくっとまとめたいと思います!

コマンド一覧

今回紹介するコマンド一覧です。

mindmap
    )Linuxコマンド(
        (ディレクトリ移動系)
            ls
            pwd
            cd
        (ファイル操作系)
            touch
            mkdir
            rmdir
            rm
            mv
            cp
        (ファイル閲覧系)
            cat
            less
            tail
            find
        (ファイル変化系)
            ln
            chmod
            chown
        (プロセス系)
            ps
            kill

ディレクトリ移動系

flowchart LR
    ディレクトリ移動系 -->ディレクトリを移動する
    ディレクトリ移動系 --> 現在のディレクトリのパスを表示する
    ディレクトリ移動系 --> ディレクトリの内容を表示する
    ディレクトリを移動する  --> cd
    現在のディレクトリのパスを表示する --> pwd
    ディレクトリの内容を表示する --> ls 

ls

lsコマンドは List Segmentの略でディレクトリ内のファイルやフォルダの一覧を表示するコマンドです。ディレクトリを指定しない場合は、現在のディレクトリの内容が表示されます。

書式

$ ls [オプション] [ディレクトリ]

使用例

$ ls -l

オプション 動作
-a 隠しファイルなどもすべて表示
-l 詳細情報を表示
-t 最終更新時間
-r 逆順にソートして表示

pwd

pwdコマンドは Print Working Directoryの略で現在のディレクトリのパスを表示するコマンドです。

書式

$ pwd [オプション]

使用例

$ pwd

cd

cdコマンドは Change Directoryの略でディレクトリを移動するコマンドです。

書式

$ cd [オプション] [ディレクトリ]

使用例

$ cd /home/na_ah/

ファイル操作系

flowchart LR
    ファイル操作系 --> ファイルを作成する --> touch
    ファイル操作系 --> ディレクトリを作成する--> mkdir
    ファイル操作系 --> ディレクトリを削除する  --> rmdir
    ファイル操作系 --> ファイルを削除する --> rm
    ファイル操作系 --> ファイルを移動する  --> mv
    ファイル操作系 --> ファイルをコピーする --> cp

touch

touchコマンドは空のファイルを作成するコマンドです。

書式

$ touch [ファイル名]

使用例

$ touch test.txt

mkdir

mkdirコマンドはMake Directoryの略でディレクトリを作成するコマンドです。

書式

$ mkdir [オプション] [ディレクトリ]

使用例

$ mkdir -p work/test

オプション 動作
-p 指定されたディレクトリの上位ディレクトリも作成する

rmdir

rmdirコマンドはRemove Directoryの略でディレクトリを削除するコマンドです。

rmdirコマンドは空のディレクトリのみ削除することが出来ます。ファイルの入っているディレクトリを削除するためには次のrmコマンドを使用します。

書式

$ rmdir [オプション] [ディレクトリ]

使用例

$ rmdir -p work/test

オプション 動作
-p 指定された階層までのディレクトリを一括で削除

rm

rmコマンドはRemoveの略でファイルを削除するコマンドです。

書式

$ rm [オプション] [ファイル]

使用例

$ rm test.txt

オプション 動作
-i 処理をする前に確認をする
-f 強制的に処理を行う
-r ディレクトリを対象にする

mv

mvコマンドはMoveの略でファイル(ディレクトリ)の移動や名前の変更を行うコマンドです。

書式

$ mv [オプション] [移動元][移動先]

使用例

$ mv test.txt work

オプション 動作
-i 隠しファイルなどもすべて表示
-f 強制的に処理を行う

cp

cpコマンドはCopyの略でファイル(ディレクトリ)のコピーを行うコマンドです。

書式

$ cp [オプション] [移動元][移動先]

使用例

$ cp test.txt work

オプション 動作
-i 処理をする前に確認する
-r ディレクトリをコピーする
-p 元ファイルの情報を保存する

ファイル閲覧系

flowchart LR
    ファイル閲覧系 --> ファイルの内容を一度に表示 --> cat
    ファイル閲覧系 --> ファイルをスクロール可能な状態で表示 --> less
    ファイル閲覧系 --> ファイルの末尾を表示 --> tail
    ファイル閲覧系 --> ファイルを探す --> find 

cat

catコマンドはConcatenateの略でファイルの内容を一度に表示するコマンドです。

書式

$ cat [オプション] [ファイル]

使用例

$ cat test.txt

オプション 動作
-n 行番を表示する

less

lessコマンドはファイルの内容をスクロール可能な状態で表示するコマンドです。

書式

$ less [ファイル]

使用例

$ less test.txt

tail

tailコマンドはファイルの内容の末尾を表示するコマンドです。

書式

$ tail [オプション] [ファイル]

使用例

$ tail test.txt

オプション 動作
-n 末尾から指定した行を表示
-c 末尾から指定したバイト分を表示

find

findコマンドはファイルを検索するコマンドです。

書式

$ find [検索ディレクトリ] [オプション] [検索文字]

使用例

$ find . -name test

オプション 動作
-name ファイル名を指定して検索
-type f ファイルのみを対象に検索
-type d ディレクトリのみを対象に検索

ファイル変化系

flowchart LR
   ファイル変化系 --> リンクを作成 --> ln
   ファイル変化系 --> ファイルのパーミッションを変更 --> chmod
   ファイル変化系 --> ファイルの所有者を変更 --> chown

必要な知識

シンボリックリンクとハードリンク

Linuxでは2種類のショートカットがあります。

1つはシンボリックリンクといい、リンク元になったファイルのアドレスを参照しているリンクです。シンボリックリンクはファイルの実体へのリンクを持たないため、リンク元になったファイルを削除してしまうと、リンクが無効になります。

もう1つはハードリンクといい、リンク元のファイルと同じく、ファイルの実体を参照しているリンクです。ハードリンクでは、リンク元になったファイルを削除しても、リンクは無効になりません。ファイルの実体を削除するためには、作成されたハードリンクを全て削除する必要があります。

flowchart LR
   シンボリックリンク --> リンク元のファイル --> ファイルの実体
   ハードリンク --> ファイルの実体

パーミッション

Linuxではファイルやディレクトリに対して、それぞれのユーザーごとに読み取りや書き込みを制限するためのパーミッションという設定があります。

次のコマンドで現在のパーミッションを確認できます。

$ ls -l

上のコマンドを実行するとファイルやディレクトリの先頭に次のような表示がされます。

drwxr-xr--

1文字目はファイルの種別を表しています。

記号 意味
- ファイル
d ディレクト
l シンボリックリンク

2文字目から10文字目までは、所有ユーザー、所有グループ、その他のパーミッションを表します。3文字ごとに所有ユーザー、所有グループ、その他で分かれており、r w xの有無でそれぞれのパーミッションの有無が表現されています。

記号 意味
r 読み取り
w 書き込み
x 実行

次の例を色分けして解説します。

drwxr-xr--

drwx(所有ユーザー)r-x(所有グループ)r--(その他)

ファイル種別(d:ディレクトリ)を除いた最初の3文字は所有ユーザーのパーミッションを表します。

所有ユーザー :rwx

記号 可否
r
w
x

次の3文字は所有グループのパーミッションを表します。

所有グループ :r-x

記号 可否
r
w ×
x

次の3文字はその他のパーミッションを表します。

その他 :r--

記号 可否
r
w ×
x ×

ln

lnコマンドはlinkの略でファイルやディレクトリのリンクを作成するコマンドです。

書式

$ ln [オプション] [対象] [リンク名]

使用例

$ ln test.txt test_link

オプション 動作
-s シンボリックリンクを作成

chmod

chmodコマンドはChange Modeの略でファイルやディレクトリのパーミッションを変更するコマンドです。

書式

$ chmod [オプション] [モード] [ファイル]

使用例

$ chmod u+x test.txt

$ chmod 755 test.txt

オプション 動作
-R ディレクトリを対象にする

相対指定と絶対指定

chmodコマンドでパーミッションを変更する際には相対指定と絶対指定の二つの方法があります。相対指定は指定した項目の現在のパーミッションに対して、追加や削除をする方法です。絶対指定は全項目の変更後のパーミッションを直接入力して指定します。

相対指定

相対指定では現在のパーミッションから変更したい対象と変更したい内容を指定します。

変更対象 動作
u 所有ユーザー
g 所有グループ
o その他
変更方法 動作
= 指定した権限に変更
+ 指定した権限を追加
- 指定した権限を削除

使用例

drwxr-xr--

$ chmod g+w test

drwxrwxr--

この例では所有グループは元々r-xで読み取りと実行のみ可能でしたが、g+wとすることでrwxに変更されたため、読み取り書き込み実行全て可能になりました。

絶対指定

絶対指定では変更後のパーミッションを数値で表して指定することができます。それぞれの項目に4, 2, 1の数値を割り当て、合計値でパーミッションを表現します。

変更方法(数字指定) 動作
4 読み取り
2 書き込み
1 実行

使用例

drwxr-xr--

$ chmod 754 test

drwxrwxr--

この例では、絶対指定754でパーミッションを指定しています。

754」それぞれの値が所有ユーザー、所有グループ、その他を表します。

所有ユーザー:7

数値 動作 可否
4 読み取り
2 書き込み
1 実行

所有ユーザーは「7」が指定されており、4 + 2 + 1 = 7のため読み取り、書き込み、実行すべて可能であることを表します。

所有グループ:5

数値 動作 可否
4 読み取り
2 書き込み ×
1 実行

所有グループは「5」が指定されており、4 + 1 = 5のため読み取りと実行が可能であることを表します。

その他:4

数値 動作 可否
4 読み取り
2 書き込み ×
1 実行 ×

所有ユーザーは「4」が指定されており、読み取りのみ可能であることを表します。

絶対指定ではこのように、変更後の数値で直接指定して変更することができます。

chown

chownコマンドはChange Ownerの略でファイルやディレクトリの所有者を変更するコマンドです。

書式

$ chown [オプション] [ユーザー[:グループ]] [ファイル]

使用例

ユーザー名とグループ名を同時に変更する場合

$ chown owner:group test.txt

ユーザー名のみ変更する場合

$ chown owner test.txt

グループ名のみ変更する場合

$ chown :group test.txt

オプション 動作
-R ディレクトリを対象にする

プロセス系

flowchart LR
   プロセス系 --> 実行中のプロセスを表示 --> ps
   プロセス系 --> プロセスを終了 --> kill

ps

psコマンドはProcess Statusの略で実行中のプロセスを表示するコマンドです。

書式

$ ps [オプション]

使用例

$ ps aux

オプション 動作
a 他ユーザのプロセスも表示する
u 各プロセスの実行ユーザーやCPU,メモリの情報も表示する
x デーモンなども表示する

kill

killコマンドはプロセスを終了させるコマンドです。

書式

$ kill [オプション] プロセスID

使用例

$ kill 12345

おわりに

今回はLinuxの基礎的なコマンドをまとめました。

章の頭のチャートはMermaid記法を用いて作成しました。また、色分けなども用いて表現してみました。

今回の内容が参考になれば幸いです。