【5】デバイス、Linuxファイルシステム

(P.204から)

sakuravps(CensOSの場合の動き)

# mount

Capture_2016_08_11_16_39_01_744

# fdisk -l /dev/vda1 >-lでパーティションを一覧表示する、オプション

Capture_2016_08_11_16_41_22_746

# fdisk -l /dev/vda3 >-lでパーティションを一覧表示する、オプション

Capture_2016_08_11_16_42_12_985

# parted /dev/vda1

# parted /dev/vda3 >パーティションテーブルの確認、p入力、qでラインアウト

Capture_2016_08_11_17_07_10_330

 

パーティション→ファイルシステム(ext4)、でファイル作成できる

# mkfs >ファイルシステムの種類

Capture_2016_08_11_17_11_54_626

# mke2fs >ファイルシステムの種類

Capture_2016_08_11_17_12_40_385

 

ファイルシステムの管理

# df

Capture_2016_08_11_17_16_29_76

# df >ファイルシステムの空き容量の確認

Capture_2016_08_15_18_47_41_963

 

# du

Capture_2016_08_11_17_18_29_51

# df -i  >ファイルシステムの使用状況の確認

Capture_2016_08_15_18_48_25_58

# du -a, -c ,,,  >ファイルシステムが占めている容量を表示

Capture_2016_08_15_18_52_10_963

 

 

# fsck (CentOSの表示、Ubuntuも同じ)

Capture_2016_08_11_17_19_17_536

# e2fsck  (CentOSの表示、Ubuntuも同じ)

Capture_2016_08_11_17_26_56_597

# tune2fs  (CentOS、Ubuntu)

Capture_2016_08_11_17_28_12_942

# tune2fs >Ubuntuの表示

Capture_2016_08_11_17_29_50_210

# dumpe2fs (CentOSのみ、Ubuntuにはなし)

Capture_2016_08_11_17_31_42_902

# xfs_info >hyperVのCentOS7はxfsが使えたので実験表示、さくらVPS、Ubuntuはなし。

Capture_2016_08_11_17_38_31_455

ちなみには、CentOS7は、#fsck,  # tune2fs,   # e2fsck   #dumpe2fs(=ファイルシステムの各種情報表示) も使えるようです。。

Capture_2016_08_11_17_41_22_68

 

マウントとアンマウント

# mount -a(すべて),  -i (指定のみ)

#umount  -a(すべて),  -i (指定のみ)

 

 

/etc/fstabファイルでファイルシステムの情報を確認

# cat /etc/fstab  >sakuravpsでは共用VPなのでデバイスファイル名が長くてややこしい表示。

Capture_2016_08_11_17_44_31_830

# cat /etc/fstab  >CentOS7でも同じような表示になります

Capture_2016_08_11_17_47_44_216

 

 

ディスククオータの管理(P.231)

# quota >ディスクの使用量とクオータの状況を表示

# quotacheck >使用量をチェック

# quotaon -a,-u,-g,-v   >クオータを有効にする

# quotaoff -a,-u,-g >クオータを無効にする

# edquota  -u,-g,-p, -t(=期間を設定), >クオータの設定

# repquota  -a , -u, -g  >クオータ状況の表示

 

 

FHS、ファイルの配置と検索

/bin /sbin /etc /dev /lib /media /mnt /opt /proc /root /boot /home /tmp /var /usr

/usr/bin /usr/sbin /usr/lib /usr/local /usrshare /usr/src

 

 

ファイル検索

# find /home/sakuravps -type f -mtime -1 >最終更新日時mtimeが過去1日以内に更新されたファイル検索

# find /home/sakuravps -type f -user sakuravps>所有者がsakuravpsであるファイル検索

# find /home/sakuravps -type f -atime +3 >最終アクセスタイム(アクセス)が3日以上実施されていないファイル表示

 

# locate “*.h” >hで終わるファイルの検索

# updatedb >データベースの更新、、、らしい。。。

 

# which ifconfig >コマンドの絶対パスを表示

Capture_2016_08_11_18_16_04_233

Capture_2016_08_16_07_18_13_686

 

# whereis ifconfig  >バイナリとマニュアルの絶対パスを表示

Capture_2016_08_11_18_17_28_213

 

# type コマンドは、実行ファイルか、シェル組み込み関数か、シェルの予約語かという情報を表示する、、、、らしい。。。。

# type cat

# type echo

# type vi

# type for

Capture_2016_08_11_18_19_33_362

 

【4】ファイル管理、プロセス管理

