LPIC level1　4日目

#初めに

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

#パーミッション

##所有者と所有グループ

###所有者と所有グループとは

Linuxは複数のユーザーが利用できます。
また、ファイルやディレクトリはいずれかのユーザー、グループに所属しています。

通常、ファイルやディレクトリを作成したユーザーが所有者となり、所有者のプライマリグループが所有グループに適用されます。ls -lコマンドで確認できます。


###所有者と所有グループの管理

所有者や所有グループは後から変更できます。
これはrootユーザーのみです。所有者はchownコマンドを使います。

chown [-R] 所有者名　ファイル名orディレクトリ名

ls -lで確認ができますが、ディレクトリ内のファイルの所有者は変更されません。
ディレクトリの所有者を確認するのは、-ldコマンドを使います。

もし、ディレクトリ以下全てのファイルやサブディレクトリの所有者を変更するには
-Rオプションが必要です。

所有グループを変更するにはchgrpコマンドを使用します。
これはrootユーザーだけでなく、一般ユーザーも使用できます。
しかし、自分の所属しているグループのみになります。

chgrp [-R]　グループ名　ファイル名orディレクトリ名

-Rはchownの時と同じようにディレクトリ以下全てのファイルやサブディレクトリの
所有グループを変えます。
また、所有者と所有グループを同時に変える場合はchownコマンドで
ユーザー名:グループ名もしくはユーザー名.グループ名とできます。


##パーミッションの設定

###ファイルのアクセス権

大事なファイルは他のユーザーに勝手に見られたり書き換えられたりしないようにしないといけません。なので、ファイルやディレクトリにはアクセス権が設定されています。アクセス権には読み出せる、書き込める、実行できるの3種類になります。また、アクセス権は所有者、所有グループに属するユーザー、その他のユーザーの3種類になります。

これをパーミッションと言います。
しかし、rootユーザーは全てのファイルの読み取り・書き込み・実行ができます。
rは読み取り権、wは書き込み権、xは実行権です。

ls -lで確認しましょう。
例えば、-rw-rw-r--だとします。
最初の1文字が種類を表しています。-は通常ファイルです。その次、3文字ずつで区切られています。
rw-/rw-/r--です。
左から所有者、所有者のグループに属するユーザー、その他のユーザーです。
更に中を見ると、読み取り権、書き込み権、実行権になります。
数字で表すこともあります。読み取り権が4、書き込み権が2、実行権が1になります。


###ディレクトリのアクセス権

● 読み取り権

ディレクトリに読み取り権が設定されていると、ディレクトリ内のファイル名一覧を表示できます。
しかし、cdを使って、移動することもcatを使って内容を見ることもできません。

● 書き込み件

ディレクトリに書き込み権が設定されていると、そのディレクトリ内で
ファイルを作成したり、削除したりすることができます。
ファイルのアクセス権が無くてもファイルを削除できます。

● 実行権

ディレクトリに実行権が設定されていると、そのディレクトリ内にcdコマンドで移動したり、ディレクトリ内のファイルにアクセスしたりすることができます。

###パーミッションの変更

パーミッションを変更するにはchmodコマンドを使います。
これは変更対象となるファイルやディレクトリの所有者とrootユーザーのみです。

chmod [-R] アクセス権　ファイル名orディレクトリ名
アクセス権には3桁の数字を指定するか、以下の記号を指定しましょう。

uが所有者、gは所有グループ、oはその他のユーザー、aは全てのユーザー、
+は権限の追加、-は権限の削除、=は権限を指定する。
rは読み取り許可、wは書き込み許可、xは実行許可です。

#テキストファイルの編集

##viエディタの基本

文字情報をのみが記録されたファイルであるテキストファイルを編集するには、テキストエディタを使います。テキストファイルを編集するテキストエディタは様々な種類がありますが、LinuxではviとEmacsが2大エディタです。viエディタにはコマンドモードと挿入モードがあります。コマンドモードでは独自のコマンドがあり、文字を入れるには挿入モードにする必要があります。

###viエディタの起動と終了

viコマンドを実行すると、viエディタが実行されます。指定したファイルが存在しない場合は、
そのファイル名でファイルを新規作成することになります。
vi [ファイル名]

行頭が~の場合は、空行を意味します。
また、viエディタを終了するには:qを入力します。
:を押すとカーソルが画面最下部に移動します。
この行をメッセージラインと言います。

###コマンドモードと挿入モード

● コマンドモード

このモードの時はキーボードから入力した文字はviエディタのコマンドと
判断されます。コマンドモードから挿入モードに移動するにはiを入力します。

● 挿入モード

このモードからコマンドモードに移動するにはEscを使用します。
どちらのモードか分からない時はEscを押してみましょう。

##ファイルの保存と終了

ファイルの編集をしたら保存をする必要があります。
:w ファイル名で保存をしましょう。
ファイルを保存してからviエディタを終了するには、:w :qの順に入力するか、
:wqのように入力して、一度に実行できます。
もしくはZZと実行するとファイルを保存して終了します。
また、変更を保存せずにviエディタを終了するのであれば、:q!を実行します。
これは覚えましょう。

##基本的な編集操作

###切り取り、コピー、貼り付け

カーソルがある状態で、ddを押すとカーソルの1行が切り取られます。
これはバッファという保存です。その後、pを実行します。
すると貼り付けがされた状態です。yyではコピーになります。
また、xだと1文字を切り取り、Xだと左の1文字を切り取ります。

###コマンドの繰り返しと取り消し

viエディタでは、コマンドの直前に数字を入力すると数字の回数だけ
コマンドが繰り返されます。例えばm、2ddとすると2行が切り取られます。
なお、直前のコマンドを何度か繰り返す時は.を使います。
直前の操作を取り消す時はu(undo)コマンドを使用します。
また、取り消しの取り消しはCtrl+Rで行います。

##viエディタの便利な機能

###文字列の検索

コマンドモードで/を入力します。
ここに文字列を入力して、Enterを押します。
検索文字列にマッチした箇所が複数ある時はNを使うと、下にいきます。
反対にShift + Nキーでカーソルは反対方向にいきます。
/の代わりに?を使うと順序が逆になります。


###setコマンド

viエディタではsetコマンドを使って設定ができます。
:setです。
例えば、:set numberだと行番号を表示します。
反対の:set nonumberだと表示しなくなります。

##その他のエディタ

###nanoエディタ

Ubuntuではnanoというテキストエディタが標準になっています。
これはrootユーザーのみが行うことができます。
yum install nanoでnanoエディタはインストールします。
nanoエディタを起動する場合はnano [ファイル名]で起動します。

###デフォルトエディタの切り替え

CentOSではviエディタが、Ubuntuではnanoエディタが開きます。
EDITORにエディタのパスを指定することで、デフォルトに変えることができます。

export EDITOR=/usr/bin/nanoがnanoエディタで、
which nanoだと、nanoのパスを調べます。
viエディタに戻すときは、export EDITOR=/usr/bin/vimに設定します。