LPIC level1 ３日目

#初めに

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


##ファイルの基本操作


###ファイルのコピー

ファイルをコピーするにはcpを使います。
cp コピー元ファイル名　コピー先ファイル名
cp コピー元ファイル名　コピー先ディレクトリ名

同じディレクトリ内でのコピーはファイル名を変える。

###ファイルの移動

ファイルを移動するにはmvコマンドを使います。
mv 移動元ファイル名　移動先ディレクトリ名
mv 移動元ファイル名　移動先ファイル名

このコマンドで、ファイル名の変更もできます。

###ファイル名の削除

ファイルを移動するにはrmコマンドを使います。
rm [オプション] ファイル名
心配な方はオプションで-iを付けると確認ができます。

###ディレクトリの基本操作

ディレクトリを作成するにはmkdirコマンドを使用します。
mkdir [オプション] ディレクトリ名
オプションで-pを使うと、複数階層のディレクトリを作れます。

###ディレクトリのコピーと移動

コピーはcpコマンドで大丈夫ですが、オプションで-rを付ける必要があります。
移動と名前の変更はmvを使います。

なお、treeコマンドを使用するとディレクトリの階層構造がツリー状に表示され、
確認する時に便利です。

###ディレクトリの削除

ディレクトリの削除はrmコマンドに-rオプションを使用します。
しかし、rmdirでも削除はできますが、中身が空である必要があります。

##ファイルとディレクトリの圧縮と展開

###gnipコマンドとgunzipコマンド

Linuxの圧縮形式にはいくつかの種類があります。
その中で、最も利用されているのがGNU Zip(gzip形式)です。拡張子が.gzになります。
コマンドはgzipです。
これで圧縮すると元のファイルは削除され、圧縮されたファイルが作成されます。
これを回答するにはgunzipコマンドを使用します。

圧縮する前のファイルを残しておきたいときは
gzip -c services > services.gzを実行します。
解凍する前を残すときは
gunzip -c services.gz > servicesになります。

###zipコマンドとunzipコマンド

WindowsやmacOSではファイルの圧縮にzip形式がよく使われます。
zipコマンドとunzipコマンドでファイルだけでなく、ディレクトリの圧縮もできます。

zip [-r] 圧縮ファイル名　ファイル名orディレクトリ名
ディレクトリを圧縮するときは-rを使用します。

解凍するときはunzipコマンドを使用しますが、
ディストリビューションによってはzipコマンドがインストールされていない可能性もあります。
なので、Linux以外のOSとファイルのやり取りをするなら、gzipコマンドを使った方がいいです。

###tarコマンドとアーカイブ

gzipコマンドはディレクトリには対応していません。
なので、まずはtarコマンドを使って1つのファイルにまとめます。
このように複数のファイルをまとめたファイルをアーカイブと言います。
アーカイブを作成するにはオプションでcvfを使います。

tar cvf アーカイブファイル名　ディレクトリ名

tarコマンドでアーカイブすると.tarとなります。
これをgzipコマンドで圧縮します。

また、アーカイブされているのを展開するには
tar xvf アーカイブファイル名です。

###圧縮アーカイブの作成と展開

tarコマンドとgzipコマンドをどちらも使わなくても圧縮できる方法があります。
それはオプションを使います・

作成:tar czvf アーカイブファイル名　ディレクトリ名
展開:tar xzvf アーカイブファイル名

cはアーカイブの作成、xはアーカイブの展開、vは詳細の表示、
fはアーカイブファイルの指定、jはbzip2圧縮を利用する、
Jはxz圧縮を利用する。zはgzip圧縮を利用する。tは圧縮、アーカイブファイルの確認です。

ただし、vは指定する必要がありません。

##ユーザーとグループ

###ユーザーとは?

システムを利用するユーザーはあらかじめLinuxアカウントに登録されている必要があります。
ユーザーアカウントはユーザー名とパスワードの組み合わせを使って認証します。
その手続きがログインです。

###ユーザー名とユーザーID

ユーザーには固有のID番号が割り当てられています。それをID(UID)と言い、
UIDはidコマンドで確認できます。

###ユーザーの種類

Linuxのユーザーは以下の3種類があります。
管理者ユーザー、システムユーザー、一般ユーザーです。

管理者ユーザーはシステム全体を制御する権限を持っています。
また、システムユーザーは特別なユーザーです。
一般ユーザーはシステムを利用するためのユーザーです。
また、rootユーザーのUIDは0で、一般ユーザーのIDは100以上です。


###rootユーザーの利用

rootユーザーはシステム全体に影響に及ぼすので、必要な時だけrootユーザーとして
ログインするようにしましょう。
su [-] [ユーザー名]がコマンドです。
rootユーザーになるとプロンプトが#に変わります。

-は付けなくてもログインできますが、付けないと切り替わりが上手くいきません。

###sudoコマンド

sudoコマンドを使うと、rootユーザーに入っていなくてもその操作を実行できます。
これにより安全に利用できますが、設定をしなくてはいけない時もあります。


##グループとは?

ユーザーをまとめて管理する仕組みをグループといいます。
ユーザーはどこかのグループに属していないといけず、複数のグループに所属することができます。
groupsコマンドで確認できます。ユーザー名を指定しなかった時は、コマンドを実行したユーザーになります。
idコマンドでも見ることができますが、ユーザーにとって最も基本となるグループをプライマリグループと言うのに対して、プライマリーグループ以外にも参加しているグループがあるとサブグループと言います。

##ユーザーとグループの管理

###ユーザーの作成

ユーザーを作成するにはuseraddコマンドを使用します。
これはrootユーザーのみです。

作成したばかりのユーザーにはパスワードが設定されていないので、
ログインやログアウトができません。
なので、設定するためにpasswdコマンドを使用します。
rootユーザーだとどのユーザーも変更でき、一般ユーザーだと自分の分しかできません。

###/etc/passwdファイル

ユーザーの情報は、1ユーザーにつき1行のエントリとして/etc/passwdファイルに格納されます。
現在のパスワードは/etc/shadowファイルに格納されています。

###ユーザーの削除

ユーザーを削除するにはuserdelコマンドを使用します。
通常のuserdelコマンドではホームディレクトリは削除しませんが、
-rを付けることで、ホームディレクトリ毎削除します。


###グループの作成と管理

グループを作成するにはgroupaddコマンドを使用します。
これはrootユーザーだけが使用できます。

この作ったグループにユーザーを参加させるにはusermodコマンドを使います。
これはrootユーザーのみです。
usermod -G グループ名　ユーザー名

グループの削除はgroupdelです。rootユーザーだけが実行できます。
しかし、プライマリーグループのユーザーのグループは削除できません。
それをしてしまうと、グループに所属していないユーザーができてしまいます。

###/etc/groupファイル

1グループにつき1行のエントリとして/etc/groupのファイルに格納されています。