LPIC Level1(101) 試験対策勉強メモ
システムアーキテクチャ(主題101)
systemctlコマンド
systemctl サブコマンド
サブコマンド
サブコマンド | 説明 |
---|---|
disable | サービスの自動起動を無効にする |
enable | サービスの自動起動を有効にする |
get-defalut | 次回起動時のターゲットを表示する |
halt | システムを停止しhalt状態にする |
is-active | サービスが稼働しているか表示する |
list-unlit-files | 全てのUnlit定義ファイルを一覧表示する |
list-units | 現在のユニット一覧 |
reboot | システムを再起動する |
reroad | サービスの設定ファイルを再読み込みする |
restart | サービスを再起動する |
set-defalut | 次回起動時のターゲットを設定する |
start | サービスを起動する |
status | サービスの状態を表示する |
stop | サービスを停止する |
poweroff | システムを停止し電源を切断する |
isolate | 実行モードやターゲットの切り替えをする |
アクティブになっているマウントポイントを確認
systemctl list-units --type=mount
マウントポイントはUnitの一種なので、list-unitsで調べる。
shutdownコマンド
shutdown [option] 時間 [メッセージ]
シャットダウンや再起動などをするコマンド
オプション
オプション | 説明 |
---|---|
-h | シャットダウンする |
-r | シャットダウン後に再起動する |
-f | 次回起動時にfsckをスキップする(-hか-rと併用する) |
-F | 次回起動時にfsckを必ず実行する(-hか-rと併用する) |
-k | シャットダウンせずにメッセージを通知する |
-c | 実行中のシャットダウンをキャンセルする |
ランレベル/ブートターゲットの変更
現在のランレベルを変更するコマンド
init
telinit
ランレベル
Red Hat Enterprise Linux、CentOS、Fedora
ランレベル | 説明 |
---|---|
0 | システム停止 |
1 /s/S | シングルユーザーモード |
2 | マルチユーザーモード(テキストログイン、NFSなし) |
3 | マルチユーザーモード |
4 | 未使用 |
5 | マルチユーザーモード(GUIログイン) |
6 | システム再起動 |
Ubuntu、Debian、GNU/Linux
ランレベル | 説明 |
---|---|
0 | システム停止 |
1 /s/S | シングルユーザーモード |
2 | マルチユーザーモード |
3 | マルチユーザーモード |
4 | マルチユーザーモード |
5 | マルチユーザーモード |
6 | システム再起動 |
シングルユーザーモードから抜ける
systemctl rescue
コマンドでシングルユーザーモードになって作業を終えた後に、元に戻す方法。
- Ctrl-Dを入力する
-
systemctl default
コマンドを実行する -
systemctl reboot
コマンドを実行する
システム起動時に最初に実行されるUnit
/etc/systemd/system/default.target
「/etc/inittab」を編集して、即座に変更を反映させるコマンド
init Q
-
telinit q
を使用する。
ログイン中の全ユーザーにメッセージを送信する
wallコマンドを使用する。
「/etc/inittab」を設定ファイルとして使用しないinitプログラム
- systemd
- Upstart
systemdの特徴
- 扱う処理をUnitという単位で管理する
- サービスの並列起動によって高速なシステム起動や停止が行える
- cgroupsでプロセスのリソースを管理する
systemdの管理単位であるユニット
拡張子 | 機能 |
---|---|
device | 各種デバイスを管理するユニット |
mount | ファイルシステムのマウントを管理する |
service | サービスを制御するユニット |
swap | スワップ領域を管理するユニット |
target | 複数のサービスを一つのグループにするためのユニット |
起動時のターゲットを指定するカーネルパラメータ
systemd.unit
systemd.unit= rescue
とすることで起動時のターゲットを指定する。.target
は省力可能。
systemdの動作するシステムにおいて、各サービスが出力するログを扱うデーモンプロセス
systemd-journald
ログを確認する場合は、journalctl
を使用する。
Upstartの特徴
- サービスやタスクを「ジョブ」という単位で扱う
- サービスの並列稼働が可能
- イベント駆動型
Linuxがハードディスクから正常に起動できなくなった場合に試すこと
- レスキューモードでの起動を試みる
- ハードディスク内のログを確認する
lspciコマンドで取得できる情報
lspci [オプション]
-v 詳細表示(-vvでさらに詳細も可能)
- PCI識別番号
- PCIデバイスの種類
- デバイス名
- ベンダー名(ベンダーID)
- I/Oポートアドレス(詳細情報のみ)
- バスの速度(詳細情報のみ)
- IRQ番号(詳細情報のみ)
procディレクトリ
ファイル名 | 説明 |
---|---|
/proc/cpuinfo | CPU情報 |
/proc/interrupts | IRQ情報 |
/proc/ioports | I/Oアドレス情報 |
/proc/meminfo | メモリ情報 |
/proc/bus/usb/* | USBデバイス情報 |
/proc/bus/pci/devices | PCIデバイス情報 |
/proc/dma | DMAチャネルに関する情報 |
/proc/scsi/scsi | SCSIデバイスに関する情報 |
/proc/modules | ロードされているカーネルモジュールの情報 |
usrディレクトリ
ファイル名 | 説明 |
---|---|
/usr/bin | システム起動には必須ではない一般ユーザー用のコマンド |
/usr/sbin | システム起動には必須ではないシステム管理用のコマンド |
/usr/lib | /usr/bin、/usr/sbinが必要とする共有ライブラリ |
/usr/local/bin | ホスト固有で使用するプラグラムを格納する |
/usr/local/etc | ホスト固有で使用するプログラムの設定ファイルを格納する |
MBR(Master Boot Record)
特徴
- ブートプロセスで使用される情報が含まれる
- パーティションテーブルの情報が含まれる
- GRUBの読み込みと実行を担当する
パーティショニング
- 最大4つのプライマリパーティション(拡張パーティション)
- プライマリパーティション(拡張パーティション)には1から4までの番号が振られる
- 論理パーティションには5からの番号が振られる
- 論理パーティションは5から連番でないといけない(プライマリパーティションと拡張パーティションは番号が抜けていてもいい)
カーネルのログが記録されるなど、Linuxでメインで使用されるログファイル
/var/log/messages
USBデバイスクラス
デバイスクラス | デバイス |
---|---|
HID(Human Interface Device) | キーボード、マウス、ジョイスティック等 |
Mass Storage Class | ハードディスク、USBメモリー等 |
ACM Communication Device Class | モデム、TA等 |
Audio Class | スピーカー、マイク等 |
mkswapコマンド
swap領域を作成する。
マザーボードに接続されたハードウェアデバイスのテストを行うために、BIOSが行う処理の名称
POST(Power-On Self-Test)
Power On Self Testとは、コンピュータやプリンター、ルーターなどの電源を入れたときブートの前に行われる処理を指す。
ハードウェアの電源キーを押したりしたときに発生するイベントを処理するデーモン
acpidデーモン
acpidはACPIイベントをユーザー空間のプログラムにディスパッチするデーモン。
※ACPI (Advanced Configuration and Power Interface)
PC/AT互換機等の電源制御と構成要素に関する公開された統一規格
UEFIの特徴
- GUIでの操作が可能となる
- 最初にアクセスされる領域であるESPは「/boot/efi」にマウントされる
- GPTというパーティション形式に対応しており、3TB以上のHDDからの起動をサポートする
BIOS(Basic I/O System)を置き換えるために考案したEFIの統一仕様
Linuxのインストールとパッケージ管理(主題102)
パッケージ管理
Redhat系
- rpm
- YUM
- dnf
Debian系
- dpkg
- apt
openSUSE
openSUSE (SUSE Linux Enterprise でも同様) はパッケージマネージャに RPM を採用しています。
ただしパッケージマネジャーのフロントエンドはzypperを使用している。
rpmコマンド
オプション
オプション | 併用オプション | 説明 |
---|---|---|
-i(--install) パッケージファイル名 | パッケージをインストールする | |
-U(--upgrade) パッケージファイル名 | パッケージをアップグレードする | |
-F(--freshen) パッケージファイル名 | 以前のバージョンがインストールされている時のみパッケージをアップグレードする | |
-v | 詳細な情報を表示する | |
-h(--hash) | インストールの経過を表示する | |
--nodeps | 依存関係を無視してインストールする | |
--force | 既存のファイルを新しいものに置き換える | |
--test | 実際にはインストールせずテストを実施する | |
-e(--erase) パッケージ | パッケージをアンインストールする | |
--nodeps | 依存関係を無視してアンインストールする | |
-q(--query) | 問い合わせ(パッケージ情報の表示と検索) | |
-a(--all) | インストール済みの全てのパッケージを表示する | |
-f(--file) ファイル名 | ファイル名を指定する | |
-p パッケージファイル名 | 対象としてパッケージファイルを指定する | |
-c(--configfiles) | 設定ファイルのみを表示する(「-l」を指定したものと見なす) | |
-d(--docfiles) | 文書ファイルのみを表示する(「-l」を指定したものと見なす) | |
-i(--info) | 指定したパッケージの情報を表示する | |
-l(--list) | パッケージに含まれるファイルを表示する | |
-R(--requires) | 指定したパッケージが依存しているファイル等を表示する | |
--changelog | 変更履歴を表示する | |
-V(--verify) | パッケージを検査する | |
--nomd5 | パッケージのMD5を検査しない | |
--nodeps | 依存関係は検査しない | |
--nosize | パッケージのサイズを検査しない |
yumコマンド
yum [-y] サブコマンド
サブコマンド
サブコマンド | 説明 |
---|---|
install パッケージ名 | パッケージのインストール |
update パッケージ名 | パッケージのアップデート |
remove パッケージ名 | パッケージのアンインストール |
erase パッケージ名 | パッケージのアンインストール(removeと同じ) |
info パッケージ名 | パッケージの詳細情報を表示 |
list パッケージ名 | パッケージの一覧表示 |
search キーワード | 指定したキーワードでパッケージの検索 |
check-update パッケージ名 | アップデート可能なパッケージの表示 |
grouplist | パッケージグループの一覧表示 |
groupinstall グループ | パッケージグループのインストール |
オプション
オプション | 説明 |
---|---|
--downloadonly | パッケージをダウンロードするだけでインストールはしない |
関連ディレクトリ(ファイル)
ディレクトリ(ファイル) | 説明 |
---|---|
/etc/yum.repos.d/ |
リポジトリに関するデータが格納されている |
/etc/yum.conf |
設定ファイル |
dnfコマンド
YUMコマンドの後継としてdnfコマンドがある。
Linuxディストリビューションの1つであるFedoraでは、Fedora 22からデフォルトのパッケージ管理ツールになっています。
dnfコマンドでは、yumコマンドとほぼ同じオプションが使用できます。また、リポジトリ(パッケージの取得元)もyumと同様に「/etc/yum.repos.d」ディレクトリを使用します。
dpkgコマンド
dpkg [オプション] アクション
オプション
オプション | 説明 |
---|---|
-E | 同バージョンが既にインストールされていればインストールを行わない |
-G | 新バージョンが既にインストールされていればインストールを行わない |
-R | ディレクトリを再帰的に表示 |
アクション
アクション | 説明 |
---|---|
-i (--install) パッケージファイル名 | パッケージのインストール |
-r(--remove) パッケージ名 | 設定ファイルを残してパッケージをアンイストール |
-P(--purge) パッケージ名 | 設定ファイルも含め完全にパッケージをアンインストール |
-l(--list) [検索パターン] | インストール済みパッケージを検索して表示 |
-s(--status) パッケージ名 | インストール済みパッケージの詳細情報の表示 |
-S(--search) 検索パターン | 指定ファイルがどのパッケージからインストールされたかを表示 |
-C(--audit) | インストールが完了していない(不完全)パッケージの表示 |
設定ファイル
/etc/dpkg/dpkg.cfg
apt-getコマンド
apt-get [オプション] サブコマンド
オプション
オプション | 説明 |
---|---|
-d | ファイルをダウンロードする(インストールはしない) |
-s | システムを変更せずに動作をエミュレートする |
サブコマンド
サブコマンド | 説明 |
---|---|
install パッケージ名 | パッケージのインストールまたはアップグレード |
remove パッケージ名 | パッケージのアンインストール |
purge パッケージ名 | 設定ファイルも含めてアンインストール |
upgrade | インストール済みの全パッケージのアップグレード |
dist-upgrade | ディストリビューションを最新版にアップグレード |
update | パッケージのデータベースを最新版に更新 |
clean | 過去に取得したパッケージファイルを削除 |
apt-cacheコマンド
apt-cache [オプション] サブコマンド
サブコマンド
サブコマンド | 説明 |
---|---|
search キーワード | キーワードを含むパッケージを検索 |
show パッケージ名 | 指定したパッケージ情報の表示 |
showpkg パッケージ名 | 指定したパッケージの被依存関係を含めた情報の表示 |
depends パッケージ名 | 指定したパッケージが依存しているパッケージの一覧表示 |
zypperコマンド
zypper [オプション] サブコマンド
オプション
オプション | 説明 |
---|---|
install | in パッケージ名 | パッケージのインストール |
update | up [パッケージ名] | パッケージのアップデート |
remove | rm パッケージ名 | パッケージのアンインストール |
info パッケージ名 | パッケージの詳細情報の表示 |
search | se キーワード | 指定したキーワードでパッケージの検索 |
list-updates | lu [オプション] | アップデート可能なパッケージの表示 |
repos | lr | リポジトリの一覧表示 |
refresh | リポジトリの更新 |
GRUB
Linuxの代表的なブートローダがGRUBになる。
GRUB LegacyとGRUB2がある。
grub-install
コマンドでインストールが可能。
ブートオプションの指定
パラメータ | 説明 |
---|---|
root=デバイス | ルートパーティションとしてマウントするデバイス |
nousb | USBデバイスを使用しない |
single | シングルユーザーモードで起動する |
1〜5 | 指定したランレベルで起動する |
init=/bin/sh | 起動時に実行させるプログラムを指定します。システムが破損され、全く起動できない非常事態のときにinit=/bin/shと指定すると、シェル/bin/shを起動させることができます。 |
GRUB Legacy
設定ファイルは/boot/grub/menu.lst
もしくはディストリビューションによっては/boot/grub/grub.conf
GRUB2
設定ファイルは/boot/grub/grub.conf
1.9以降のバージョンをGRUB2と呼ぶ。
パラメータ
パラメータ | 説明 |
---|---|
GRUB_DEFAULT | どのシステムをデフォルトで起動するか |
GRUB_TIMEOUT | カーネルを起動する前のタイムアウト |
grub-install
指定されたデバイスにGRUBファイルをインストールする。
デフォルトでは、/bootディレクトリにインストールされる。
grub-mkconfig
GRUB2の設定ファイルの内容を変更したい。変更内容を反映させるコマンド
GRUB2ではGRUB Legacyと違って、直接ファイルを編集したりはしない。
その代わりにgrub-mkconfig
を使用する。
/etc/default/grub
で設定を行い、grub-mkconfig
を実行すると設定に基づいて/boot/grub/grub.cfg
が生成される。
Ubuntuの場合update-grub
コマンドを使うと/boot/grub/grub.cfg
が更新される。
GRUBのルートパーティションの数え方
GRUB Legacy(GRUB1)
0始まりで数える。
例 1番目のディスクの4番目のパーティションの場合
root (hd0,3)
GRUB2
ディスク番号は0始まりで数える。
パーティション番号は1始まりで数える。
例 1番目のディスクの4番目のパーティションの場合
root (hd0,4)
起動時に使用するカーネルファイルを指定するパラメータ
GRUB Legacy
kernel
パラメータ
GRUB2
linux
パラメータ
ESP(EFIシステムパーティション)の特徴
- UEFIを使ったシステムの領域である
- ブートローダや起動に必要なドライバなどが置かれている
-
/boot/efi/
ディレクトリにマウントされている
共有ライブラリ
一般的な共有ライブラリの格納場所
- /lib
- /lib64
- /usr/lib
- /usr/lib64
プログラムの実行時に、共有ライブラリの場所を検索するために使用されるファイル
/etc/ld.so.cache
が使用される。
/etc/ld.so.cache
を更新する
ldconfig
コマンドを使用して、/etc/ld.so.conf
ファイルの設定を元に/etc/ld.so.cache
を更新できる。
Red Hat Enterprise Linux 8でのスワップ領域の推奨値
RAM | 推奨値 |
---|---|
2GB未満 | RAMの二倍 |
2GB〜8GB | RAMと同量 |
8GB〜64GB | 4GB〜RAMの半分 |
64GB以上 | 負荷によるが少なくとも4GB |
ロードしたくないカーネルモジュールを指定する
modprobeの設定ファイルにblacklist
で記述する。
blacklist pcspkr
パーティション
ID82(0x82)
スワップ領域に割り当てられる
ID83(0x83)
Linux NativeのパーティションはLinuxファイルに使用される
主なディレクトリ
ディレクトリ | 分割可否 | 用途 |
---|---|---|
/home | ○ | 一般ユーザーのホームディレクトリ |
/usr | ○ | 起動には不要なプログラムなどを格納 |
/var | ○ | ログファイルやメールなど可変ファイルを格納 |
/opt | ○ | 追加でインストールしたパッケージを格納 |
/boot | △ | Linuxカーネルなど起動には必須のファイルを格納 |
/tmp | △ | 一時ファイルを格納 |
/bin | × | 一般ユーザー用のコマンドを格納 |
/sbin | × | 管理者用のコマンドを格納 |
/etc | × | システムの設定ファイルを格納 |
/lib | × | 共有ライブラリを格納 |
/dev | × | デバイスファイルを格納 |
GNUとUnixコマンド(主題103)
cdコマンド
ログインユーザーのホームディレクトリに移動
cd
cd ~
引数なしでcdコマンドを打っても、ログインユーザーのホームディレクトリに移動する。
lsコマンド
ls [オプション] [ディレクトリ名またはファイル名]
オプション
オプション | 説明 |
---|---|
-a | 隠しファイルも表示 |
-A | -aと同じ。ただしカレントディレクトリ(.)と親ディレクトリ(..)は表示しない |
-d | 指定したディレクトリの情報を表示 |
-F | 名前の後ろにファイルタイプを表示 |
-i | inode番号を付けて表示 |
-l | 詳細情報の表示 |
-R | サブディレクトリの内容も再帰的に表示 |
rmコマンド
rm [オプション] ファイルまたはディレクトリ名
オプション
オプション | 説明 |
---|---|
-f | 確認をせずに削除 |
-i | 削除前に確認する |
-v | 経過を表示する |
-r(-R) | 再帰的に削除する |
rmdirコマンド
rmdir [-p] ディレクトリ名
親の階層のディレクトリも合わせて削除する
-pオプションを使用する。
psコマンド
ps [オプション]
オプション
オプション | 説明 |
---|---|
a | 他のユーザーのプロセスも表示 |
f | 親子関係をツリー上で表示 |
u | プロセス実行ユーザー名も表示 |
x | 制御端末の無いデーモン等のプロセスも表示 |
-e | 全てのプロセスを表示 |
-f | 完全なフォーマットでプロセスを表示 |
-p(p) PID | 指定したPIDの詳細情報を表示 |
-l(l) | 親プロセスのPIDや実行優先度を決定 |
grepコマンド
grep [オプション] 検索パターン [ファイル名]
オプション
オプション | 説明 |
---|---|
-c | マッチした行数のみ表示 |
-f | 検索パターンをファイルから読み込む |
-i | 大文字と小文字を区別しない |
-n | 先頭に行番号をつけて、マッチした行を表示 |
-v | マッチしなかった行を表示 |
-E | 拡張正規表現を使用(egrepと同様) |
-F | 検索パターンを正規表現でなく、固定文字列とする(fgrepと同様) |
catから標準入力を受け取る
cat test.txt | grep PIN
catの結果を受け取ることでファイル内容の検索が可能。
historyコマンド
特定の履歴を再実行する
!番号
これで特定の履歴のコマンドを再実行できる。
最後に入力したコマンドの再実行
!!
これで最後に入力したコマンドの再実行ができる。
tarコマンド
tar [オプション] [ファイルまたはディレクトリ名]
複数のファイルをまとめて1つのファイル(アーカイブ)したり、展開するコマンド。
個々のファイルよりアーカイブファイル名の指定を先にする。
オプション
オプション | 説明 |
---|---|
-c | 新しいアーカイブを作成 |
-x | アーカイブからファイルを展開 |
-t | アーカイブの内容を一覧表示 |
-f | アーカイブファイル名を指定 |
-v | 処理の詳細情報の表示 |
-z | gzipを通して圧縮/展開 |
-j | bzip2を通して圧縮/展開 |
-J | xzを通して圧縮/展開 |
標準入力から受け取る
末尾に-
を付ける。
gzip -cd test.tar.gz | tar ftv -
fgコマンド
バックグラウンドで動作中または一時停止中のジョブを、フォアグラウンド動作に切り替える。
statコマンド
ファイルやファイルシステムのinode番号やタイムスタンプ(アクセス時刻や修正時刻)などの詳細情報を表示
wcコマンド
wc [オプション] [ファイル名]
ファイル内の文字数や行数を調べるコマンド。
オプション
オプション | 説明 |
---|---|
-l | 行数を表示 |
-w | 単語数を表示 |
-c | 文字数を表示 |
trコマンド
tr [オプション] [文字列1 [文字列2]]
文字を置き換える(削除する)ためのコマンド
オプション
オプション | 説明 |
---|---|
-d | 文字列1で指定した文字を削除 |
-s | 文字列1で指定した文字が連続した場合は1文字に置き換える |
文字クラス
文字クラス | 説明 |
---|---|
[:alnum:] | 英数字 |
[: alpha:] | 英字 |
[: lower:] | 英小文字 |
[:upper:] | 英大文字 |
[:digit:] | 数字 |
nlコマンド
nl [オプション] [ファイル名]
指定したファイルを行番号をつけて出力する
補足
cat
コマンドでも可能。
◾︎例
cat -b file
-b
オプションを使う。
sedコマンド
sed [オプション] 編集コマンド [ファイル名]
sed [オプション] -e 編集コマンド1 [-e 編集コマンド2 ...] [ファイル名]
sed [オプション] -f スクリプト [ファイル名]
ファイルや標準入力の内容を編集して表示する。
オプション
オプション | 説明 |
---|---|
-e | 編集コマンドを指定 |
-f | 編集コマンド記述したファイルを指定 |
編集コマンド
編集コマンド | 説明 |
---|---|
s/文字列1/文字列2/ | 各行の最初に現れる文字列1を文字列2に置換 |
s/文字列1/文字列2/g | 全ての文字列1を文字列2に置換 |
/文字列/d | 文字列が含まれる行を削除 |
行番号1,行番号2d | 行番号1から行番号2までの行を削除 |
y/文字1文字2/文字3文字4/ | 文字1を文字3に、文字2を文字4に置換する |
splitコマンド
split [-行数] [入力ファイル名 [出力ファイル名]]
split [-l 行数] [入力ファイル名 [出力ファイル名]]
ファイルを分割するコマンド
「出力ファイル名」で指定したファイル名の末尾に「aa」、「ab」、「ac」などの文字列が順番に付く。
cutコマンド
cut [オプション] [ファイル名]
テキストファイルから指定したフィールドを取り出すコマンド
オプション
オプション | 説明 |
---|---|
-c 文字数 | 抽出する文字位置を指定 |
-d 区切り文字 | 区切り文字を指定 |
-f フィールド | 抽出するフィールドを指定 |
ddコマンド
dd [オプション]
ddコマンドはデータをコピーするコマンドです。
cpコマンドと異なり、ブロックサイズ(bsオプション)とそのブロックをコピーする回数(countオプション)を指定してファイルを作成することができます。
オプション
オプション | 説明 |
---|---|
if=入力ファイル | 入力側ファイルを指定 |
of=出力ファイル | 出力側ファイルを指定 |
bs=バイト数 | 入出力のブロックサイズ |
count=回数 | 入力ファイルから出力ファイルへブロックをコピーする回数を指定 |
cpioコマンド
cpio [オプション]
cpioコマンドは標準入力からのみ入力を受け付けます。つまり、ファイルを展開したいアーカイブをコマンドの引数として指定することができません。
そのため、リダイレクトの「<」を使用してアーカイブを指定します。
オプション
オプション | 説明 |
---|---|
-o | 新しいアーカイブを作成 |
-i | アーカイブからファイルを展開 |
touchコマンド
touch [オプション] ファイル名 [ファイル名・・・]
空ファイルの作成やファイルのタイムスタンプを変更する。
オプション
オプション | 説明 |
---|---|
-t 時刻 | アクセス時刻や修正時刻を指定した時刻に変更 |
-a | アクセス時刻を変更 |
-m | 修正時刻を変更 |
-t
オプションを使わない場合は現在時刻で修正される。
manコマンド
man [オプション] [セクション番号] キーワード
コマンドや設定ファイルのためのオンラインマニュアルページ(manページ)を表示する。
オプション
オプション | 説明 |
---|---|
-k | キーワードに一部一致するコマンドやファイルのmanページを表示 |
-f | キーワードに完全一致するコマンドやファイルのmanページを表示 |
セクション番号
セクション番号 | 説明 |
---|---|
1 | ユーザーコマンド |
2 | システムコール |
3 | ライブラリ呼び出し |
4 | 特殊ファイル |
5 | ファイルの書式と慣習 |
6 | ゲーム |
7 | その他 |
8 | システム管理コマンド |
9 | カーネルルーチン |
fileコマンド
file [オプション] ファイル1 ファイル2 ファイル3
ファイル形式を調べるためのコマンド
オプション
オプション | 説明 |
---|---|
-f ファイル名 | 検査するファイル名をリストファイルから読み込む |
-L | シンボリックリンクの参照先を調べる |
-z | 圧縮ファイルの中も検査する |
-b | 出力行の最初にファイル名を表示しない |
-N | 出力を整列するためのファイル名への空白の追加を行わない |
odコマンド
od [オプション] [ファイル名]
バイナリファイルの内容を8進数や16進数で表示する。デフォルトは8進数。
オプション
オプション | 説明 |
---|---|
-t 出力タイプ | 出力するフォーマットを指定する |
出力タイプ
出力タイプ | 説明 |
---|---|
c | ASCII文字 |
o | 8進数(デフォルト) |
x | 16進数 |
killコマンド
kill [-シグナル名または-シグナル番号] プロセスID
kill -s [シグナル名またはシグナル番号] プロセスID
killallコマンド
killall [-シグナル名または-シグナル番号] プロセス名(コマンド名)
killall -s [シグナル名またはシグナル番号] プロセス名(コマンド名)
pkillコマンド
pkill [-シグナル名または-シグナル番号] プロセス名(コマンド名)
pkill --signal [シグナル名またはシグナル番号] プロセス名(コマンド名)
シグナル種類
シグナル名 | シグナル番号 | 動作 |
---|---|---|
HUP(SIGHUP) | 1 | ハングアップ(端末切断による終了) |
INT(SIGINT) | 2 | 割り込みによる終了(Ctrl+Cと同様) |
KILL(SIGKILL) | 9 | クリーンアップせずに終了(強制終了) |
TERM(SIGTERM) | 15 | クリーンアップして終了(デフォルト) |
CONT(SIGCONT) | 18(環境依存) | 一時停止のプロセスを再開 |
STOP(SIGSTOP) | 19(環境依存) | 一時停止 |
TSTP(SIGTSTP) | 20(環境依存) | 端末から入力された一時停止(Ctrl+Zと同様) |
制御演算子の違い
制御演算子 | 内容 |
---|---|
&& | command1が成功した場合のみcommand2を実行する |
|| | command1が成功した場合のみcommand2を実行する |
; | 連結したコマンドを続けて順番に実行する。成功結果には左右されない |
ストリーム、パイプ、リダイレクト
リダイレクト演算子
演算子 | 説明 |
---|---|
コマンド > ファイル | コマンド結果をファイルへ書き込む |
コマンド >> ファイル | コマンド結果をファイルへ追記 |
コマンド 2> ファイル | エラー出力をファイルへ書き込む |
コマンド 2>> ファイル | エラー出力をファイルへ追記 |
コマンド > ファイル 2>&1 | ファイルに標準出力と標準エラー出力を書き込む |
コマンド >> ファイル 2>&1 | ファイルに標準出力と標準エラー出力を追記 |
コマンド &> ファイル | 標準出力と標準エラー出力を同じファイルに書き込む |
コマンド < ファイル | ファイルの中身をコマンドの標準入力へ |
コマンド << 終了文字 | 終了文字が現れるまで標準入力へ送る |
コマンド <<< 文字列 | 指定した文字列を標準入力に送る |
ファイルが存在しない場合はファイルを新規作成、既に存在する場合はファイルに追記する
リダイレクト演算子の>>
もしくは1>>
を使用する。
Windowsのメモ帳で作成したテキストファイルをLinuxで扱う方法
tr -d '^M' < file1.txt > file2.txt
sed s/^M//g file1.txt > file2.txt
tr
コマンドかsed
コマンドを利用して、制御コード「^M」を取り除く。
改行コードと代表的なOSの組み合わせは以下のとおりです。
・CRLF(\r\n):Windows
・LF(\n):Unix OS(Linux, Mac OS Xなど)
・CR(\r):古いMacOS(バージョン9まで)
一時停止しているプロセスを再開するシグナル
CONT
whatisデータベースを作成するコマンド
makewhatis
nice値
nice値は「-20」から「19」まであり、nice値が高いプロセスほど優先度が低くなる。
nice値を省略した場合は「10」が設定される。
niceコマンド
nice [-n nice値] コマンド
nice [-nice値] コマンド
reniceコマンド
renice [nice値] プロセスID
renice [nice値] [オプション]
プロセスのデフォルトのnice値
プロセスのデフォルトのnice値は「0」で設定される。
コマンドで設定した時のデフォルト値とは違いので注意。
プログラムをバックグラウンドで動作させる
コマンド末尾に&
を付ける。
端末上で複数の仮想端末を開くことのできるプログラム
tmux
screen
バックグラウンドで起動中と一時停止中のジョブを表示するコマンド
jobs
全ての環境変数を確認する
以下のコマンドを使用する。
コマンド | 説明 |
---|---|
set | 全てのシェル変数と環境変数を表示 |
env | 全ての環境変数を表示 |
printenv | 一部、または全ての環境変数を表示 |
デバイス、Linuxファイルシステム、FHS (主題104)
chmodコマンド
chmod [-R] パーミッション ファイルまたはディレクトリ
ファイルやディレクトリのパーミッションを変更するコマンド。
特殊なパーミッション
SUID
実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、プログラムの所有ユーザの権限で実行されます。
- 通常のパーミッションに4000を加える
- 所有ユーザーに「s」という権限を追加する「u+s」
SGID
実行ファイルに設定する事で、そのプログラムをどのユーザが実行しても、プログラムの所有グループの権限で実行されます。
- 通常のパーミッションに2000を加える
- 所有グループに「s」という権限を追加する「g+s」
スティッキービット
ディレクトリに設定する事で、そのディレクトリに対して書き込み権限を持つユーザでも、自分が所有する以外のファイルを削除できなくなります。
- 通常のパーミッションに1000を加える
- その他のユーザーに「s」という権限を追加する「o+s」
lnコマンド
ln [-s] リンク元 リンク先
シンボリックリンクを作成するには「-s」オプションを使用する。
ハードリンクとシンボリックリンクの特徴
特徴 | ハードリンク | シンボリックリンク |
---|---|---|
inode番号 | 変わらない | 変わる |
ディレクトリ | 作成できない | 作成できる |
ファイルシステム(パーティション)が違う場合 | 作成できない | 作成できる |
lsコマンドを実行した時のパーミッションの先頭表示 | 変わらない | 「l」表示になる |
ハードリンク数 | 増える | 変わらない |
findコマンド
find [検索起点ディレクトリ] [検索式] [アクション]
検索式
検索式 | 説明 |
---|---|
-name ファイル名 | ファイル名で検索 |
-atime 日数 | 最終アクセス日で検索 |
-mtime 日数 | 最終更新日で検索 |
-perm アクセス権 | アクセス権で検索 |
-size サイズ | ファイルサイズで検索 |
-type ファイルの種類 | ファイルの種類で検索 |
-user ユーザー名 | ファイルの所有者で検索 |
-maxdepth 階層数 | 指定した階層まで検索 |
-mindepth 階層数 | 指定した階層から下を検索 |
アクション
アクション | 説明 |
---|---|
検索結果を改行で区切って表示 | |
-print0 | 検索結果をNULL文字で区切って表示 |
-exec 実行するコマンド \ | 検索結果のファイルに対してコマンドを実行 |
duコマンド
du [オプション] [ファイル名またはディレクトリ名]
ファイルやディレクトリが占めている容量を表示するコマンド
オプション
オプション | 説明 |
---|---|
-a | ディレクトリ以外のファイルも表示 |
-h | 分かりやすい単位を付加して表示 |
-c | 合計容量も同時に表示 |
-s | 指定したファイルやディレクトリの合計容量のみ表示 |
-S | ディレクトリの容量にサブディレクトリの容量を含めずに表示 |
-k | キロバイト単位で表示 |
-m | メガバイト単位で表示 |
dfコマンド
df [オプション] [ファイル]
ファイルシステムの空き容量を確認できるコマンド
inodeの使用状況を確認
df -i
でinodeの使用状況を確認できる。
typeコマンド
指定したコマンドが通常のコマンドか、シェルの組み込みコマンドか、エイリアスかなどの情報を表示する。
mountコマンド
mount [オプション] [マウントするデバイス名] [マウントポイント]
ディレクトリを指定してマウントする
mount --bind /var/log /root/systemlogs
mount -o bind var/log /root/systemlogs
--bind
オプションを使用するか、-o
オプションを使用して「bind」を指定する。
読み取り専用でマウントしたい
mount -t ext3 -o ro /dev/sda1 /export
-o
オプションを使用してマウントオプションの「ro」を指定する。
マウントされているパーティションを自動修復したい場合に最初に実施するコマンド
umount
コマンドでアンマウントをする。
アンマウントしてからでないとfsck
コマンドを使用してパーティションをチェックすることができないため。
ジャーナリングファイルシステムではないもの
ext2
ジャーナリングファイルシステム
ext3
ext4
XFS
JFS
XFSファイルシステムを管理するために使用される主なコマンド
コマンド | 説明 |
---|---|
mkfs.xfs | XFSファイルシステムの作成 |
xfs_info | ファイルシステム情報を表示する |
xfs_db | ファイルシステムのデバッグをする |
xfs_check | ファイルシステムをチェックする |
xfs_fsr | ファイルシステムのデフラグをする |
xfs_repair | ファイルシステムの検査・修復をする |
GPT と MBRパーティション
GPT | MBR |
---|---|
gdisk、fdisk、partedで作成可能 | fdisk、partedで作成可能 |
fdiskコマンド
fdisk [-l] デバイス名
MBR形式のハードディスクに対してパーティションの作成、削除、変更および情報表示ができるコマンド
オプションを付けず、デバイス名だけでfdiskコマンドを実行すると対話モードになる。
対話モードでは以下のサブコマンドが使える。
サブコマンド
サブコマンド | 説明 |
---|---|
m | サブコマンドのメニューの表示 |
l | パーティションタイプの一覧表示 |
n | パーティションの作成 |
d | パーティションの削除 |
p | パーティションテーブルの表示 |
t | パーティションタイプ(システムID)の変更 |
w | パーティションテーブルの変更を保存して終了 |
q | パーティションテーブルの変更を保存せずに終了 |
「/etc/fstab」の1つ目の設定項目に指定できる値
1つ目の項目にはデバイス名を指定する。
以下のようなもの。
- 「/dev/sda1」のようにデバイスファイル名
- 「LABEL=/boot」のようにラベル名
- 「UUID=3b80b96c-df15-401e-b74c-e8dcbfb68cec」のようにUUID名
「/usr」ディレクトリ
起動には不要なプログラムなどが格納されている
ディレクトリ | 格納物 |
---|---|
/usr/bin | 一般ユーザー用のコマンド |
/usr/sbin | システム管理用のコマンド |
usr/lib | /usr/binや/usr/sbinが必要とする共有ライブラリ |
usr/local | ホスト固有で使用するプログラムや設定ファイル |
usr/share/man | マニュアル |
ファイルシステムのマウントの設定を行うファイル
/etc/fstab
利用するファイルシステムのマウント設定を事前に行っておく設定ファイルです。
/etc/fstab
の書式
/dev/hda4 swap swap defaluts 0 0
(1)デバイス名 (2)マウントポイント (3)ファイルシステムの種類 (4)マウントオプション (5)dumpフラグ (6)fsckフラグ
現在マウントされているファイルシステムの情報が格納されているファイル
/etc/mtab
が現在マウントされているファイルシステムの情報が格納されているファイルです。
fsckコマンド
fsck [オプション] [-t ファイルシステムの種類] [場所] [--] [ファイルシステム固有のオプション]
オプション
オプション | 説明 |
---|---|
-t 種類 | ファイルシステムの種類を指定する |
-a | 質問なしで自動的にファイルシステムを修復する |
-A | /etc/fstabにあるファイルシステムを全て検査する |
-P | 「-A」オプション指定時、複数の検査を並列で行う |
-R | 「-A」オプション指定時、「/」にマウントしたファイルシステムは除外する(/を既に読み書き可能なモードでマウントしている場合) |
-s | 逐次処理を行う |
-T | 起動時にタイトルを表示しない |
-V | 実行時に詳細な表示を行う |
-C | 作業完了分と残り分の棒グラフで表示する |
-N | 実際には処理を行わずに何を行うかだけチェックする |
-c | バッドブロックのチェックを行う |
-f | ファイルシステムが clean/ok となっていても強制的にチェックを行う |
-y | 推奨されるすべての操作を受け入れる |
-n | 何の変更もしない |
デバイスのUUIDを表示できるコマンド
lsblk
やblkid
を使用してデバイスのUUIDを確認できる。
lsblkコマンド
lsblk [オプション] [デバイス ……]
現在利用できるブロックデバイスを一覧表示するコマンド。
ブロックデバイスをツリー状に一覧表示される。
論理パーティション
基本パーティションの数に限らず、5番目のパーティションからは論理パーティションになる。
FHS(ファイルシステム階層標準)
- ディストリビューションに依存しない、Linuxの標準的なディレクトリの構造を定めた規格のこと
- ユーザがインストールしたプログラムの配置場所などを推測しやすくするためのもの
Btrfs
サブボリューム、スナップショット、マルチデバイス/RAID、透過的なデータ圧縮などの機能をネイティブにサポートしている。
systemdでアクティブになっているマウントポイントを確認する
systemctl list-units --type=mount
systemdでは、マウントポイントはUnitの一種なので、systemctlのlist-unitsオプションでtypeを "mount "と指定してください。
スワップ領域
mkswapコマンド
mkswap
スワップ領域を作成するコマンド
swaponコマンド
スワップ領域を有効化するコマンド