ぽれいんのブログ

エンジニアになるために覚えたことを日記に付けます。

Linuxの基本操作②

はじめに

クラウドエンジニア初学者のポレインと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

↑↑まだ見ていない方はこちらから↑↑

 

 

 

 

エディタ(vi)

テキストファイルを編集するためのソフトウェアにテキストエディタがあります。

Linuxで標準的に使用されているエディタに、”vi” があります。

モード

”vi”には2つのモードがあります。

「挿入モード」「コマンドモード」です。

挿入モード ... 実際に文字を入力/削除するモード。

コマンドモード ... ファイルの保存、viの終了ができるモード。

vi Porain

↑のように起動にはファイル名を引数として実行します。(今回はPorainがファイル名)

また、ファイルが存在しない場合は勝手に新規作成してくれます。

実行すると以下のメッセージが現れます。

"Porain" [New File]

この部分に"vi"からのメッセージが表示されます。

(Porainは今"vi"で編集中のファイル名をその隣の[New File]はこのファイルが新規作成であることを表しています)

文字の入力

コマンドモードから挿入モードに切り替えるには"a"あるいは"i"あるいは"o"を入力します。以下が表示されれば挿入モードに切り替わっています。

--INSERT--

挿入モード

以下挿入モードで使用するキーです。(頻繁に使用するものを抜粋)

a,i,o = モード切替え 
u = 元に戻す
:wq = ファイルを保存して終了
:q! = 強制終了
h = 左に移動
j = 下に移動
k = 上に移動
l = 右に移動

 vimtutorコマンドを使って練習できます。

挿入モードからコマンドモードに切り替える際は、【Esc】キーを入力します。

エディタでの流れ

--------------------------------------

vi ファイル名でエディタ開始

  ↓

    コマンドモード 

  ↓  aioなど 

    挿入モード

  ↓ 【ESC】キー

    コマンドモード

  ↓ :wq 入力

 エディタ(vi)終了

---------------------------------------

3.ファイルの属性

Linuxマルチユーザシステムです。1代のシステムを複数のユーザで共有するため、システム内にあるデータ(ファイルやディレクトリ)をどのユーザでも操作することができます。そのため、各ユーザ毎にアクセス権限が与えられます。(勝手に操作されることによるトラブルを防ぐため)この権限をパーミッションと呼びます。

パーミッション

lsコマンドに-laオプションを利用してカレントディレクトリ内の一覧表示を行います。

ls -la     カレントディレクトリ内の一覧表示  
合計 15
drwx------  3 porain porain   1024 7月 08 11:23 aaaaaa
drw-------  1 root  root    1024 7月 18 11:30 xxxxx
-rwxrwxr--  1 porain porain    0  7月 18 08:23 aaavvv
-r-xr-x--x  1 porain porain   119 7月 18 16:23 qqqqqq
-rwxr--r--  1 porain porain   377 7月 18 09:23 wwwwwww
-r--r--r--  1 porain porain   304 7月 18 14:23 ooopopop

出力結果の一番左のフィールドをご覧ください。

こちらの[drwx-]の羅列がパーミッションになります。

一番左から

ファイルタイプ -: 普通のファイル d: ディレクトリ l: シンボリックリンク

所有ユーザ           r:  読取権限 w: 書込権限 x: 実行権限

所有グループ  r:  読取権限 w: 書込権限 x: 実行権限

その他ユーザ  r:  読取権限 w: 書込権限 x: 実行権限

を表しています。(-がある場合はその部分の権限がないことを示します。)

では、この読取権限、書込権限、実行権限はどういうことかってことですね!

読取 ファイル     catやlessで閲覧できるか 

   ディレクトリ   ls などでディレクトリ内ファイルを一覧表示できるかどうか

書込 ファイル    ファイルを編集できるかどうか(ファイル自体の削除とは無関係)

   ディレクトリ  ディレクトリ内のファイルを削除できるかどうか

