suzukinpの忘備録

AWS/Linux/グルメ

Linux9月_(6)

6.Linuxの基本操作(5)

kill オプション プロセスID

rootはすべての所有者のプロセスをKillできる killはメッセージをプロセスに伝えるコマンド

オプション SIGHUP プロセスを一度静止し、再起動 SIGKILL  プロセスを強制的に停止 SIGTERM プロセスを停止(デフォルト) SIGCONT プロセスの再開 SIGSTOP プロセスの一旦停止

killall コマンド名 例)killall less

ジョブ…1ジョブは1行のコマンド、1つ以上のプロセスからなる、端末内で一意の値 端末が違えば、同じJOB番号が付けられる PIDはシステム内で一意の値

フォアグラウンド…現在ユーザが操作できるジョブ バックグラウンド…裏で動いているジョブ

jobs [-l] -lを付けると、PIDも表示される

結果 [ジョブ番号]+実行中

バックグラウンドジョブをフォアグラウンドにする fg fg %[ジョブ番号]

フォアグラウンドジョブを一時停止する Ctrl + Z

停止中のバックグラウンドジョブをバックグラウンドのままで実行 bg bg %ジョブ番号

実行中のジョブを停止 kill %ジョブ番号

正常終了できなかったジョブを強制終了 kill -9 %ジョブ番号

7.Linuxの基本操作(6)

リダイレクション

標準入力 stdin (0)→キーボードからの入力 標準出力 stdout (1)→ディスプレイへの出力 標準エラー出力 stdout (2)→ディスプレイへの出力

出力リダイレクション→標準出力をディスプレイではなくファイルへ切り替える コマンド > ファイル名 例)echo "Hello" > hello.txt cat hello.txt ファイルにHelloと書き出され、catで確認するとHelloと表示される

コマンド >> ファイル名
例) date >> date.out
   前に書き込んだデータの最後の行に書き込む(上書きしない)

ファイル検索 find /etc/-name"*.cf" →etc配下の.cfのファイルを検索

find /etc -name "*.cf" 2> /dev/null
→エラーを標準エラー出力2で出力し、出力しない→結果のみが表示される

パイプライン コマンドとコマンドを縦棒で接続したもの 例)ps aux | grep systemd 前のコマンドの実行結果を元に、次のコマンドの入力結果を出力する   表示の絞り込みなどで良く使われる この場合、ps auxの実行結果の中からsystemdの文字列を抜き出して表示する

リスト コマンド1 ; コマンド2 → コマンド1が終わり次第コマンド2を実行 コマンド1 & コマンド2 → コマンド1をバックグラウンド実行し、コマンド2を同時実行 コマンド1 && コマンド2 → コマンド1が正常の場合に限りコマンド2を実行 コマンド1 || コマンド2 → コマンド1がエラー終了だった場合、コマンド2を実行

例)ls ~ && echo "OK"
    ls /uso800 || echo "NG"

teeコマンド ディスプレイとファイルに対して同時に出力する コマンド | tee ファイル名 例)top | tee top.log Ctrl + cでtopコマンド終了   cat top.log→topコマンドのログが表示される

エラーリダイレクション エラー出力をリダイレクションする コマンド 2> ファイル 例)ls -l data.out uso800 2> ls.err →data.outは表示され、ls.errはリダイレクションする     例)ls -l date.out uso800 > ls.out 2> ls.err →date.out、ls.errともに各ファイルにリダイレクションする     2つの出力をひとつに片寄せする     コマンド > ファイル 2>&1 例)ls -l date.out uso800 > ls.out 2>&1     →date.outの結果と、uso800のエラーがls.outにリダイレクションする

圧縮 gzip 圧縮するファイル

回答 gunzip ファイル名 gzip -d ファイル名 ※展開先はカレントディレクトリになる

圧縮ファイルの表示 zcat 圧縮ファイル less 圧縮ファイル

tar czvf…gzipで圧縮→xxtar.gz tar cjvf…bzip2で圧縮→xxtar.bz2

アーカイブファイルの作成 tar cvf アーカイブ名.tar ファイル・ディレクトリ… 例)tar cvf bashfiles.tar ~/.bash* .bashの付く複数のファイルがbashfiles.tarとしてアーカイブされる

アーカイブファイルの展開 tar xvf アーカイブ名.tar 例)tar xvf bashfiles.tar   展開されて複数のファイルになる

tarballの作成 tar czvf tarball名.tar.gz ファイル・ディレクトリ tar czvf tarball名.tgz ファイル・ディレクト

tarballの解凍 tar xzvf 解凍するtarball名.tar.gz tar xzvf 解凍するtarball名.tgz

例)tar czvf www.tar.gz /var/www tar xzvf www.tar.gz

BZIP2 例)gzip -v data1 bzip2 -v data2

8.Linuxの基本操作(7)

ファイルシステムのマウント マウント先のディレクトリ→マウントポイント

ファイルシステム CentOSはXFS

/ ← mount XFS Boot← mount XFS

マウント mount -t ファイルシステム形式 -o オプション デバイス名 マウントポイント mount -t vfat /dev/sdb1 /media

マウントオプション

auto | noauto

nouser  | user rootのみ | 一般ユーザも可

rw     | ro 読み書き可 | 読み取り専用

アンマウント umount デバイス名 umount マウントポイント

umount /media umount /dev/cdrom

/etc/fstab ファイル 必要な事項を記入すると、OS起動時に自動でファイルシステムをマウントしてくれる

dfコマンド df…現在マウントされているシステムの一覧を表示する オプション -h…容量や使用量が単位付きで表示される -i…ファイル数(i-nodeの数)を表示する

RPMパッケージ管理

インストール ①tarballファイル入手後 展開→インストール 難しい ②パッケージ管理ツール(RPMパッケージ)  ↓ ③yumコマンドによるインストール 簡単

パッケージの照会 rpm -qi パッケージ名 rpm -ql パッケージ名 rpm -ql ファイル名

アプリケーションのインストール rpm -ivh RPMファイル名

依存関係 rpm -Uvh パッケージ名 rpm -Fvh パッケージ名 --nodeps→依存関係を無視する --force→強制的に上書き

アプリケーションのアンインストール rpm -e パッケージ名

yumを使った更新

利用者がyumコマンドを使用してパッケージを指定すると、リポジトリサーバを検索して最新のパッケージをインストールする パッケージのバージョンを指定しなくても自動的に最新のパッケージをインストール

/etc/yum.repos.d/ ls /media/Packages/wireshark-1.10.14-14.el7.x86_64.rpm ls /media/Packages/wireshark-gnome-1.10.14-14.el7.x86_64.rpm rpm -qi bash rpm -ql bash rpm -qf /usr/bin/cd ls /etc/yum.repos.d/ vi /etc/yum.repos.d/CentOS-Base.repo yum -y install epel-release yum repolist

yumのオプション

-y 全てyes clean all ダウンロードしたファイルや作業データの削除

8.5 確認問題

mount -t vfat /dev/sdb1 /media →USB(sdb1)をマウントする df →USB(sdb1)がマウントされた事を確認する

rpm -ivh --nodeps /media/Packages/wireshark-1.10.14-14.el7.x86_64.rpm rpm -ivh --nodeps /media/Packages/wireshark-gnome-1.10.14-14.el7.x86_64.rpm rpm -ivh --nodeps /media/Packages/libsmi-0.4.8-13.el7.x86_64.rpm →依存関係を無視してrpmで3つインストール

yum -y install wireshark rpm -e libsmi rpm -e --nodeps libsmi rpm -ivh /media/Packages/libsmi-0.4.8-13.el7.x86_64.rpm