Linuxの基本操作②
はじめに
クラウドエンジニア初学者のポレインと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
エディタ(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
所有者と所有グループの間には、”.”か”:” ("ドット"か"コロン")を使います。
以上