実行 ファイル    コマンドとして実行できるかどうか

   ディレクトリ  ディレクトリ内のファイルへアクセスできるかどうか

パーミッションの変更(chmod)

設定されているパーミッションを変更する際に使用します。

方法は2つあります。

①計算で変更

 ユーザ定義 = u:所有者, g:所有グループ, o:その他ユーザ, a:全てのユーザ)

 追加等 = +:追加 -:削除 =:付加

パーミッション = r:読取権限 w:書込権限 x:実行権限

chmod a+x testfile1        全てのユーザに対して実行権限を与える
chmod ug=rw testfile02 所有者、所有グループをrw-/rw-という権限にする

 ※ =は現状のパーミッションに関係なし。

②数字で変更

3桁の8進数で表現します。

所有者 = 400:読取権限 200:書込権限 100:実行権限

所有グループ = 40:読取権限 20:書込権限 10:実行権限

その他ユーザ = 4:読取権限 2:書込権限 1:実行権限

chmod 750 testfile001      rwxr-x---の権限にする
実行ファイルスクリプト

複数の処理を1つのファイルにまとめて簡単な実行ファイルを作成することができます。簡単に言うと実行したいファイル(複数可)を書き連ねたファイルのことです。
定期的に同じコマンドを実行するなら、いちいち手作業でコマンド入力しなくても実行ファイルスクリプトに書いておけば、手軽で間違いもないですね!
→中のコマンドを実行する場合、そのファイルに対する実行権限(x)が必要です。

4.ユーザとグループ

※ この章のコマンドはrootユーザにのみ権限があります。

ユーザの追加/削j除(useradd/userdel)

ユーザの追加を行うことでLinux上のユーザ情報が格納された/etc/passwdファイルにユーザ情報が追加エントリされます。

useradd porain                     porainユーザの追加
userdel -r porain porainユーザの削除

-rオプションを使用することでユーザのホームディレクトリも一緒に削除できます。

グループの追加/削除(groupadd/groupdel)

複数のユーザに個別に権限を与えるのではなく、まとめて管理したい場合はグループを使用します。

groupadd study           studyグループの追加
groupadd -g 1000 study グループIDを指定してstudyグループを作成
groupdel study           studyグループの削除 
ファイルの変更 (vipw)

ファイルを編集したい場合は”vipw”コマンドを使用します。

このコマンドによって、/etc/passwd ファイルをロックし他のユーザが手を出せない状態で/etc/passwdファイルを編集できます。

vipw
プライマリグループとセカンダリグループ

グループにはプライマリグループセカンダリグループがあり、ユーザは絶対に1つのプライマリグループに所属しており、複数のセカンダリグループに参加することが可能です。簡単に言えば、メインサブという感じですね。

idコマンドを利用すればログインしているユーザがどのグループに所属しているかを確認することができます。(ユーザID,グループIDも分かります!)

id
uid=0(root) gid=0(root)所属グループ
=0(root),1(bin),2(daemmon),3(sys),4(adm),6(disk),10(wheel)

gid=0(root)がプライマリグループ

所属グループ以降の表示がrootユーザが所属しているプライマリグループで、所属グループ以降の表示がrootユーザが所属しているプライマリグループとセカンダリグループになります。

所属グループの変更

ユーザ新規作成時にオプションを指定しない場合、ユーザと同じ名前のグループに所属されることになる。

useradd -g study porain
useradd -g study -G cloud porain

以上のように

-g オプションを指定することでプライマリグループを変更でき、

-G オプションを指定することでセカンダリグループを指定することができます。

所有者/所有グループの変更

ファイル/ディレクトリの所有者/所有グループはそのファイル/ディレクトリを作成したユーザになりますが、その後変更することも可能です。所有者/所有グループを変更する場合は"chown"コマンドを実行します。

chown root.root /home/porain/copyfile
chown -R root:root /home/porain/dir1

所有者と所有グループの間には、”.””:” "ドット""コロン"を使います。                 

 

   以上