(P.162から)

# gzip -d

# bzip2 -d

# bunzip

# uunzip

# xz -d

 

# tar cvf

# tar xvzf

# tar tf

 

# cpio

# dd

 

# ls -ld

# chmod 644 sample

 

# ln  >リンクの作成

# ln 20160815test1 20160815.link_hard  >ハードリンクの作成

# ln -s 20160815_test1 20160815.link_sym >シンボリックの作成

Capture_2016_08_15_09_57_25_394

i番号が同じ(オリジナルとハードリンク)なので、バックアップになる。。。と思う。オリジナルをいじると同じ内容がハードリンクにもコピーされる。。。

Capture_2016_08_15_10_00_05_151

# ps

# ps ax

 

# kill -KILL 560

 

# free -m  >MB単位

# uname  >OS表示、Linux

 

# nice

# renice

 

# drwxrwxrwt  >最後のその他ユーザの実行権がt、は、スティッキービット。書き込み権限はあっても自分以外のユーザが所有するファイルを削除することはできない。 コマンドは、、、、

# chimod o+t ファイル名

 

# umask  >ファイル「666」、ディレクトリ「777」からumask値を引いた値がデフォルトのアクセス権になる。

下記の場合、ファイルは「664(=666-2)」、ディレクトリは「775(=777-2)」

Capture_2016_08_15_10_23_09_931

 

【3】UNIXコマンドライン

(P.94から)

bachは今や標準のUNIXシェル。

# cat /etc/shells >利用可能なシェル表示

Capture_2016_08_11_02_27_16_282

# cat /etc/passwd  >ログインシェルの一覧表示(rootの最後はbachになっている、sakuravpsも一緒同じ。)

Capture_2016_08_11_02_29_10_749

#  での操作(Ctrl+A行頭へ、Ctrl+E,,,行末へ)

#  での操作(Ctrl+D一文字削除、Ctrl+L表示クリアしてコマンド残し)

# cd ~ >ホームディレクトリへ戻り

Capture_2016_08_11_02_38_48_567

# echo linux

# lpi ‘勉強中です’

# echo lpi

# unset lpi

Capture_2016_08_11_02_44_58_428

# env >環境変数の一覧表示

# printenv >同じ

環境変数とシェル変数、set で両方表示、exportで参照可になる

# echo $PATH  >コマンドが置かれているところを順に見つけ出す

# ifconfig  (下図コマンド結果示す)

Capture_2016_08_15_05_55_30_234

 

# pwd;ls

# pwd && ls >コマンド1が正常終了したらコマンド2をやる

# pwd || ls >コマンド1が正常終了しなかったらコマンド2をやる

# history

# man man  >マニュアル表示

Capture_2016_08_11_03_03_17_973

# man 5 passwd  >設定ファイル表示

# man 1 passwd  >コマンド表示

# man -a passwd >すべてのセクションを表示

# man -f man と #whais man  >同じ結果表示

Capture_2016_08_11_03_09_22_603

# ls -A >ファイル表示だけど、. と..は表示しない

# ls -a >.から始まるものも表示

# ls -d >自身を表示

# ls -F >ファイルの種類も表示、/はディレクトリ

# ls -i >ノード番号も表示

Capture_2016_08_11_03_13_01_548

# cp date.txt data.txt.org >後半の名前でコピー

# mv -f sample.txt ~ > -f 上書き移動

# mv -i sample.txt ~ > -iで、上書きするかどうか確認する

# mkdir A >からのディレクトリを作成

# rm -i A  > -i で、削除前にユーザに確認する

# tee   >出力結果をファイルに書き込む

# cat  >ファイル内容の表示

# nl

# join

# paste -d”;” fileA fileB

# cat fileA | tr ‘a-z’ ‘A-Z’ > fileAを小文字から大文字へ変換して表示

# touch >ファイルのタイムスタンプを変更する

hoge.fileのタイム・スタンプを現在の時間に変更する
$ touch hoge.file

hoge.fileのタイムスタンプを2016年08月15日の20:30に変更する
$ touch -t  2016008152030 hoge.file

Capture_2016_08_15_18_42_47_931

 

 

【2】Linuxのインストール

GRUB = GRand Unified Bootloader

# grub-install -v >GRUBのVer確認

Capture_2016_08_14_15_02_17_277

# cat /boot/grub/grub.conf >の中身が下(grubの設定ファイルが/boot/grub/menu.lstでなく、/boot/grub/grub.confなのでGRUB2というらしい。)

