UNIX †
コマンド | 説明 |
. <FILE> | ファイルの再読み込み。sourceコマンドと同じ |
authconfig | パスワードの制限、パスワードの最小文字数、記号特殊記号、大文字含まれるなどの制限を行う |
awk | 文字列操作、必要なフィールドの文字列を切り出す |
bc | 計算を行う |
chkconfig | 起動スクリプトの管理(サービスの起動登録) |
crash | コアファイルの解析 |
curl | 引数で指定したURLの結果(ソース)を表示。-LIでヘッダー情報(ステータスコード)の確認 |
dd | ファイルをコピーする(巨大ファイル作成する場合などに使う) |
dmesg | メモリ、CPUなどハード構成確認 |
dig | ドメイン情報確認(bindに付属するコマンド) |
dumpe2fs | ext2/ext3/ext4ファイルシステムの情報表示 |
ethtool | NICの設定情報を確認したり、設定変更する。ethtool <NIC名> |
file | ファイルのフォーマットを確認する |
find | ファイル検索 |
free | メモリの使用量を確認する |
gdb | プログラムのデバッグ |
grep | ファイルに対してパターンマッチにより文字列抽出 |
hostnamectl | ホスト名の割り当て hostnamectl set-hostname --static HOSTNAME |
iconv | ロケールの仕組みにのっとった正統派文字コード変換コマンド |
iostat | 各ディスクデバイスのI/Oを表示 |
ipcs | 共有メモリサイズ、セフォマ配列、メッセージキューの情報表示 |
ipcrm | 共有メモリの削除 |
localeclt | ロケール情報表示、設定変更。言語設定:localectl set-locale LANG=ja_JP.utf8 キー配置:localectl set-keymap jp106 |
logrotate | ログをローテーションさせる |
lsblk | ブロックデバイスを一覧表示する |
lsof | プロセスが開いているファイルを確認する |
ltrace | 共有ライブラリの関数呼び出しをトレースする。straceと同じオプションと思われる |
netstat | 接続中ポートなどネットワーク状況確認 |
nkf | 文字コード操作。--guess でファイルの文字コード確認 |
mpstat | 各CPUコアの使用率 |
ps | プロセス状態確認 |
pstack | コールスタック状況を確認 |
rpm | パッケージ管理 |
perl | 文字列操作 |
pidstat | プロセス単位の各種リソース情報 |
pmap | ユーザープロセスの論理アドレスにマッピングされているメモリ情報参照 |
rear | OS標準のバックアップ。ISOイメージを作成する。(例) rear -v -C "バックアップ定義" mkbackup |
sar | リソース状態確認 |
sed | 文字置換 |
slabtop | Slab Cacheの情報表示。-o で1回だけ表示 |
snmp | 様々な情報取得・設定 |
snoop | パケットキャプチャー(Solaris) |
smartctl | HDDの状態確認 |
sort | 先頭から文字列を比較し並び替える |
stat | ファイルの統計情報(アクセス時間や、更新時刻をミリ秒単位で表示) |
strace | プログラムのトレース。strace -p <PID>で実行中のプロセスのトレース。共有ライブラリのトレースはltraceを使う |
strings | バイナリファイルなどの中に文字化して表示可能な文字を表示する |
su | su - <UID> -c "コマンド"で指定ユーザーでコマンド実行(rootのみ) |
sysctl | カーネルパラメータの操作。-aで設定内容表示。-pで/etc/sysctl.confの設定反映。-w パラメータ名=値 でパラメータ変更 |
systemctl | サービスを制御する。serviceコマンドの後継 |
swap | スワップファイルの表示・追加・削除 |
tar | tarコマンドによるディレクトリのコピー: tar -cvf - [コピー元のディレクトリ] | tar -xvf - -C [コピー先のディレクトリ] 特定ファイル(ディレクトリ)を除外する --exclude FILE |
taskset | プロセスのCPU親和性確認や、設定を行う |
tcpdump | パケットキャプチャーの取得 |
timedatectl | タイムゾーン設定 timedatectl set-timezone Asia/Tokyo |
top | プロセスの稼働状況をリアルタイムに表示する |
truss | プログラムのトレース取得(openしてるファイルなど)。truss -vall -p <PID> で実行中のPIDの状態が確認可能(Solaris) |
ulimit | コマンドに割り当てるリソースを制限する(恒久的に設定するには、/etc/security/limits.conf)に設定する |
valgrind | メモリリークを調査する。(例) valgrind --tool=memcheck --leak-check=yes プログラム名 |
vmstat | メモリ、I/O、平均CPU使用率などを表示 |
watch | 定期的にコマンドを実行し続ける |
xargs | コマンドの結果を引き継いで処理を行う |
yum | インターネット経由でパッケージのインストール |
6系⇔7系比較 †
RHEE7 から net-tools がデフォルトでインストールされてない。廃止予定なので、iproute2パッケージのコマンドを覚える方がよい
引数の文字列を省略することも可能。ip address ⇒ ip a
6系 | 7系 |
service | systemctl |
netstat | ss |
ifconfig | ip address(ip a) |
route | ip route(ip r) |
arp | ip neigh(ip n) |
ファイル or ディレクトリ | 説明 | S | L |
/etc/anacrontab | 自動実行ジョブの設定ファイル | | ○ |
/etc/crontab | システムで実行されるcronの設定。1時間毎、日時、週次、月次で処理されるように設定されている。 既定ではrun-partsコマンドにて指定したディレクトリ内のスクリプトを実行するように設定されている | | ○ |
/etc/chrony.conf | NTPの設定。RHEL7以降のデフォルト | | ○ |
/etc/cron.d/* | /etc/crontabとは独立(環境変数などを継承しない)した環境で実行される。ただし書式はcrontabに従う(ユーザー名の記述が必要) ファイルのUIDはrootでroot以外に書き込み権限が付与されてはいけない | | ○ |
/etc/defaultrouter | デフォルトゲートウエイの設定 | ○ | |
/etc/default/useradd | useraddコマンドでのデフォルト設定 | | ○ |
/etc/inittab | システム起動の設定 | ○ | ○ |
/etc/logadm.conf | ログローテーション設定 | ○ | |
/etc/logrotate.conf | ログローテーション設定 | | ○ |
/etc/nsswitch.conf | 名前解決の順序を指定するファイル | ○ | ○ |
/etc/pam.d/ | PAMモジュールの指定と設定ファイルを格納 | | ○ |
/etc/resolv.conf | 名前解決のDNSサーバー指定 | ○ | ○ |
/etc/security/access.conf | PAM認証によるアクセス制限を定義 | | ○ |
/etc/security/limits.conf | 全ユーザーのリソース制限の設定 | | ○ |
/etc/ssh/sshd_config | SSH設定ファイル | ○ | ○ |
/etc/sysconfig/network | ホスト名とデフォルトゲートウェイ | | ○ |
/etc/sysconfig/network-scripts/ | NIC設定ファイル(ifcfg-<IF名>)及び、ルーティング設定ファイル(router-<IF名>)を格納 | | ○ |
/etc/sysconfig/i18n | 文字エンコード種類 | | ○ |
/etc/rsyslog.conf | シスログの設定 | ○ | ○ |
/etc/yum.repos.d/ | yumパッケージの設定ファイル | | ○ |
/usr/lib/tmpfiles.d/ | 自動で作成削除されるファイルを制御する(RedHat7以降) | | ○ |
/proc/meminfo | メモリの使用量確認 | | ○ |
/proc/sys/vm/drop_caches | 1〜3 の何れかの値をechoで当該ファイルに書き込むことでキャッシュクリアが可能 1:ファイルキャッシュ、2:dentry_cache、inode_cache、3:1と2の両方クリア | - | ○ |
プロセスの/proc †
/proc/<PID>/配下にあるファイルからプロセス毎の情報が確認できる
ファイル or ディレクトリ | 説明 |
cmdline | プロセスのコマンドライン |
cwd | カレントディレクトリのシンボリックリンク |
status | プロセスメモリ使用量などの統計情報。 VmHWMがプロセスが実際に使用している物理メモリサイズ |
limits | 制限。ulimit -a コマンドで確認できる値とか |
特殊な変数 †
変数 | 説明 |
$* | 全引数 |
$@ | 全引数(それぞれの引数がダブルクォーテーションで囲まれる) |
$_ | ファイルから読み込んだレコードが入っている |
$. | 処理中のレコードの行数。 |
$? | シェルが最後に実行したコマンドの終了状態を保持 |
$status | シェルが最後に実行したコマンドの終了状態を保持(csh) |
$0 | 実行シェル。test.sh 1 2 で実行した場合、$0はtest.shになる |
$$ | 現在のシェルのプロセス番号を保持 |
$(コマンド) | コマンドの出力結果を挿入する (例) mkinitrd -f /boot/initramfs-$(uname -r).im $(uname -r) |
$#argv | 引数の数(csh) |
$# | 引数の数(bash) |
@変数 | 演算可能な変数(csh) |
let 変数 | 演算可能な変数(bash) |
$PIPESTATUS[@] | パイプで繋いだ戻り値を全て表示 |
リダイレクト †
説明 | sh系 | csh系 |
標準出力 | cmd > file | cmd > file |
標準出力追記 | cmd >> file | cmd >> file |
標準出力のみ出力 | cmd 1> file 2> /dev/null | ( cmd > file) >& /dev/null |
標準エラーのみ出力 | cmd 2> file | ( cmd > /dev/null ) >& file2 |
標準エラーと標準出力 | cmd 1> file 2>&1 | cmd >& file |
cshの場合の以下の設定が可能。
「set -o noclobber」で上書きリダイレクトの禁止
「set +o noclobber」で上書きリダイレクトの許可
正規表現 †
文字 | 説明 |
. | 任意の1文字 |
* | 直前の文字に続く0回以上の繰り返し |
+ | 直前の文字に続く1回以上の繰り返し |
? | 直前の文字がないか、1文字のみ |
[] | []内で何れかの文字に一致。[]内での^は否定となり不一致の解釈となる |
A|B | 文字列Aまたは、文字列Bに一致 |
() | 文字列のグループ化。()に合致する文字列が$1になる。()の数が増えた分、$1 $2と後方参照される数が増える。 (ab|12)+34 とすると直前の1文字が、直前のabまたは12となる。ab34|ab12と一致 |
(?:〜) | 〜の文字列をグループ化するが、後方参照として記録しない(速度が速くなる) |
\1〜9 | ()でグループ化した毎の文字列が入ってる。\1は1つ目の() |
{n} | 直前の文字n回の繰り返し |
{n,} | 直前の文字n回以上の繰り返し |
{n,m} | 直前の文字n〜m回の繰り返し |
\w | 文字、数値、アンダースコアに一致。[_a-zA-Z0-9] |
\W | 文字、数値、アンダースコア以外。[^_a-zA-Z0-9] |
\d | 数値。[0-9] |
\D | 数値以外。[^0-9] |
\s | 空白。[ \t \r\f] |
\S | 空白以外。[^ \t \r\f] |
\b | 単語境界。\bweb\bとした場合、webは一致するが、websiteは不一致 |
A(?=B) | ABの文字列の場合に一致し、Aだけを一致文字列とする(肯定先読み)※AとBは共に正規表現使用可能 |
A(?!B) | ABの文字列以外の場合に一致し、Aだけを一致文字列とする(否定先読み) |
(?<=A)B | ABの文字列の場合に一致し、Bだけを一致文字列とする(肯定戻り読み) |
(?<!A)B | ABの文字列以外の場合に一致し、Bだけを一致文字列とする(否定戻り読み) |