LinuC学習 part3

## はじめに
LinuCの問題を実際に解き、間違ったものを記載していきます。
読み直した際に理解を深めることを目指す記事となります。

## 1.05.1 ハードウェアの基礎知識と設定

現在ロード済みのカーネルモジュールを確認するコマンド
lsmod
cat /proc/modules

カーネルモジュールとは、カーネルの機能を部品化してカーネル本体から切り離したもの
カーネル本体にいろいろな機能を組み込む必要がなくなるので、カーネルのサイズを小さくすることができるというメリット

https://linuc.org/study/samples/3203/

## 1.01.1 Linuxのインストール、起動、接続、切断と停止

システムを停止させるコマンド
shutdown -H now
halt


shutdownコマンドは、デフォルトではシステムを停止後、システムの電源を切りますが、指定する引数オプションによって、システムの停止のみやシステムの再起動、指定した時間の経過後にシステムを終了させることができます。

shutdown コマンドの主なオプションは以下の通りです。

-H	, --halt	：	システムを停止します
-P	, --poweroff	：	システムの電源を切ります（デフォルト）
-r	, --reboot	：	システムを再起動します
-h		：	システムの電源を切ります（--poweroffと同様）

haltコマンドは、shutdownコマンドとは異なり、停止するまでの時間は指定できません。そのため、コマンド実行後、すぐにシステムを停止します。
デフォルトでは、システムを停止するのみで、電源はついたままとなりますが、オプションを指定することで、システムの電源を落とすことも可能です。

halt コマンドの主なオプションは以下の通りです。

-p	, --poweroff	：	システムの電源を切ります
-f	, --force	：	強制的にシステムを停止します
-w	, --wtmp-only	：	システムを停止せずwtmpレコードにのみ記録します
-n	, --no-sync	：	ハードディスク/ストレージメディアを同期せず停止します

https://linuc.org/study/samples/3136/

## 1.01.3 ブートプロセスとsystemd

OS起動時のsystemdのデフォルトターゲットを確認するためのコマンド
systemctl get-default

systemctlコマンドは、systemdを使用しシステムを管理する際に使用するコマンド

get-defaultサブコマンドはデフォルトターゲットの確認を行うことができる
statusサブコマンドは、ターゲットではなくサービスの状態を確認する際に使用
set-defaultサブコマンドはデフォルトターゲットの変更を行う

https://linuc.org/study/samples/3080/

## 1.02.2 基本的なファイル管理の実行

file.tar.gzを展開せず、一覧表示を行うことが出来るコマンド
tar ztf file.tar.gz

tarコマンドの主なオプションは以下になります。

-c	：	アーカイブファイルを作成する
-t	：	アーカイブファイルの内容を表示する
-x	：	アーカイブファイルを展開する
-f	：	アーカイブファイルを指定する
-v	：	圧縮・展開時に詳細を表示する
-z	：	gzipの圧縮展開処理を行う

https://linuc.org/study/samples/2903/

## 1.03.2 フィルタを使ったテキストストリームの処理

以下のファイルから、重複している行を全て削除し、同一行は一行だけ表示することのできるコマンド
sort -u test.txt
sort test.txt | uniq

uniqコマンドは、繰り返し行の出力や削除を行うコマンドです。
オプションなしで実行した場合、連続する同じ行が最初に見つけた行にまとめられます。uniqコマンドは、連続する行の比較を行うため、重複する行が離れた場所にある場合、取り除くことはできません。

https://linuc.org/study/samples/2827/

## 1.03.1 コマンドラインの操作

どのディレクトリにいてもコマンドを実行できるようにする方法
環境変数PATHにtestユーザのホームディレクトリを追加する
コマンドの実行ファイルを絶対パスで指定する

環境変数PATHに設定されているディレクトリ配下の実行ファイルは、自動的に検索されるため、絶対パスで指定しなくても実行することができます。

「３．root権限で実行する」
誤りです。
コマンドが実行できていない理由は「コマンドが見つかりません」と出力されているように、コマンドのパスが不明のためエラーとなっています。

https://linuc.org/study/samples/2669/

## 1.01.5 デスクトップ環境の利用

X Serverの色深度(色数)を表示するコマンド
xdpyinfo
xwininfo

xdpyinfoコマンドはX serverについての情報を表示するコマンドです。問題文にある色深度(色数)は「depth of root window」という項目で確認することができます
xwininfoコマンドはウィンドウの情報を調べるコマンドです。問題文にある色深度(色数)は「Depth」という項目で確認することができます。

なお
xwdはスクリーンやウインドウのイメージをファイルに保存するコマンド
xlsclientsはスクリーンに表示されているアプリケーションの一覧を表示するコマンド

https://linuc.org/study/samples/2623/

## 1.02.4 ファイルの配置と検索

locate -b test.db
データベースを参照してファイルやディレクトリを検索し標準出力に表示させるコマンドです。あらかじめファイルやディレクトリの情報をデータベース化することによって、より高速な検索を可能としています。
-b	：	上位ディレクトリを検索せず、ファイルや　ディレクトリを検索する

https://linuc.org/study/samples/2594/

## 1.05.3 ファイルシステムの作成と管理、マウント

/etc/fstabファイル
どのデバイスにどのディレクトリをマウントするのかなど、ファイルシステムの情報を記述するファイル
OSを起動した際、/etc/fstabファイルの記述に従ってファイルシステムが指定したマウントポイントに自動的にマウントされます

第1フィールド：
マウントされるパーティションやデバイス名を記述します。上記例のように、UUIDを指定したり、ラベルを指定することもできます。

第2フィールド：
マウントされるマウントポイントを記述します。

第3フィールド：
マウントされるパーティションやデバイスのファイルシステムのタイプを記述します。

第4フィールド：
マウントオプションを記述します。マウントオプションには、読み書き可能モードでマウントを行う「rw」や、mount -a コマンドの実行時にマウントを行う「auto」などがあります。オプションを複数指定する場合は、「,(カンマ)」区切りで指定します。なお、defaultsが指定された場合は、「async、auto、dev、exec、nouser、rw、suid」が有効となります。

第5フィールド：
ファイルシステムをダンプするか否かを指定します。「1」ならファイルシステムをダンプし、「0」ならダンプしません。

第6フィールド：
システム起動時にfsckチェックを行う順番を指定します。ルートファイルシステムをチェックする場合は、「1」を指定します。その他のファイルシステムをチェックする場合は「2」を指定します。「0」または指定しない場合は、ファイルシステムチェックが行われません。

https://linuc.org/study/samples/2541/

## 1.04.1 apt コマンドによるパッケージ管理
apt purge {パッケージ名}
aptコマンドはDebian系のディストリビューションに使われているパッケージ管理用のコマンドです。aptコマンドを用いて、パッケージのインストール、アンインストールなどを行うことが出来ます。

apt remove {パッケージ名}
removeでパッケージの削除は出来ますが、設定ファイルなどは残ります。

https://linuc.org/study/samples/2348/

## 1.03.3 ストリーム、パイプ、リダイレクトの使用

「tee」は、標準入力から受け取った内容を、標準出力とファイルに書き出すコマンドです。データをパイプに送るとき、同時にそのコピーを保存しておきたいときに使います。
「tee」は標準入力から受け取った内容を標準出力とファイルに書き出すコマンドなので、teeの引数にrmコマンドを渡しても、rmコマンドを実行出来ません。

https://linuc.org/study/samples/2292/