Capture_2016_08_10_16_41_55_802

 

共有ライブラリ P.56

# ldd /bin/cat >必要な共有ライブラリの確認(これはcatコマンドが必要とする共有ライブラリを表示)

Capture_2016_08_10_17_04_21_908

# ldconfig >共有ライブラリを変更した際のキャッシュを更新

 

1.Debianパッケージ管理(Ubuntu) P.61

1)dpkgコマンド

# dpkg -l  >インストール済みの全パッケージを一覧表示、Ubuntuはdebianパッケージ管理

# dpkg -L bash >パッケージに含まれるファイル表示

# dpkg -s bash >パーッケージ情報を表示

2)APTツール

# apt-get update

# apt-get install apache2

# apt-get remove apsche2 >アンインストール

# apr-get dist-upgrade >何でもかんでもupgrqde、消すことあり

# apt-get upgrade >他は削除しない。。

# apt-cache show apache2 の例を示す(Ubuntu)>apache2パッケージ情報の照会、検索

Capture_2016_08_10_17_34_34_660

3)aptitude show

 

2.RPMパッケージ管理(CentOS)

1)rpmコマンド

# rpm -qa | grep vim  >パッケージを調査、vimが含まれるものの表示

Capture_2016_08_14_20_12_33_529

 

#rpm -Fvh ~/rpm/*.rpm   >~/rpmディレクトリ以下にあるrpmパッケージをアップグレードする

# rpm -e httpd  >httpdパッケージをアンインストールする

# rpm -qi bash >パッケージの情報表示

Capture_2016_08_10_17_41_35_795

# rpm -qf /bin/bash >指定ファイルが何というパッケージからインストールされたか?表示する。

Capture_2016_08_10_17_43_40_425

# rpm -qR less >パッケージの依存関係を示す。

Capture_2016_08_10_17_44_55_832

2)YUM(APTツール相当のもの)

/etc/yum.conf のファイル設定

# yum check-update >最新が必要かチェックしてくれる

# yum update >最新にアップデート

Capture_2016_08_10_17_51_42_998

# ls /etc/yum.repos.d/ -l >ディレクトリ以下には、リポジトリ情報の設定ファイルが配置されます

Capture_2016_08_14_20_17_31_694

 

# ldconfig >/etc/ld.so.conf に記述された情報に基づいて /etc/ld.so.cacheファイルを作成する(CentOS,Ubuntu)

 

学習履歴

1回目 2016/08/10

2回目 2016/08/14

 

【1】デバイス情報の確認

教科書P.20

# ls /dev  >デバイス情報の確認

# cat /proc/cpuinfo

# cat /proc/interrupts

# cat /proc/ioports

# cat /proc/meminfo

# cat /bus/usb/*

# cat /bus/pci/*

 

# lspci >デバイス情報

# lspci -vv >デバイス情報の詳細

# lsusb >USBデバイスの情報

 

#lsmod >ロードされているカーネルモジュールの確認

Capture_2016_08_14_09_20_48_811

#modprobe e1000 >ネットワークカードのデバイスドライバe1000のロード

 

# dmseg >カーネルが出力したメッセージを一時的に蓄えておくバッファの内容

# shutdown -h +5 ‘Plesase logout ” >5分後にシステム停止で、ユーザに伝えるとき。。。

# shutdown -h 22:00  >22:00にシステムをシャットダウンする

# shutdown -k now ‘Plesase logout ” >警告メッセージだけを伝えるとき。。。

# shtdown -r now >すぐにshutdown開始

 

1.3 SysViniによる起動、最近はsystemd、Upstartが主流

# vi /etc/inittab

Capture_2016_08_10_15_50_31_862

# runlevel  >シングル・マルチの動作モード確認、N3はマルチモード

Capture_2016_08_14_09_27_57_314

# wall ‘this is test’ >メッセージを全員にbroadcastする

Capture_2016_08_10_15_56_46_488

# /etc/init.d/httpd start >httpdサービスの起動

# /etc/init.d/httpd stop >httpdサービスの終了

 

1.4systemd P.37

(Ubuntuはこれsystemdを使っている、さくらVPSはSysVinit使っている。)

# systemctl status

Capture_2016_08_10_16_11_37_291

↑HyperVで動かしたUbuntuの画面です。

 

章末問題

/etc/init.d/httpd start はSysVinitでのhttpd起動

systemdでの起動は、systemctl start httpd.service

 

1回目 2016/08/10

2回目 2016/08/14