LPIC Level1 2日目

#初めに

LPIC試験の勉強をしていて、勉強したものをまとめています。
ご指摘等ございましたらご教授下さい。

##Linuxの基本操作

LinuxのインターフェイスはGUIとCUIがあります。
GUIはGraphical User Interfaceの略で、図で描かれたインターフェイスになります。
それに対して、CUIはCharacter-based User Interfaceなので、文字中心になります。
マウスを使うのがGUIでコマンドを使うのがCUIになります。

WindowsではGUI,LinuxではCUIが普通ですが、LinuxでもGUIを使うためには
X Window Systemというソフトウェアを使う必要があります。
それに加えてウィンドウマネージャと呼ばれるソフトウェアが多くあるので、
これがデスクトップを変えています。

ではなぜ、CUIを使用するかというと、それはメリットがあるからです。
① 慣れればGUIよりも素早く操作ができる。
② 一連の作業を自動化しやすい
③ 離れた場所にあるコンピュータをネットワーク経由で操作しやすい。

##ログインとログアウト

Linuxはマルチユーザーシステムなので、他のOSと同じくユーザーの概念があります。
なので、アカウントを登録されたユーザーしか使えません。

[penguin@centos7 ~]$　これはコマンドを受け取る準備ができている状態です。
これをプロンプトと言います。この場合だと、penguinはユーザー名、
centos7はホスト名、~はカレントディレクトリになります。

##管理ユーザーroot

Linuxには管理アカウントのrootがあります。
これはシステムの設定変更や再起動、ソフトウェアのインストールや削除など、
管理作業する権限を持っています。rootユーザーはスーパーユーザーとも呼ばれていて、
それ以外は一般ユーザーと言います。
ここにログインするとプロンプトが#に変わります。

ログアウトはexitコマンドか、Ctrl+Dでできます。

##コマンドによる操作

コマンドを入力する行のことをコマンド行と言います。
例えば、calで見てみましょう。これはcalendarの略です。
calの後に2020を置くと、2020年のカレンダーが表示されます。
このようにコマンドに指示する値のことを引数と言います。

calendarの時の引数は月　年の順番です。

似ている役割でオプションがあります。
役割はコマンドの動作を調整しますが、引数と似ています。
ただし、表記が違います。-(ハイフン)を使います。
例えば、cal -mをすると、mondayから始まります。
これに-3を使うと、前後３ヶ月間になります。

-m -3でも-3mでも-m3でも順番は決められていません。
ただし、--を使うと、文字列になるので、省略の単語は使えません。
-mではなく、--mondayのようにきちんと書きましょう。

コマンドはコマンド[オプション][引数]です。

##マニュアルを使う

Linuxの多くは使い方のマニュアルが用意されています。
それはmanコマンドで参照できます。これをオンラインマニュアルと言います。
・コマンドの使い方
・引数やオプションの使い方
・オプションの意味
・コマンドの出力する内容

オンラインマニュアルは/usr/share/manディレクトリ以下に格納されています。
ページが長いときはSpaceで次を表示できます。
また、Bだと下に、Fだと上にいけます。Qを使うとmanコマンドは終了します。

##セクション

オンラインマニュアルはコマンドの使い方の他にも情報がいくつかのカテゴリに分かれています。
これをセクションと言います。これは章のようなものです。

1は一般ユーザーコマンド
5は設定ファイルの書式
8はシステム管理コマンドです。

セクションを指定するときはman + セクション　+ コマンドです。

##Whatisコマンド

オンラインマニュアルにどのようなセクションがあるのか調べるときは、
whatisコマンドを使います。

場合によってはrootユーザーの状態でmakewhatisを使わないといけない
状況もあります。

##--helpオプション

コマンドによっては--helpが用意されていることもあります。
これはオンラインマニュアルより分かりやすく説明がされています。


##システムの終了と再起動

Linuxシステムを終了させるときはいきなり電源を切ってはいけません。
shutdownコマンドを使用しましょう。これはrootユーザーだけが使えます。

shutdown　[オプション] 時間です。

オプションは以下の3つです。
-r システムの終了後に再起動する(reboot)
-h　　システムを終了して停止する。（halt)
-c 実行中のシャットダウンをキャンセルする(Cancel)

時間は５分後だと+5 時刻は23:45などのように使います。

● shutdown -h now
直ちにシステムを停止

● shutdown -r now
直ちにシステムを再起動

● shutdown -r +10
10分後にシステムを再起動

● shutdown -r 22:30
22時30分にシステムを再起動

