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)
ファイルシステムのマウント マウント先のディレクトリ→マウントポイント
/ ← 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