Linuxとは
リーナス・トーバルズが開発したオープンソースのUNIX系OSです。
Linuxは本来カーネルを指していたが、Linuxカーネルを含むシステム全体の総称となっている。
Linuxといえば情報リテラシーが高いエンジニアだけが触るOSというイメージがあったが、
現在はWindowsでLinuxの実行環境を容易に導入できることもあり、身近なOSになってきた感があります。
ディストリビューション
Linuxカーネルに様々なソフトウェアやファイルを追加したもので、Linuxシステムを利用できる状態で提供されたソフトウェアたち。
流派としては「Red Hat系」「Slackware系」「Debian系」に分類されており、各流派の中には様々なディストリビューションが存在します。
Linux環境の準備(Windows編)
WSLの導入手順はMicrosoftが公開していますので、下記を参考にインストールしましょう。
WSL を使用して Windows に Linux をインストールする
ついでにWindows Terminalも導入しましょう。
ターミナル画面を1つのウィンドウで管理できて便利です。
基本コマンドについて
利用頻度が高そうなコマンドについて内容と書式をまとめました。
オプションは一部コマンドのみ記載としており、man
コマンドで適宜確認をお願いいたします。
man
オンラインマニュアルで使い方を確認する。
コマンドの意味やオプションを知りたい場合は、まずはmanで確認する。
man コマンド名
cd
ディレクトリを変更する。
ディレクトリ名を指定しない場合はホームディレクトリに変更されます。
cd [ディレクトリ名]
pwd
現在のディレクトリを表示する。
pwd
ls
ファイルやディレクトリ情報の一覧を取得する。
ディレクトリを指定することで、ディレクトリ配下の情報一覧を取得する。
ls [オプション] [ファイル]
mkdir
ディレクトリを作成する。
mkdir ディレクトリ名
rmdir
空ディレクトリを削除する。
ディレクトリにファイルがあるとエラーが表示され、削除は行われません。
rmdir ディレクトリ名
cat
ファイルの内容を表示する。
cat ファイル名
less
ファイルの内容を表示する。
cat
とは違う点として、ページングしながら確認できる。
less ファイル名
head
ファイルの行頭を表示する。
デフォルト表示数は10行だが、オプションで表示数の変更可。
head [オプション] ファイル名
tail
ファイルの行末を表示する。
デフォルト表示数は10行だが、オプションで表示数の変更可。
tail [オプション] ファイル名
touch
ファイルのタイムスタンプ(更新日時)を変更する。
ファイルが存在しない場合はファイルを新規作成する。
touch [オプション] ファイル名
rm
ファイルを削除する。
勢いで削除して事故を起こさないためにも、オプションに-i
をつけて確認すると良さそう。
rm [オプション] ファイル名
オプション | 内容 |
---|---|
-i | ファイル削除前に確認する |
-r | ディレクトリとそれらの内容を再帰的に削除 |
-e | ファイル削除後にメッセージ表示 |
-f | 存在しないファイルを無視 |
mv
ファイル移動。ファイル名の変更も行える。
mv [オプション] 移動元ファイル 移動先ファイル
移動先の同名ファイル上書き等の事故防止のため、積極的にオプションを使った方がよさそうです。
オプション | 内容 |
---|---|
-b | 移動先に同名ファイルがあれば、バックアップ取得後に上書き |
-i | 移動先に同名ファイルがあれば、上書きしていいか確認する |
-n | 移動先に同名ファイルがあれば、上書きしない |
cp
ファイルを複製し、複製したファイルのファイル名を指定できる。
cp [オプション] コピー元 コピー先
ln
ハードリンクまたはシンボリックリンクを作る。
よく使うファイルをホームディレクトリにおいてあるように扱える。
ハードリンク
- ファイルの実体を直接示して共有する
- ハードリンクを削除しても元ファイルは削除されない
- 別ファイルシステムには作成できない
シンボリックリンク
- 元ファイルが保管されたパスを示すファイルを作成
- シンボリックリンクを消しても元ファイルに影響なし
- Windowsのショートカットのようなもの
#ハードリンク
ln 元ファイル名 リンク名
#シンボリックリンク
ln -s 元ファイル名 リンク名
find
ファイルがどこのディレクトリに存在するか検索する。
find パス -name ファイル名
chmod
ファイルのアクセス権を変更する。
アクセス権とは以下の3つがあります。
- 読み込み権
- 書き込み権
- 実行権
付与する権限のパターンについては以下の通りです。
数値 | 記号 | 読取 | 書込 | 実行 |
---|---|---|---|---|
7 | rwx | ○ | ○ | ○ |
6 | rw- | ○ | ○ | |
5 | r-x | ○ | ○ | |
4 | r-- | ○ | ||
3 | -wx | ○ | ○ | |
2 | -w- | ○ | ||
1 | --x | ○ | ||
0 | --- |
chmod モード ディレクトリ
chmod モード ファイル
chmod 8進数表記のモード ディレクトリ
chmod 8進数表記のモード ファイル
chown/chgrp
ファイルの所有者(ユーザ・グループ)を変更する。
#所有者の変更
chown ユーザ ディレクトリ
chown ユーザ ファイル
#所有グループの変更
chgrp グループ ディレクトリ
chgrp グループ ファイル
ps
OS内部で実行されているプロセス一覧を表示します。
プロセスID、CPU使用時間、コマンド名、端末番号などを確認できる。
ps [オプション]
ps u
でプロセス一覧を表示した例です。
CPUやメモリの使用に関する項目があることがわかります。
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
xxx 348 0.0 0.0 6828 5808 pts/0 Ss 12:24 0:00 -bash
xxx 412 0.0 0.0 6120 4912 pts/1 S+ 12:24 0:00 -bash
xxx 2178 0.0 0.0 7480 3196 pts/0 R+ 14:44 0:00 ps u
kill
指定したプロセスIDのプロセスを終了させる。
kill [オプション] プロセスID
killコマンドのオプションで使用するシグナルは以下です。
シグナルを誤ると意図しない動作が起きるのでご注意ください。
番号 | シグナル名 | 動作 |
---|---|---|
1 | SIGHUP | 再起動 |
6 | SIGABRT | 中断 |
9 | SIGKILL | 強制終了 |
15 | SIGTERM | 終了 |
17 | SIGSTOP | 停止 |
18 | SIGCONT | 再開 |
参考
- Linux標準教科書
- 新しいLinuxの教科書