##ファイルとディレクトリ

ファイル名にはアルファベット、数字、記号(_,-,.)を使うようにしましょう。
その中でも*!?はメタキャラクタと言われていて、避けた方が良い文字です。
また、スペースも避けるようにしましょう。

● 大文字と小文字が区別される。

Linuxでは大文字と小文字が区別されるので、
test.txtやTest.txtはそれぞれ別のファイルとして認識されます。
拡張子はLinuxにはなく、.が付いている名前のファイルは隠しファイルになります。

● ファイルの種類

・　通常ファイル

データやプログラムが格納されたファイルです。人間が読めるテキストと
読めないものがあります。

・　ディレクトリ

フォルダのことを表します。ファイルとは区別して下さい。

・　リンクファイル

ファイル名とファイルの内容を紐付けることをリンクと言います。
シンボリックリンクとハードリンクに分かれます。

・　特殊ファイル

様々なファイルがありますが、ファイルを通してデバイスを扱えるようにするのが
デバイスファイルです。

● ファイルの一覧表示

ファイルではlsを使ってリストの表示をします。
ls [オプション][ファイル名またはディレクトリ名]
オプションでは　-lを使うとファイルの属性情報も合わせて表示されます。

-rw-rw-r--.1 penguin penguin 19 Dec 5 13:07 diary.txtと
表示されています。最初からファイルモード、リンク数、ファイルの所有者、
ファイルの所有グループ、ファイルサイズ、最終更新日時、ファイル名

ファイルの種類はファイルモードの一番最初の文字を見ましょう。
-だと通常ファイル、dだとディレクトリ、lだとリンクファイル、cは特殊ファイルの
キャラクタデバイスファイル、bはブロックデバイスファイルです。

##ディレクトリ

Linuxではフォルダのことをディレクトリと言います。
ディレクトリの中のディレクトリをサブディレクトリと言います。

###パス

階層構造を/で表したものをパスと言います。
例えば、penguinディレクトリの中にcat.jpgファイルがあれば、
penguin/cat.jpgのように表します。
その頂点のディレクトリをルートディレクトリと言います。
Windowsではドライブです。

###絶対パスと相対パス

絶対パスはルートディレクトリを基準に考えたパスで、
相対パスは今いるパス(カレントディレクトリ)から考えたパスです。
例えば、ルートディレクトリ直下のhomeディレクトリ内にpenguinディレクトリがあると、
/home/penguinになります。

###パスで使える記号

.(カレントディレクトリ)
..(1つ上のカレントディレクトリ)
~（チルダ) ホームディレクトリ

今、いるディレクトリをカレントディレクトリと言いますが、そのディレクトリを確認するコマンドが
pwd(print Working Directory)になります。

ホームディレクトリはユーザー毎に割り当てられるディレクトリで、
一般的には/home/ユーザー名になります。

##ファイルの表示とディレクトリ移動

テキストファイルの内容を表示するにはcatコマンドを使用します。
複数のファイルも表示できます。
しかし、大きなファイルを表示すると先頭は見ることができません。
そのために1ページずつ表示するlessコマンドを使います。

このように1ページずつ表示するソフトウェアのことをページャと言います。
上や下はもちろん、spaceは１画面進め、Ctrl+Bは1画面上に、
Qは終了になっています。

ディレクトリの移動はcd(Change Directory)を使います。
-を使うと一つ前のディレクトリに戻ることができます。

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

図書管理カードと同様の仕組みがLinuxにも存在しています。
それをiノードと言います。
そこにはファイルのサイズや最終更新日時、アクセス権情報やディスクの場所などが
書き込まれています。
iノード番号はlsコマンドに-iオプションを付けます。

###ハードリンク

iノード番号とファイル名の対応付けをリンクと言います。
Linuxでは1つのiノードに複数のファイル名をリンクさせることもできます。
これをハードリンクと言います。
ハードリンクはlnコマンドを使います。

ln 元のファイル　作成するリンクファイル

1つの物理的なディスクを論理的に複数に分けた領域をパーティションと言います。
これは家のようなものと考えてください。

###シンボリックリンク

ファイルに別名を付ける仕組みです。
lnコマンドに-sオプションを付けて実行します。
ln -s 元のファイル　作成するリンクファイル

例えば、todayというファイルのハードリンクtoday.hardを作り、
シンボリックリンクのtoday.symを作るとします。
この元となるtodayを消すと、ハードリンクは残りますが、
シンボリックリンクは行き先を失います。