##演習
egrep -v '^#|^\s*#' /etc/httpd/conf/httpd.conf | sed '/^$/d' > clean.conf
##ショットカットキー
• Ctrl + A: 行の先頭に移動
• Ctrl + E: 行の最後に移動
• Ctrl + F: カーソルを右に移動
• Ctrl + B: カーソルを左に移動
• Ctrl + D: カーソル部分の文字を削除
• Ctrl + H: カーソルの左の文字を削除
• Ctrl + U: カーソルから行頭までの文字を削除
• Ctrl + K: カーソルから行末までの文字を削除
• Ctrl + W: カーソル位置の単語を削除
• Ctrl + Y: 直前に削除した文字を張り付け
• Ctrl + L: 画面をクリアにする
• Ctrl + S: 画面をロック
• Ctrl + Q: 画面のロックを解除
##manコマンド
キー操作
• q: 終了する
• d: 半分画面を進む
• u: 半分画面を戻る
• f: 1画面進む
• b: 1画面戻る
• g: 行頭まで移動
• G: 行末まで移動
• 100G: 100行目に移動
• /: 前(下)方向に検索(n: 下方向へ次のものを検索、N上方向へ次のものを検索)
• ?: 後(上)方向に検索(n: 上方向へ次のものを検索、N下方向へ次のものを検索)
##viコマンド
入力モードに移動
iキー: 現在のカーソル位置に文字を入れる
Aキー: カーソル位置の行の最後に文字を入れる
Oキー: 前の行に文字を入れる
oキー: 後ろの行に文字を入れる
コマンドモードの操作
x: 1文字削除
dd: 1行削除
d100d: 100行削除
y: 行コピー
p: コピーした行のペースト
y100y: 100行コピー
G: 最終行へ移動
100G: 100行目に移動
/ 下方向に検索、 ?上方向に検索
:q! ファイルを保存せずに閉じる
:w ファイルを保存、viは終了しない
:wq ファイルを保存して終了
##dpkg
dpkg –i(--install) パッケージ名: パッケージ をインストール
dpkg –r(--remove) パッケージ名: 設定ファイルを残してパッケージを削除
dpkg –p(--purge) パッケージ名: 設定ファイルを含めてパッケージを削除
dpkg –l(--list): インストール済みのパッケージ一覧を表示
dpkg –L(--listfiles) パッケージ名: パッケージによってインストールされたファイル一覧を表示
dpkg –I(--info) アーカイブ名: 指定したパッケージのアーカイブ情報を表示
dpkg –c(--contents) パッケージ名: パッケージに含まれるファイル一覧を表示
dpkg –C(--audit) パッケージ名: パッケージのインストール状態の確認
dpkg –s(--status) パッケージ名: パッケージの詳細情報を表示
dpkg –S(--search) パッケージ名: 指定した文字列に一致するパッケージを表示その他オプション
dpkg –E: 同じバージョンがインストール済みの場合はインストールしない
dpkg –G: システムにインストールされているパッケージが最新の場合、インストールしない
dpkg-reconfigure: すでにインストールされたdebパッケージの状態を再設定できる。対話的にパッケージを再設定する。
##APT
オプションは以下
-d ダウンロード
-s シニュレート
apt-get autoclean: ダウンロードしたパッケージから最新版以外を削除
apt-get clean: ダウンロードしたパッケージを削除
apt-get install パッケージ名: パッケージをインストール
apt-get remove パッケージ名: パッケージを削除
apt-get update: パッケージリスト情報を最新に更新
apt-get dist-upgrate: ディストリビューションを最新版にアップグレード
apt-get upgrade: 全パッケージを最新版にアップグレード
apt-cache search キーワード: 指定したキーワードを含むパッケージを検索
apt-cache show パッケージ名: パッケージ情報の表示
apt-cache showpkg パッケージ名: パッケージに依存したパッケージ一覧を表示
apt-cache depends パッケージ名: パッケージが依存したパッケージ一覧を表示
##aptitude: apt-get以上に高度なパッケージ管理ができ、対話的なパッケージ管理ができるコマンド
aptitude search 検索ワード: 指定した検索ワードでパッケージを検索する
aptitude show パッケージ名: パッケージ情報の表示をする
aptitude update: パッケージリストを最新版に更新する
aptitude install パッケージ名: 指定したパッケージのインストール
aptitude remove パッケージ名: 指定したパッケージを設定ファイルを残して削除
aptitude purge パッケージ名: 指定したパッケージを設定ファイルを含めて削除
aptitude download パッケージ名: 指定したパッケージをダウンロード
aptitude upgrade: システム内のパッケージをアップグレードするが、依存関係に問題がある場合は更新をしない
##RPM
rpm –i(--install): パッケージをインストール
rpm –U(--upgrade): パッケージをアップグレード(存在しない場合インストールする)
rpm –F(--freshen): パッケージをアップグレード(存在しない場合インストールしない)
–h(--hash): インストールの進捗状況を表示
–v: 詳細情報を表示
–-nodeps: 依存関係を無視してインストール
-–prefix: インストールするディレクトリを指定
–-relocate: インストール済みのパッケージをディレクトリ変更して再インストール
rpm –e(--erase): パッケージを削除
--nodeps: 依存関係を無視
rpm –q(--query): パッケージがインストールされているか確認する
-a(--all): インストール済みの全パッケージを表示
-l(--list): パッケージに含まれるファイル一覧を表示
-i(--info): パッケージの詳細情報を表示
-f(--file) ファイル名: 指定したファイルを含んでいるパッケージを表示
-d(--docfiles)ファイル名: 指定したパッケージファイルのドキュメントを表示
-K(--checksig)ファイル名: 指定したパッケージファイルのダイジェスト値を表示
-p(--package) ファイル名: 指定したパッケージファイルの情報を表示
--changelog: パッケージの更新履歴を表示
rpm –V(--verify): パッケージを検証
--nomd5: md5sumチェックによるファイル改竄の検査をしない
-a(--all)インストール済みの全パッケージを対象とする
rpm2cpio: RPM (RPM Package Manager)パッケージから cpio アーカイブを 抽出する
rpm2cpio パッケージ名 | cpio –-list RPMパッケージからcpioアーカイブを抽出し、cpioアーカイブから各ファイルを抽出する
##yum
/etc/yum.conf: yumで使用する設定ファイル
yum check-update: アップデート可能なパッケージを表示
yum update パッケージ名: 指定したパッケージをアップデート(パッケージ名を省略した場合はupdate可能なもの全てupdate)
yum install パッケージ名: パッケージをインストール
yum remove/erase パッケージ名: パッケージをアンインストール
yum info パッケージ名: パッケージの情報を表示
yum list: 全パッケージを表示
yum list installed:インストール済のパッケージ
yum list updates: アップデート可能なパッケージを表示
yum search: 指定したパッケージを検索
yum groups list: パッケージグループの一覧を表示
yum groups install: 指定したグループをインストール
/etc/yum.repos.d/: yumコマンドで使用されるリポジトリ情報が格納される。RPMリポジトリのダウンロード先を追加したい場合は、ファ
イルをこのディレクトリに追加する。リポジトリとはパッケージの保存場所。このディレクトリ内の情報を元にパッケージをインストール
する
yumdownloader: RPMパッケージをインストールせずにダウンロードのみを行うコマンド。
yumdownloader –-source: RPMでなくソースファイルをダウンロードする
##uname: カーネルの情報を表示するコマンド
-a: すべての情報を表示する
-m: ハードウェアアーキテクチャのみ表示
-r: バージョンのみ表示
##cat:ファイルの中身を標準出力に表示
-n: すべての行に行番号をつけて表示
-b: 空白以外の行に行番号をつけて表示
##cut:ファイルから一部を抽出して出力
-c : 抽出する文字を指定
-d : デリミタ 区切り文字 を指定
-f : 抽出するフィールド番号を指定
##expand:タブをスペースに変換するコマンド
##unexpand: スペースをタブに変換するコマンド
##less, more:ファイルの中身を閲覧するコマンド
##fmt: テキストを整形する
-s: 行分割のみ実行
-u: 単語間のスペースを 1 スペースに整形
-w: 1 行あたりの出力桁数を指定
##pr: 印刷用にファイルの書式を整形するコマンド
##head:ファイルを先頭から表示する
-n 行数 : 先頭から行数分表示
-行数 : 先頭から行数分表示(推奨しない)
-c バイト数 : バイト数だけ先頭から表示
##tail:指定したファイルの末尾から表示
-n 行数 : 末尾から行数分表示
-行数 : 末尾から行数分表示
-F: ファイルの末尾に追加されるテキストをリアルタイムに表示 ファイルが上書きされるとストップ
-f: ファイルの末尾に追加されるテキストをリアルタイムに表示 ファイルが上書きされてもストップしない
-c: バイト数分末尾から表示
##od:ファイルの形式を 8 進数の形式でダンプする
##sed:ファイルの編集を行うコマンド
-e: 引数をコマンドとして処理
-f: 引数をスクリプトファイルとして処理
-i : ファイルを直接編集し上書き
d:行削除
s:指定したパターンで変換 最後に g をつけると一致した文字列全て変換
##tr:文字列の変換、消去するコマンド
-d: 指定した文字列の削除
-s: 連続した文字列を一つにする
##sort:ファイルの行の並び替えをする。
-t デリミタ >: 指定した文字をデリミタ 区切り とする
-k n: n 番目をソート対象とする
-b: 行頭の空白を無視
-f: 大文字 小文字を区別しない
-n: 数字を文字でなく数値として認識
-r: 降順にソートする
##uniq: ソート済みの文字列から重複行を削除
-i : 大文字小文字を区別しない
##split:ファイルを分割するコマンド
-b: バイト数を指定してファイルを分割
-l: 行数を指定してファイルを分割
##joinファイル 1 ファイル 2: ファイル 1 とファイル 2 から重複する行を表示する
##paste:ファイルを行ごとに連結するコマンド
-d デリミタ : 区切り文字を指定
##nl: ファイルに行番号をつけて表示
##wc: ファイルのサイズを表示するコマンド
-c: 文字数を表示
-l: 行数を表示
-w: 単語数を表示
##tar:ファイルをまとめて圧縮する or 解凍するコマンド
–c: 圧縮する
–f: アーカイブファイル名を指定
-t: アーカイブファイルの内容を表示
-v: 処理したファイルの一覧を詳細に出力
-x: 解凍
-z: gzip で圧縮、解凍
-j: bzip2 で圧縮、解凍
-J: xz で圧縮、解凍
##ps: 実行中のプロセスを表示する
-a: すべてのプロセスを表示 × a, 〇 A)
-f: プロセスをツリーで表示
-p プロセス ID: プロセスを指定して表示
-u: プロセスを実行しているユーザの表示
-e: コマンドの後の環境変数などを表示する
##kill:プロセスにシグナルを送信する
-1( SIGHUP) プロセス ID: 再起動
-2( SIGINT) プロセス ID: 割り込み ctrl+C
-9( SIGKILL) プロセス ID: 強制終了
-15( SIGTERM) プロセス ID: 終了
-19( STOP): 一時停止
##正規表現
. ⇒ 任意の一文字
* ⇒ 直前の文字の 0 回以上の繰り返し
? ⇒ 直前の文字の 0 回、 1 回
+ ⇒ 直前の文字の 1 回以上の繰り返し
[] ⇒ []で囲んだ文字の一文字
[a-z] ⇒ a-z までの文字
[^a] ⇒ a以外
() ⇒ ()内の文字を一文字として扱う
{n} ⇒ 直前の文字の n 回繰り返し
{min, max} ⇒ 直前の文字の min 以上 max 以下の繰り返し
^ ⇒ 行の先頭
$ ⇒ 行の末尾
\ ⇒ 次の文字を正規表現とする。
\t ⇒ タブ
\n ⇒ 改行
| ⇒ いずれか複数の条件
##grep:文字列と正規表現を用いて検索するコマンド
-v: 特定の文字列を含まない行を抽出
-E: 正規表現を持ちいて文字を抽出
-F: 正規表現を利用しない
-n: 行数を付加して抽出
-i: 文字列の大文字と小文字を区別しない
##egrep: 正規表現を用いて文字列の検索をする。 (grep E と同様
-n: 行数も表示
-v: 検索文字列を含まない行を抽出
-i: 文字列の大文字と小文字を区別しない
##fgrep: 正規表現を利用しない (grep F と同様
##find:ディレクトリ、ファイルを検索するコマンド
-name: 指定した文字列を含むファイルを検索
-atime : 最終アクセス日で検索
-mtime : 最終更新日で検索
-perm: アクセス権で検索
-size: ファイルサイズで検索
-user: ファイルの所有者で検索
-type: ファイルのタイプで検索
-maxdepth 検索する最大のディレクトリの階層を指定
-mindepth 検索する最小のディレクトリの階層を指定
-exec コマンド {}: 検索結果のファイルにコマンド実行
##which:指定したコマンドの存在するディレクトリの表示
##locate:データベースを元にファイルを検索 updatedb でデータベースを更新 etc updatedb.conf にupdatedb の設定を記載 。 find より高速
##whereis: 指定したコマンドのバイナリ、ソースファイル、マニュアルの存在位置を表示するコマンド