:: UNIX/Linux系コマンド一覧

/ , , / WEB制作・開発

LINUXコマンドを、必要都度調べていたけれどそれもめんどうだったので、自分なりに使いやすいように色々なサイトを参照して自分にとって一番分かりやすいように一覧にまとめた。

Tips: du -h  /usr/  –max-depth=1 ※ディレクトリ(/usr/)は適宜変更

※ctrl + Fでページ内検索でコマンド詳細まで飛んでください。

 

Linux 記号

 

divider” title=”> >> 2>&1

リダイレクト。> は書き出し、 >> は追記、1 は標準出力, 2 は標準エラー出力

hoge < file 標準入力を file から読み込む
hoge > file 標準出力を file に書き出す
hoge 2> file 標準エラー出力を file に書き出す
hoge >file 2>&1 標準出力と標準エラー出力を file に書き出す
hoge >> file 標準出力を file に追記
hoge 2>> file 標準エラー出力を file に追記
hoge >> file 2>&1 標準出力と標準エラー出力を file に追記
hoge 2>&1 | fuga 標準出力と標準エラー出力をコマンド fuga の標準入力に渡す

 

divider” title=”$$

プロセス ID を表すシェルの変数。sh 系・csh 系を問わず、あらゆるシェルで利用可能。

 

divider” title=”; & && ||

「;」「&」「&&」「||」は同じ仲間で、複数のコマンドの間にこれらの文字を挟むといろいろな動作をさせることができる。複数のコマンドを ; (セミコロン) でつなぐと、前のコマンドが終わり次第、次のコマンドが実行される。

hoge ; fuga hoge が終わったら fuga を実行
hoge & hoge をバックグラウンドで実行
hoge && fuga hoge が成功したら fuga を実行
hoge || fuga hoge が失敗したら fuga を実行

 

divider” title=”~

チルダは自分自身のホームディレクトリ・もしくは特定ユーザのホームディレクトリに展開される。

 

divider” title=”{}

{} は主に 3つの使われ方をする。1.変数の区切りを表すもの、2.ブレース展開、3.グループコマンドである。

 

 

Linux コマンド一覧

 

alias – エイリアスの作成
apropos – whatisデータベースの文字列検索
arp – ARPテーブルの表示・設定
awk – 特定フィールドの取り出し
cal – カレンダーを表示
cat – ファイルの表示・連結
chage – パスワードの有効期限を設定
chkconfig – init.dスクリプトの追加
chmod – ファイルのパーミッションを変更
chown – ファイルの所有者を変更
chsh – デフォルトシェルの変更
convert – 画像のサムネイルを作成
cut – 特定のフィールドを切り出して表示
date – 日時の表示と設定
dd – ファイルのコピーやイメージの作成
df – ディスクの使用量を調べる
diff – ファイルの違いを調べる
digコマンド – DNS情報を調べるには
dircolors – lsコマンドのカラー設定
dirs – ディレクトリスタックの表示
dmidecode – ハードウェア構成情報
du – ディスクの使用量を調べる
edquota – quotaの編集
env – 環境変数を設定してコマンドを実行
ethtool – リンク速度やduplexモード、autonegotiationの設定変更
expand – ファイル内のタブをスペースへの変換
export – 環境変数の設定
fdformat – フロッピーのフォーマット
find – ファイル検索コマンド
finger – ユーザ情報を表示
fsck – ディスクの検査と修復
fuser – ポートを使用しているプロセスIDを調べる
gpasswd – 既存グループへのユーザの追加
grep – 文字列の検索
groupdel – グループの削除
grpck – グループファイルのチェック
hdparm – ディスクパラメータの表示と設定
head – ファイルの先頭部分を表示
hostname – ホスト名の設定
hwclock – ハードウェアクロックの設定
iconv – 文字コードの変換
id – ユーザのUIDやGIDを表示
identify – 画像情報の表示
indexmaker – MRTGのインデックスページの作成
iptables-restore – iptablesの設定を復元する
iptables-save – iptablesの設定を保存する
lastcomm – コマンドの実行履歴を参照
ldd – コマンドがリンクしているライブラリの表示
lha – lzh形式ファイルの圧縮・解凍
ln – リンクの作成
locate – ファイルの高速検索
ls – ディレクトリ内のファイル一覧を表示
lsof – ファイルを開いているプロセス情報の表示
lspci – デバイス一覧を表示
lwp-request – コマンドラインユーザエージェント
lynx – テキストベースブラウザ
makewhatis – whatisデータベースを生成
md5sum – MD5メッセージダイジェストのチェック
mkbootdisk – ブートディスクの作成
mkinitrd – initrdイメージの作成
mknod – 特殊ファイルの作成
mkpasswd – パスワード自動生成コマンド
mount – ファイルシステムのマウント
netstat – ネットワークの情報を表示
newaliases – エイリアスファイルの再構築
nl – 行番号を付ける
nohup – ログアウトしてもプログラムを継続させるには
nslookup – IPアドレスからホスト情報を調べるには
ntpdate – ntpサーバとの時間の同期
ntsysv – サービスの起動設定
paste – ファイルを行にて連結
pidof – プログラムのプロセスIDを調べる
popauth – APOPユーザの設定
popd – ディレクトリスタックの削除
procinfo – /proc以下からシステムの状況を表示
pstree – プロセス一覧をツリー形式で表示
pushd – ディレクトリスタックへの追加
pwck – パスワードファイルのチェック
pwunconv – シャドウパスワードの非シャドウ化
quotacheck – quotaファイルのチェックと修復
モジュール関連コマンド – lsmod insmod modprobe depmod rmmod
passwd – ユーザパスワードの変更
repquota – quota情報の一覧表示
rmdir – ディレクトリの削除
rpcinfo – RPCサービスの一覧を表示
rpm – RPMパッケージの操作
rpmbuild – RPMを作成
runlevel – 現在のランレベルを表示
sar – 10分毎のシステム稼動状況を表示
saslpasswd – saslデータベースへのユーザ登録
saslpasswd2 – saslデータベースへのユーザ登録
scp – ファイル転送コマンド
script – 入力コマンドやその出力結果をログに記録
sed – ストリーミングエディタ
seq – シーケンス番号の表示
service – サービスの起動と停止
setenv – 環境変数設定
setquota – コマンドラインでquotaを設定
shasum – メッセージダイジェストの生成及びチェック
showmount – NFSサーバのマウント情報の表示
smbmount – ファイル共有
smbpasswd – samba パスワードの変更
smbstatus – sambaのステータスをチェック
snmpconf – snmpd.confの作成
snmpwalk – MIBツリーの値を順次取得
sort
ssh-keygen – SSH鍵の作成及び管理
stat – ファイルのステータスを表示
su – ユーザの切り替え
sync ディスクキャッシュの強制書き出し
sysctl – カーネルパラメータの設定
tac – ファイルの内容を逆順に表示
tail – ファイルの終わりを表示
tar – アーカイブを作成
tcpdump – ネットワークを流れるトラフィックのチェック
time – コマンドの実行時間を計測
top – 現在のシステムの状況を表示
touch – ファイルのタイムスタンプを変更
tree – ツリー形式にてファイルを表示
type – コマンドの種類を表示
ulimit – システムリソースを制限する
umask – マスク値の設定
uname – システム情報を表示
unexpand – ファイル中のスペースをタブに変換
unset – シェル変数の削除
up2date – パッケージ管理コマンド
updatedb – locateコマンドで使用するデータベースの更新
useradd – ユーザの追加
userdel – ユーザの削除
vacation – 自動返信メールの送信
vipw – パスワードファイルを編集する
visudo – sudo設定ファイルの編集
vmstat – プロセスなどの稼動状況のレポート
wc – ファイルの行数、単語数、サイズを調べる
wget – ファイルをダウンロード
whereis – コマンドのパスを調べる
whois – ドメインの登録情報を見るには
write – ログインしている他のユーザにメッセージを送る
yum – パッケージのアップデート
zip/unzip – zipファイルの圧縮・解凍

 

 

Linux コマンド詳細

 

divider” title=”alias

エイリアスの作成

コマンドとオプションを別名で登録することができる。分かりやすく言うとショートカットみたいな感じ。

[書式]
$ alias [名前[=コマンド]]

[使用例]
$ alias
$ alias l=’ls -CF’
$ alias la=’ls -A’
$ alias ll=’ls -l’
$ alias ls=’ls –color=auto’

通常はbashファイルに記述しておく。
$ source ~/.bashrc

 

divider” title=”apropos

コマンド名を忘れたり正確なつづりが分からなくなった場合に使うコマンド。

[書式]
$ apropos ***

[使用例]
$ apropos password

 

divider” title=”arp

ARPキャッシュを操作するコマンド。

[書式]
$ arp [オプション] [ホスト]

[オプション]
-v メッセージを表示する
-n ホスト名,ポート名,ユーザー名を解決せずに番号で表示する
-H タイプ 対象とするクラスを指定する。クラスにはether,arcnet,pronet,ax25,netromなどのネットワークを指定できる
-a ホスト名 指定したホストに対しての情報を表示する
-d ホスト名 指定したホストのエントリーをすべて削除する
-D ハードウェア・アドレスを利用する
-i インタフェース 指定したインタフェースを選択する
-s ホスト名 ハードウエア・アドレス ARPアドレスのマッピング・エントリを手作業で設定する
-f ファイル名 指定したファイルの指定アドレス情報を利用する

[使用例]
$ arp -a ※arpの表示
$ arp -s ※arpの追加

 

divider” title=”awk

主に特定のフィールドを取り出す際によく使用される。

例えば、、、

1. テキストを1行読み込んで、
2. 読み込んだ行を空白区切りのデータと解釈して、
3. 何らかの処理を行う。

以上の動作を行末まで繰り返す。
1、2の動作はawkが自動的に処理する。
3の部分を自分が書く。

[書式]
$ awk -F 区切り文字 ‘{print $1,$2,$3}’ ファイル名

※$1,$2…は取り出すフィールドにあわせる。

[使用例]
$ cat abc.txt | awk ‘{print $0}’
a b c
d e f
g h i

スペース区切りを実感するために、真ん中の列(2列目)だけ出力してみる。
$ cat abc.txt | awk ‘{print $2}’
b
e
h

参考になるサイト↓↓
http://d.hatena.ne.jp/zariganitosh/20131209/minimum_awk

 

divider” title=”cal

calコマンドはカレンダーを表示するためのコマンド。

[書式]
$ cal [オプション]

[オプション]
-3 先月,今月,来月の3カ月分を表示する
-j 1月1日を1,2月1日を32と計算するユリウス日で表示する
-y 現在の年のすべてのカレンダを表示する
month 表示したい月を指定する(年の指定が必要)
year 表示したい年を指定する

[使用例]
$ cal 2014 ※#2014年のカレンダーを表示

#2015年12月のカレンダーを表示
$ cal 12 2015

 

divider” title=”cat

ファイルの内容を表示する。複数のファイルを連結して出力することもできる。

[書式]
$ cat [オプション] [ファイル]

[オプション]
-b 先頭行から、空白行を含めずに行番号をつけて表示
-n 先頭行から、すべての行に行番号をつけて表示
-s 連続した空行を1行の空行にまとめて表示
-v タブを「~」に、表示不可能な文字(最上位ビットが1の文字)を「M-」に置き換えて表示
ファイル 表示するファイルを指定

[使用例]
$ cat -n file1  ※「file1」を行番号をつけて表示
$ cat file1 file2 > file3 ※「file1」と「file2」を連結して、「file3」に出力

 

divider” title=”change

ユーザーのパスワード有効期限を表示・変更するコマンド
※rootユーザーのみ利用可能

[書式]
$ chage [オプション] ユーザー名

[オプション]
-d 最終更新日 パスワードの最終更新日(YYYY-MM-DD)を指定する。
-E 有効期限日 パスワードの有効期限日(YYYY-MM-DD)を指定する。
-I 日数 パスワードの有効期限が切れてから、ユーザーアカウントがロックされるまでの日数を指定する。
-l ユーザーのパスワード有効期限情報を表示する。
-m 日数 パスワードが変更できる最小日数を指定する。
-M 日数 パスワードが有効な最大日数を指定する。
-W 日数 パスワードの有効期限が切れる何日前から警告を表示するかを指定する。

[使用例]
$ chage -l ※パスワード有効期限情報を表示する。

 

divider” title=”chkconfig

Linuxがシステム起動時に起動するサービスを一覧表示したり、サービスの登録、削除、サービスの起動をランレベル毎に細かく制御するコマンド
※rootユーザーのみ利用可能

[書式]
$ chkconfig [オプション] [サービス名]

[オプション]
–list サービスを一覧表示
–add サービスを登録
–del  サービスを削除
–level [ランレベル] サービス名 ランレベル毎にサービスのon/offを設定
-h chkconfigコマンドのヘルプを表示
-v chkconfigコマンドのバージョンの表示

[使用例]
$ chkconfig –list ※サービスを一覧表示

 

divider” title=”chmod

ファイルやディレクトリのアクセス権を変更する

[書式]
$ chmod [モード] [ファイル名]

[オプション]
-c, –changes アクセス権限が変更されたファイルのみ詳細に表示
-f, –silent, –quiet アクセス権限を変更できなかった場合でも,エラー・メッセージを表示しない
-v, –verbose アクセス権限の変更を詳細に表示
-R, –recursive ディレクトリとその中身のアクセス権限を再帰的に変更
–help chmodコマンドの使用法を表示
mode 変更するアクセス権を記述する。記述方法は後述の「modeの記号による記述方法」を参照
file アクセス権を変更するファイルやディレクトリを記述する。また,ワイルド・カードも使用できる

[ユーザー]
u 所有者
g グループ
o その他
a 全ユーザー

[演算子]
+ 権限を追加
– 権限を削除
= 権限を変更

[権限]
r 読み込み権限
w 書き込み権限
x 実行権限

[数値表]
パーミッション 8進数
rwx 7
rw- 6
r-x 5
r– 4
-wx 3
-w- 2
–x 1
— 0

[使用例]
$ chmod 444 test ※数字表記ですべてのユーザーを読み出し権限のみにする
$ chmod 1777 test-dir ※スティッキ・ビットを付加する
$ chmod u+s test-prog1 ※ファイルにセット・ユーザーIDを付加

 

divider” title=”chown

ファイルやディレクトリの所有者を変更する

[書式]
$ chown [-cfhvR] [ユーザー]:[グループ] ファイル

[オプション]
-c 所有者が変更されたファイルのみ詳細に表示
-f 所有者を変更できなかった場合にもエラーメッセージを表示しない
-h シンボリックリンクを変更する場合、そのリンク自身の所有者を変更する。デフォルトではリンク先のファイルの所有者が変更される
-v 経過を表示
-R ディレクトリとその中のファイルを再帰的に変更
[ユーザー]:[グループ] 変更する所有者、グループを指定する。どちらかは指定する必要がある
ファイル 変更するファイルを指定

[使用例]
$ chown usr01 file1 ※「file1」の所有者を「usr01」に変更
$ chown :grp01 file2 ※「file2」の所属グループを「grp01」に変更
$ chown usr01:grp01 file3 ※「file3」の所有者を「usr01」に、所属グループを「grp01」に変更

 

divider” title=”chsh

ログインシェルを変更する

注: 現在のシェルを変更するにはただ単にシェルの名前をタイプすればよい。chsh コマンドでは/etc/passwd内にあるシェル部分が変わります。

[書式]
$ chsh -s [使用するシェル] [ユーザ名]

[オプション]
-l / –list-shells 使用できるシェルを表示
-s 変更するシェルを指定
-v バージョンを表示

[利用可能なシェルを見るには]
chsh –list-shells

[ファイル]
/etc/passwd – ユーザアカウント情報
/etc/shells – 指定できるログインシェルのリスト

[使用例]
$ chsh シェルを対話式に変更する
$ chsh -s /bin/tcsh tcshにシェルを変更する
$ chsh -s /bin/tcsh user1 user1のログインシェルをtcshに変更する

 

divider” title=”convert

画像のサムネイルを作成

[書式]
1つのファイルを変換する
$ convert [オプション] 入力画像ファイル名 出力画像ファイル名

複数のファイルを一度に変換する
$ mogrify [オプション] 入力画像ファイル名
$ mogrify -format 出力画像形式 [オプション] 入力画像ファイル名

[オプション]
-append 複数の画像を縦に結合する(横の長さが等しい必要がある)
-average イメージを混ぜ合わせる(画像の大きさが同じ必要がある)
-blur ぼけた感じにする(0.0%-99.9%)
-border 枠をつける(枠の色は、-bordercolor)
-colors 指定した色数に減色する
-crops 画像を指定した位置から、指定した大きさで切り取る
-draw 指定した位置に文字列を記入する
-edge 輪郭をはっきりさせる(0%-99.9%)
-emboss 浮き彫り効果をつける
-flip 鏡に写してひっくり返したような画像にする
-flops 鏡に写したような画像にする
-frame 枠をつける(枠の横と縦の長さを指定する)
-geometry 画像を指定した倍率、またはピクセル数に拡大/縮小する
-interlace インターレース化する
-monochrome モノクロにする
-negate 写真のネガのような感じにする
-raise 3Dボタンのように周りを浮き上がらせる(縦と横のピクセル数を指定する)
-roll x方向とy方向にスクロールする
-transparent 指定した色を透明化する

[使用例]
1つのファイルを変換する
$ convert in.pgm out.gif
$ convert -delay 間隔時間 -loop 回数 使用ファイル名(複数) 新ファイル名 ※gifアニメーションの作成

複数のファイルを一度に変換する
$ mogrify [オプション] 入力画像ファイル名
$ mogrify -format 出力画像形式 [オプション] 入力画像ファイル名

 

divider” title=”cut

テキストファイルの各行から指定した部分の文字列を切り出して表示

[書式]
$ cut [-bcf位置] [-d 文字] ファイル

[オプション]

[-b位置] バイト単位で切り出す。バイト位置を下記のように指定
-b5  : 5バイト目
-b1,3 : 1バイト目と3バイト目
-b2-5 : 2~5バイト目
-b-3 : 先頭から3バイト
-b5- : 5バイト目以降
[-c位置] 文字数単位で切り出す。文字位置を下記のように指定。
-c5  : 5文字目
-c1,3 : 1文字目と3文字目
-c2-5 : 2~5文字目
-c-3 : 先頭から3文字
-c5- : 5文字目以降
[-f位置] フィールド単位で切り出す。フィールド位置を下記のように指定
-f5  : 5番目のフィールド
-f1,3 : 1番目と3番目のフィールド
-f2-5 : 2~5番目のフィールド
-f-3 : 先頭(1番目)から3番目のフィールド
-f5- : 5番目以降のフィールド
[-d 文字] フィールドの区切り文字を指定する。デフォルトのフィールド区切り文字は「TAB」
ファイル 切り出す対象となるファイルを指定

[使用例]
$ cut -c-10 file1 ※「file1」の先頭から10文字切り出して表示
$ cut -f2,4 file1 ※「file1」の2番目と4番目のフィールドを表示
$ cut -d: -f1 /etc/passwd ※登録しているユーザー一覧を表示

 

divider” title=”data

日付や時刻を表示,設定する

[書式]
$ date [オプション]

[オプション]
-d datestr datestrに指定された日付と時刻を表示する
-s setstr 日付と時刻を設定する。setstrには一般的に分かる形であれば形式を問わない。例:2000/01/08 10:11:21
-u 協定世界時を使用する
+format 表示する形式を指定する。指定する形式は後述する形式表を参照
MMDDHHmm[[CC]YY][.ss] 日付を指定し,別のフォーマットで表示する。MMは月,DDは日,HHは時,mmは分,CCは西暦の上2けた,YYは西暦の下2けた,ssは秒を表す

[形式]
文字列 指定した文字列を表示する
%H 時 (00~23)
%I 時 (01~12)
%k 時 ( 0~23)
%l 時 ( 1~12)
%M 分 (00~59)
%p AM あるいは PM のロケール(国や地域に合わせた文字列)
%r 12時間形式の時刻 (HH:mm:ss [AP]M)
%s 1970-01-01 00:00:00 UTC からの秒数
%S 秒 (00~61)
%T 24時間形式の時刻 (HH:mm:ss)
%a ロケールによる省略形の曜日の名前 (Sun~Sat)
%A ロケールによる完全に表記した曜日の名前(Sunday~Saturday)
%b ロケールによる省略形の月の名前 (Jan~Dec)
%B ロケールによる完全に表記した月の名前(January~December)
%c ロケールによる日付と時刻 (Sat Nov 04 12:02:33 EST 1989)
%d 日(月内通算日数) (01~31)
%D 日付 (MM/DD/YY)
%j 年内通算日数 (001~366)
%m 月 (01~12)
%w 週のうちの曜日(0~6)で0が日曜日に対応
%x ロケールによる日付の表現 (MM/DD/YY)
%y 西暦の下2けた (00~99)
%Y 年 (1970~)

[使用例]
$ date ※標準の方式で現在の日付と時刻を表示
$ date 010112002015.01 ※別方式で日付を表示
$ date +”%Y/%m/%d %p %I:%M:%S” ※指定した形式で表示
$ date -s “01/01 12:00 2015″ ※日付と時刻を2015年1月1日12時00分にセット

 

divider” title=”dd

ファイルの変換とコピーを行う

[書式]
$ dd [オプション]

[オプション]
if=file 入力ファイルを指定する。指定がない場合は標準入力を表す
of=file 出力ファイルを指定する。指定がない場合は標準出力を表す
ibs=bytes 一度に指定したバイトのブロックを読み出す
obs=bytes 一度に指定したバイトのブロックを書き込む
bs=bytes 一度に指定したバイトのブロックを読み書きする
cbs=bytes 一度に指定したバイトのブロックを変換する
skip=blocks 入力ファイルの先頭から指定したブロックをスキップする
seek=blocks 出力ファイル中の指定したブロックをスキップする
count=blocks 入力ファイルから出力ファイルへ指定したブロックをコピーする
conv=code コード変換を行する。指定できるコードは後述のコード表を参照

[コード表]
ascii EBCDICをASCIIに変換
block 改行で区切られたレコードをcbsで指定したサイズに合わせる。不足分は空白が使われる
ebcdic ASCIIからEBCDICに変換
ibm ASCIIからEBCDICに変換(ebcdicとは,文字コードが4カ所異なる)
lcase 大文字を小文字に変換
noerror 読み込みエラーが発生したとしても継続する
notrunc 出力ファイルを丸めない
swab 奇数バイト目と偶数バイト目を入れ替える
sync isbで指定したブロック数に合わせる。不足分はNULLが使われる
ucase 小文字を大文字に変換
unblock cbsで指定したブロックの末尾の連続した空白を改行に変換

[使用例]
$ dd if=/boot/vmlinuz of=/dev/fd0 ※Linuxのカーネルをフロッピ・ディスクにコピー
$ dd if=/dev/sdb of=./usb ※USBメモリーの内容をまるごとファイル名「usb」でバックアップ
$ dd if=./usb of=/dev/sdb ※上でバックアップしたUSBイメージをUSBメモリーに戻す

 

divider” title=”df

ディスク・ドライブの使用量を表示する

[書式]
$ df [オプション] [ファイル]

[オプション]
-a, –all 空のファイル・システムも含めたすべてのファイル・システムの情報を表示する
-i, –inodes iノードの使用量を表示する
-k, –kilobytes 容量をKバイト単位で表示する
-t, –type=fstype ファイル・システムの種別を指定する
-x, –exclude-type=fstype 表示しないファイル・システムを指定する
-h 容量を適当な単位で表示する
filename 指定したファイルが属しているディスク・ドライブの容量を表示する

[使用例]
$ df -k ※ファイル・システムの情報をKバイト単位で表示する

 

divider” title=”diff

ファイルの違いを調べる

2つのファイルを比較するコマンドで、ファイル間の差分を出力する。
設定ファイルを編集するなどして、後から変更した箇所を確認する際などによく使用する。
(もちろん設定ファイルを編集する前に、ファイルのバックアップを取ることが前提となります。)

[書式]
$ diff [オプション] オリジナルファイル 新しいファイル

[オプション]

-b スペースの数が違うだけの場合は無視
-c context出力形式で出力
-e edスクリプト形式で出力
-i 大文字と小文字の区別を無視
-n RCS形式で出力
-q ファイルが違うかどうかだけを報告
-r ディレクトリを比較するときサブディレクトリも再帰的に比較
-s ファイルに違いがない場合も報告
-u unified出力形式で出力

[使用例]
$ diff -u hoge1.txt hoge2.txt

 

divider” title=”dirs

記録しているディレクトリを表示する

[書式]
$ dirs [-clpv] [+n] [-n]

[オプション]
-c ディレクトリ・スタックをクリアする
-l 長い形式でディレクトリ・スタックのリストを表示する
-p, -v ディレクトリ・スタックを1行に1エントリずつ出力する
+n リストの左からn番目のエントリを表示する。エントリは0から始まり,オプションを付けずにdirsコマンドを実行した際のリストを用いる
-n リストの右からn番目のエントリを表示する。エントリは0から始まり,オプションを付けずにdirsコマンドを実行した際のリストを用いる

[使用例]
$ dirs -c ※ディレクトリ・スタックに入っているディレクトリ・リストをクリアする

 

divider” title=”du

ディスクの使用量を調べる

[書式]
$ du [-abchkmlrsxDS] [ファイル]

[オプション]
-a ディレクトリだけでなくすべてのファイルについて表示する。
-b バイト単位で表示する。
-c すべてのファイルの総計を表示する。
-h サイズの表記にK、M、Gなどを用いて表示する。
-k キロ・バイト単位で表示する。
-m メガ・バイト単位で表示する。
-l ハード・リンクも集計に含めて表示する。
-r 読み取り不可のファイルやディレクトリが存在した場合にはメッセージを表示する。
-s 総計のみを表示する。
-x 異なるファイルシステムは集計から外する。
-D シンボリック・リンクをたどる。
-S 各サブディレクトリを別々に計算する。
ファイル 集計対象となるファイルやディレクトリ名を指定する。

[使用例]
$ du /home/usr01 ※「/home/usr01」ディレクトリの使用量を表示

 

divider” title=”edquota

ディスククォータを設定する

edquotaはquotaを編集するためのコマンド。コマンドラインから編集を行うsetquotaと違い、エディターが開くのでそちらで編集を行う。
ちなみに記述する単位はKilobyte。

[書式]
$ edquota [オプション] [ユーザー名|グループ名]

[主なオプション]
-u, –user ユーザークォータを設定する(デフォルト)
-g, –group グループクォータを設定する
-r, –remote RPC経由でリモートホストのクォータを設定する
-p, –prototype=NAME NAMEに指定したユーザーまたはグループのクォータ設定をコピーする
–always-resolve 常に名前解決を試みる
-f, –filesystem=FILESYS 指定したファイルシステムのみ操作する(デフォルトはクォータが有効な全ファイルシステム)
-F, –format=FORMAT 指定されたクォータフォーマットFORMAT(vfsold/vfsv0/rpc/xfs)のクォータを編集する
-t, –edit-period 各ファイルシステムの猶予期間を設定する(単位はdays/hours/minutes/seconds)
-T, –edit-times ユーザーもしくはグループのソフトリミットを実施する時間を編集する

[使用例]
$ edquota -u usr1 ※usr1ユーザーにクォータを設定する
$ edquota -p usr1 usr2 ※usr1ユーザーのクォータ設定をusr2ユーザーに適用する

 

divider” title=”env

環境変数を設定してコマンドを実行

[書式]
$ env [オプション]

[オプション]
-0 表示する行の終端を改行ではなく値が 0 のバイトにする
-i 環境変数が無い状態でプログラムを実行する
-u 変数名 指定した変数名が環境変数の一覧にある場合は、それを削除する

[使用例]
$ env
$ env -i env ※環境変数がない状態でプログラムを実行する
$ env LANG=C man ls ※環境変数を指定してコマンドを実行。LANG=C」でlsコマンドのマニュアルを参照する

 

divider” title=”ethtool

リンク速度やduplexモード、autonegotiationの設定変更

ethernetで強制的にduplexモードやautonegotiationを切り替えるにはethtoolコマンドを使用する。
またこのコマンドはリンク速度の変更にも使用される。

[書式]
# ethtool [オプション] devname

[オプション]
-i デバイスドライバ情報を表示する
-r オートネゴシエーションを再起動する
-S 統計情報を表示する
-t イーサーネットデバイス offline | online テストを行う
-p イーサーネットデバイス 秒数 指定した秒数LEDを点滅させる
-s イーサーネットデバイス speed 回線速度(Mbps) 回線速度を変更する
-s イーサーネットデバイス duplex full | half デュプレックスモードを変更する
-s イーサーネットデバイス autoneg on | off autonegotiationの有効、無効を指定する

[使用例]
# ethtool -s eth0 speed 100 ※速度を100Mbpsに設定する
# ethtool -s eth0 duplex full ※デュプレックスモードをfullに設定する
# ethtool -s eth0 autoneg off ※autonegotiationをoffにする

 

divider” title=”expand

expandコマンドはファイル内のタブをスペースに変換するのに使われる。

[書式]
$ expand [ オプション ] [ ファイル名 ]

[オプション]
-i, –initial 空白以外の文字直後のタブは無視する
-t NUMBER, –tabs=NUMBER タブ幅を数値NUMBERで指定する(デフォルトは8桁)
FILE テキスト・ファイルを指定する

[使用例]
$ expand -t 4 sample.txt ※タブ幅を4桁としてテキスト・ファイルsample.txtのタブをスペースに変換して出力。

 

divider” title=”export

環境変数を設定するために使用する。envコマンドと違い設定した環境変数はターミナルからログアウトもしくはexitするまで保持している。

[書式]
$ export [オプション]

[オプション]
-n 指定した環境変数を削除する。
-p エクスポートされている環境変数のリストを表示する。

[使用例]
$ export -p ※エクスポートされている環境変数のリストを表示する
$ export -p | grep hoge ※grep且つ、エクスポートされている環境変数のリストを表示する

 

divider” title=”fdformat

Linux上でフロッピーをフォーマット(初期化)する

[書式]
# fdformat [ -n ] device

[オプション]
-n ベリファイを行わない
device フロッピ・ディスク・ドライブとフロッピ・ディスクのタイプを指定する(表参照)

[デバイスの種類]
/dev/fd0h1200 (minor = 8) FDドライブ0の1.2Mバイト2HDフォーマット
/dev/fd0D720 (minor = 16) FDドライブ0の720Kバイト2DDフォーマット
/dev/fd0H1440 (minor = 28) FDドライブ0の1.44Mバイト2HDフォーマット
/dev/fd1h1200 (minor = 8) FDドライブ1の1.2Mバイト2HDフォーマット
/dev/fd1D720 (minor = 16) FDドライブ1の720Kバイト2DDフォーマット
/dev/fd1H1440 (minor = 28) FDドライブ1の1.44Mバイト2HDフォーマット

[使用例]
# fdformat /dev/fd0H1440 ※1.44Mバイト2HD形式でフロッピ・ディスクをフォーマットする

 

divider” title=”find

ファイルやディレクトリを検索する

[書式]
$ find ディレクトリ 検索条件 アクション

[オプション]
-name ファイル名及びディレクトリ名にマッチするものを表示
-iname -nameと同じだが、大文字小文字を区別しない
-regex ファイル名が正規表現にマッチするものを表示
-iregex regexと同じだが、大文字小文字を区別しない
-type ファイルタイプを指定。タイプにはd(ディレクトリ)、f(ファイル)、l(シンボリックリンク)を指定
-emtpy ファイルが0byteもしくは中身のないディレクトリを表示
-size ファイルのサイズで検索。通常kオプションをつけてキロバイトにて指定

[判別式中の演算子]
( expr ) カッコのなかを優先的に判別する
-not expr exprと異なる場合,検索対象となる
expr1 -and expr2 expr1とexpr2をandで評価する
expr1 -or expr2 expr1とexpr2をorで評価する
※複数の判別式を用いるとき,判別式を演算子で結ぶ。代表的な演算子は以下の通り。表中のexprは判別式を表す

[使用例]
$ find ~/ -name “*.shtml” -ls
ホームディレクトリ以下の拡張子shtmlのファイルをファイル詳細付きで検索する

$ find ~/public.shtml -name “*.gif” -and -size +100k -fprint result
ホームのpublic.shtml以下で拡張子がgifでかつサイズが100Kバイト以上のファイルを探し,結果をresultファイルに書き込む

$ find ~/ -name “*temp*” -ok rm {} \;
tempを含むファイルを探し,削除を行う

 

divider” title=”finger

ユーザ情報を表示

fingerコマンドはユーザ情報を表示するためのコマンドです。オプションなしでこのコマンドを実行すると現在ログインしているユーザの一覧を表示する。またユーザ名を指定するとそのユーザに関する情報を表示する。

[書式]
# finger [オプション] [ユーザー名]

[オプション]
-l ログイン名、本名、ホームディレクトリ、シェル、メールを表示する。また、ホームディレクトリに “.plan”、”.project”、”.pgpkey”、”.forward” というファイルがあればその内容を表示する。
-m ユーザー名がマッチしたユーザー情報のみを表示する。
-s ログイン名、本名、端末名、アイドル時間、ログイン時間、オフィス、オフィスの電話番号を表示する。
-p オプション -l のうち “.plan”、”.project”、”.pgpkey”、”.forward”のファイルの内容を除いたユーザー情報を表示する。

[使用例]
# finger -l usr1 ※ユーザー情報(ログイン名、本名、ホームディレクトリ、シェル、メール)を表示する。

 

divider” title=”fsck

ディスクの検査と修復

ファイルシステムのチェック、修復する

[書式]
$ fsck [オプション] [ファイルシステム]

[オプション]
-a 自動的に修復する。
-r 対話的に修復する。
-t [ファイルシステム] ファイルシステムを指定する。
-A /etc/fstabにて指定されたファイルシステムのチェック、修復する。
-N チェックのみを行う。

[使用例]
$ fsck /dev/hda1 ※/dev/hda1をチェックする。

 

divider” title=”fuser

ポートを使用しているプロセスIDを調べる

[書式]
$ fuser [オプション]

[オプション]
-a コマンドラインから渡されたすべてのファイルを表示
-k 指定したファイルにアクセスしているプロセスをkillする
-i プロセスをkillする前に確認する。オプション -k と共に使用する
-l 使用できるすべてのシグナルリストを表示
-m ファイルシステム。マウントされたファイルシステムを指定するとそのファイルシステム上のファイルにアクセスしているプロセスを表示する
-n 名前空間 file、udp、tcpといった名前空有間を指定する
-s コマンド実行時の表示結果を抑制する
-u PIDと共にプロセスの所有者名を表示する
-v コマンド実行の詳細情報を表示する

[使用例]
$ fuser -l ※使用できるすべてのシグナルリストを表示
$ fuser -vm /home ※/homeにアクセスしているプロセスを表示する。

 

divider” title=”ldd

指定したプログラムやその共有ライブラリに必要な共有ライブラリを表示するコマンドです。

[書式]
$ ldd [オプション] プログラム

[オプション]
-d 足りないオブジェクトについてレポートする。
-r 足りないオブジェクトや関数についてレポートする。
-u 使用されていない依存関係を表示する。
-v すべての情報を表示する。

[使用例]
$ ldd a.out ※共有ライブラリを表示
$ ldd -v a.out ※すべての情報を表示

 

divider” title=”lha

lzh形式ファイルの圧縮・解凍

[書式]
$ lha [ option ] lzhfile [ file…. ]

[コマンド]
a 圧縮ファイルに指定したファイルやディレクトリを追加・上書きする。圧縮ファイルが存在しない場合は新規に作成する
c 圧縮ファイルを新たに作成し,ファイルを追加する
e,x 圧縮ファイルを展開する。lha 1.14e以降では,Windows上で作成した自己展開方式の実行ファイルを展開できるようになった
d 圧縮ファイルから指定したファイルを削除する
l,v 圧縮ファイルの内容を表示する
m ファイルを圧縮ファイルに追加した後,ファイルを削除する
p 圧縮ファイルの内容を標準出力に出力する
t 圧縮ファイルのCRCを確認する
u ファイルが更新されていた場合,圧縮ファイルの内容を置き換える
lzhfile 圧縮ファイルの名前を指定する
file 対象となるファイルを指定する

[オプション]
0,1,2 a,uコマンド指定時にヘッダ・レベルを指定する
d a,u,cコマンド指定時に処理終了後ファイルを消去する
e テキスト・ファイルの文字コードをEUCと相互変換する
f 圧縮ファイルの展開時に,既存のファイルを上書きする
g 旧版のコマンドと互換性を維持する
i x,eコマンド指定時にディレクトリ指定を無視する
n 処理を実行しない
o a,uコマンド指定時にMS-DOS用などのLHarcコマンドと互換性をとる
q 処理メッセージを表示しない
t ファイルをテキスト・ファイルとして処理する
v 処理メッセージを表示する
w eコマンド指定時に展開するディレクトリを指定する
z a,uコマンド指定時に圧縮ファイルにファイルを圧縮せずに追加する

[使用例]
$ lha -e ./filename.lzh ※#ファイルの解凍
$ lha -a ./filename.lzh file1 file2 ※#ファイルの圧縮

 

divider” title=”ln

ファイルやディレクトリにリンクを張る

[書式]
$ ln [-bdfinsv] リンク元 リンク先

[オプション]
-b 上書きされるファイルのバックアップを作成する
-d ディレクトリのハード・リンクを作ります。管理者権限が必要
-f 同名ファイルがあれば確認なしで上書きする
-i 上書きされるファイルがあれば、その可否を確認する
-n シンボリック・リンクを普通のファイルと見なす
-s シンボリック・リンクを作成
-v 経過を表示
リンク元 リンク元のファイルまたはディレクトリを指定する。リンク先がディレクトリであれば、複数のファイルを指定することができる。
リンク先 リンクするファイル名を指定する。ハード・リンクを作る際には、存在するディレクトリでなければならない。

[使用例]
$ ln -s /var/www ./www ※#カレントディレクトリに/var/wwwへのシンボリックリンクを作成

 

divider” title=”locate

ファイルを高速に検索する

[書式]
$ locate [-d path] [–database=path] [–help] pattern…

[オプション]
-d path, –database=path ファイル名データベースからpathに指定したデータベースに切り替えて検索を行う
–help locateコマンドの使用法を表示する
pattern 検索パターンを記述する

[使用例]
$ locate httpd.conf ※httpd.confを高速に検索する

 

divider” title=”ls

ディレクトリ内のファイル一覧を表示

[書式]
$ ls [-abcdfghiklmnopqrstuxCFLRS1]

[オプション]
-a 「.」で始まるファイルを含んだすべてのファイルを表示
-b ファイル名に表示できない制御文字などが使われている場合、8進数形式で表示
-c ファイルの属性を更新した時間順にソートして表示し
-d ディレクトリの内容ではなく、ファイルと同様にディレクトリ名を表示
-f ソートせずにディスクに格納された順に表示し
-i ファイル名の左にインデックス番号を表示
-k ファイル・サイズをキロ・バイト単位で表示
-l ロングフォーマットで表示する。ファイル名、ファイル・タイプ、パーミッション、ハード・リンクの数、オーナー名、グループ名、バイト・サイズ、タイムスタンプの順に表示
-m ファイルを横に並べ、カンマで区切って表示
-n ユーザー名、グループ名を数字を使用して表示し
-p ディレクトリ名の最後に「/」を付けて表示
-q エスケープ・コードなど表示できない文字列を「?」で表示
-r 逆順にソートして表示
-s ファイル名の左側にキロ・バイト単位でファイル容量を付加して表示
-t タイム・スタンプ順にソートして表示
-u アクセス時刻でソートして表示
-x ソートした結果を水平方向から順に並べる
-C ソートした結果を垂直方向から順に並べる
-F ファイルタイプを示す文字を付ける
* ⇒ 実行可能ファイル
/ ⇒ ディレクトリ
@ ⇒ シンボリック・リンク
-L シンボリック・リンクについては、リンクされたファイルを表示
-R サブディレクトリの情報も表示
-S ファイルサイズの大きい順にソートして表示
-1 1行に1ファイルずつリスト表示

[使用例]
$ ls -al ※カレント・ディレクトリのすべてのファイル情報を詳細に表示
$ ls -l ※-l ロングフォーマットで表示

 

divider” title=”lsof

ファイルを開いているプロセス情報の表示

[書式]
# lsof [オプション] [ファイル名]

[オプション]
-i:ポート番号を指定できる(-i:80など。)。引数を指定しない場合は、すべてが対象となる
-c:プロセスが開いているファイルを表示(-c sshなど。)
-n:IPアドレスからホスト名への変換をしない
-P:ポート番号からサービス名への変換をしない

[使用例]
# /usr/sbin/lsof -i ※現在ログインしているユーザーが開いているポートとプロセスを表示する
# lsof -i -n -P ※起動しているプロセスの待機ポートの確認が行える。

 

divider” title=”lspci

システムのPCIバスに接続されているデバイス一覧を表示する

[書式]
$ lspci [オプション]

[オプション]
-mm プログラムが処理しやすい形式で出力する
-t ツリー状に表示する
-v 詳細に表示する
-vv -vよりも詳細に表示する
-k それぞれのPCIデバイスに対応しているカーネルモジュールを表示する
-x PCI設定空間の先頭64バイトを16進数でダンプ出力する(デバッグ用)
-xxx すべてのPCI設定空間を16進数でダンプ出力する(危険:rootユーザーのみ実行できる)
-xxxx 拡張PCI設定空間を16進数でダンプ出力する(危険:rootユーザーのみ実行できる)
-b カーネルからではなくPCIバスから見たアドレスとIRQを表示する
-D 常にPCIドメイン番号も表示する
-n PCIベンダーIDおよびデバイスIDを数字で表示する
-nn PCIベンダーIDおよびデバイスIDについて名前と数字の両方で表示する
-s [[[[DOMAIN]:]BUS]:][SLOT][.[FUNC]] 指定したドメイン(DOMAIN)、バス番号(BUS)、スロット番号(SLOT)、機能番号(FUNC)のPCIデバイスのみ表示する
-d [VENDOR]:[DEVICE] 指定したベンダーID(VENDOR)、デバイスID(DEVICE)のPCIデバイスのみ表示する
-i FILE /usr/share/hwdata/pci.idsの代わりにファイルFILEをPCI IDデータベースとして利用する
-p FILE modules.pcimapの代わりにファイルFILEを使ってカーネルモジュールを見つける
-M バスマッピングモードを有効にする(危険:rootユーザーのみ実行できる)
-A METHOD PCIアクセス方法をMETHODで指定する
-O PAR=VAL PCIアクセスパラメータPARに値VALをセットする
-G PCIアクセスデバッギングを有効にする
-H MODE ダイレクトハードウェアアクセスを利用する(MODEは1もしくは2)
-F FILE PCI構成ダンプをファイルFILEから読み込

[使用例]
$ lspci ※認識されているPCIデバイスを一覧表示する
$ lspci -vt ※認識されているPCIデバイスをツリー状に詳しく表示する
$ lspci -d 8086: ※ベンダーがIntel社(ベンダーIDは8086)のデバイスのみ表示する

 

divider” title=”lwp-request

コマンドラインで使用するユーザエージェント。

[書式]
$ lwp-request [オプション] URL

[オプション]
[使用例]

[主なオプション]
-m メソッドを指定する
-H ヘッダを指定する
-s レスポンスのステータスコードを表示する(HEADメソッドの場合には常にオン)
-e レスポンスのヘッダを表示する(HEADメソッドの場合には常にオン)
-c ベーシック認証が必要な場合、そのユーザ名とパスワードを設定する
-d ページの内容を表示しない

[使用例]
$ lwp-request -des www.grooving-earth.com

 

divider” title=”lynx

テキストベースのウェブブラウザ。
internet explorerやfirefox、Google chromeとは違い、GIFやJPGなどのグラフィカルな表示はできないが、コンソールのようなテキストしか表示出来ない環境でもWebページを表示することができる。

[書式]
$ lynx (オプション) パス、又はURLアドレス

[オプション]
-editor エディッタモードで指定されたエディッタを使用する
-help オプション一覧を表示する
-vikeys カーソル操作を「vi」と同じにする
-emacskeys カーソル操作を「emacs」と同じにする

[操作コマンド]
g 開きたいWebページのURLを直接入力する
o オプション画面を呼び出す
m メイン画面にもどる
q lynxを終了する
Delete 履歴を表示する
Enter カーソルのあるリンク先にジャンプする
Space 画面をスクロールする
↑ 上に移動
↓ 下に移動
→ リンクを辿る(次の画面に進む)
← リンクを戻る(前の画面に戻る)

[使用例]
$ lynx www.grooving-earth.com

[yumでインストールする方法]
# yum -y install lynx

 

divider” title=”makewhatis

whatisデータベースを生成

[書式]
$ makewhatis [オプション] ファイル名

[主なオプション]
-u データベースの更新
-v 詳細なログを出力
-w man –path で取得されるパスをmanpathに使用

[使用例]
# makewhatis -u -v -w

 

divider” title=”md5sum

ファイルが正しくダウンロードされているかどうかを確認する際に使用される。

[書式]
$ md5sum [オプション] ファイル名

[オプション]
-status 状態を示すリターンコードのみを返し,黙って終了する。
–version 標準出力にバージョン情報を出力して正常終了する

[使用例]
$ md5sum foo.oso ※foo.iso のMD5を計算する

 

divider” title=”mkbootdisk

ブートディスクの作成

[書式]
$ mkbootdisk [オプション] カーネルバージョン

[オプション]
-device デバイス名:ブートディスクを作るデバイスを指定する

[使用例]
$ fdformat /dev/fd0H1440 ※フロッピーディスクをフォーマット
$ mkbootdisk –device /dev/fd0 2.4.20-20.7 ※mkbootdiskコマンドにて起動ディスクを作成

 

divider” title=”mkinitrd

initrdイメージを作成するためのコマンド

[書式]
$ mkinitrd [作成されるイメージ] [バージョン]

[使用例]
$ mkinitrd /boot/initrd-2.4.18-17.7.x 2.4.18-17.7.x

 

divider” title=”mknod

特殊ファイルの作成

[書式]
# mknod [オプション] ファイル名 タイプ メジャー番号 マイナー番号

[オプション]
-m パーミッション:パーミッションを指定する

[使用例]
# mknod dev/null c 1 3 ※chrootユーザの/dev/nullを作成する

 

divider” title=”mkpasswd

パスワードを自動生成するためのコマンド。
なお、このコマンドを使用するにはexpectパッケージがインストールされている必要があります。

[書式]
$ mkpasswd [-fvgps ] file

[オプション]
-l ・・・ 生成するパスワードの文字数を指定する(デフォルト:9文字)
-d ・・・ パスワードに含める数字の最低文字数を指定(デフォルト:2文字)
-c ・・・ パスワードに含める小文字の最低文字数を指定(デフォルト:2文字)
-C ・・・ パスワードに含める大文字の最低文字数を指定する(デフォルト:2文字)
-s ・・・ パスワードに含める特殊文字の最低文字数を指定する(デフォルト:1文字)
-2 ・・・ 右手と左手の両方を使わないと行けないような文字を指定する。セキュリティ向上が見込める。

[使用例]
$ mkpasswd -l 8 ※#8文字のパスワードを生成
$ mkpasswd -l 8 username ※#8文字のパスワードを生成しusernameに適用

 

divider” title=”mount

ファイル・システムをマウントする

[書式]
# mount -t [タイプ] -o [オプション] [デバイスファイル] [マウントポイント]

[オプション]
-a /etc/fstabに記述されているファイル・システムをマウントする。ただし,noautoのファイル・システムはマウントから除外される
-n マウントをする際,/etc/mtabに情報を書き込まない
-r ファイル・システムを読み込み専用でマウントする
-w ファイル・システムを読み書き可能な状態でマウントする
-v マウントの詳細を表示する
-t,vfstype ファイル・システムのタイプを指定する。指定できるファイル・システム・タイプは別表を参照
device マウントするデバイスを指定する
position ファイル・システムをマウントする場所を指定する

[主なファイル・システム・タイプ]
ext2 Linux標準のファイル・システム
ext3 ext2にジャーナリング機能を付加したファイル・システム
ReiserFS ジャーナリング機能を持ったファイル・システム
xfs ジャーナリング機能を持ったファイル・システム
msdos MS-DOSファイル・システム
vfat Windows95のファイル・システム
iso9660 ISO9660準拠のファイル・システム(一般的なCD-ROMの形式)
udf ユニバーサル・ディスク・フォーマット・ファイル・システム(主にDVDに利用される)
nfs ネットワーク・ファイル・システム
samba Windowsのネットワーク共有のファイル・システム

[使用例]
# mount -r -t iso9660 /dev/cdrom /mnt/cdrom ※CD-ROMをマウントする
# mount -t ext2 /dev/fd0 /mnt/floppy ※Linux形式のフロッピ・ディスクをマウントする
# mount -t msdos /dev/fd0 /mnt/floppy ※MS-DOS形式のフロッピ・ディスクをマウントする

 

divider” title=”netstat

ネットワーク関連の統計情報を表示する

[書式]
$ netstat [オプション1] [オプション2]

[オプション1]
オプション無し 現在のソケットの状態を表示する
-r ルーティングの情報を表示する
-g マルチキャストのグループ情報を表示する
-i–interface ネットワーク・インタフェースの状態を表示する。インタフェース名を指定すると,指定したインタフェースのみの情報を表示する
-M IPマスカレードの情報を表示する
-s 各プロトコルの統計情報を一覧する

[オプション2]
-v 詳細な情報を表示する
-n ホスト名などを解決せずに数字で表示する
–numeric-hosts ホストはIPアドレスで表示する
–numeric-ports ポートはポート番号で表示する
–numeric-users ユーザー名はユーザーIDで表示する
–protocol=ファミリ名 表示するアドレス・ファミリを指定する。ファミリ名にはinet,unix,ipx,ax25,netrom,ddpを指定できる
-c 1秒ごとに情報を更新して表示する
-e 詳しい情報を表示する。-eeとするとさらに詳しい情報が表示される
-o ネットワーキング・タイマーの情報を表示する
-p 各ソケットを利用しているプログラムのプロセスIDを表示する
-l 接続待ち状態のソケットのみを表示する
-a 全てのソケットを表示する
-F FIB(Forwarding Information Base)のルーティング情報を表示する
-C ルーティング・キャッシュからルーティング情報を表示する

[使用例]
$ netstat ※ソケットの状態を表示する
$ netstat -r ※ルーティング情報を表示する

 

divider” title=”newaliases

メールエイリアスのデータベースを再構築する

/etc/mail/aliases ファイルに記述されているメールエイリアスのデータベースを再構築する。
/etc/mail/aliases の内容を変更したときには、その内容を反映させるためにこのコマンドを実行しなければなりません。

[書式]
$ newaliases

[使用例]
$ newaliases

※newaliasesコマンドの代わりに、sendmail -biとしてもよい

 

divider” title=”nl

ファイルに行番号を付けて表示してくれる。

[書式]
$ nl [オプション] ファイル名 [ファイル名2]

[オプション]
-a 空白行にも行番号をつける
-t 空白行には行番号をつけない

[使用例]
$ nl -ba /var/log/httpd/access_log ※#空白行を含め、行番号をつける

 

divider” title=”nohup

ログアウトした後もコマンドを実行し続ける

[書式]
$ nohup command [arg…]

[オプション]
command 実行するコマンドを指定する
arg コマンドの引数を指定する

[使用例]
$ nohup grep “Jan” access_log > result & ※grepをlogout後も継続して実行し続ける

ちなみに実行結果のログは~/nohup.out に記録される。

 

divider” title=”nslookup

ネームサーバへ問合せを行うことができる。IPアドレスからホスト名を調べたりホスト名からIPアドレスや逆引きを調べたり。

[書式]
$ nslookup

[オプション]
exit 対話モードを終了する
ホスト名 指定したホストの情報を表示する
server ドメイン名 デフォルト・サーバーを設定する
root デフォルト・サーバーをルート・サーバーに変更する
ls,[オプション],ドメイン名 指定したドメインで入手できる情報を一覧する。オプションには指定したタイプを表示する「-t 検索タイプ」,エイリアスを一覧する「-a」,前レコードを一覧する「-d」,CUPおよびOSの情報を表示する「-h」,Webサーバーなどよく知られたサービスを表示する「-s」などが使える。「検索タイプ」は表「検索タイプ」に記した
set検索オプション 検索に利用するオプションを指定する

[検索オプション]
all よく利用する検索オプションを指定する
class=クラス 問い合わせで利用するネットワーク・クラスを指定する。「IN」はインターネット・クラス・ドメイン,「CS」はCSNETクラス,「CH」はカオス・クラス,「HS」はヘシオド,「any」はすべてのドメインを表す
domain=ドメイン名 デフォルト・ドメインを指定する
defname デフォルト・ドメインを利用する。nodefnameとするとデフォルト・ドメインを利用しない
search ドメイン・サーチ・リストを利用する。nosearchとするとドメイン・サーチ・リストを使わない
port=ポート 指定したポート番号を利用する
type=検索タイプ 検索の種類を変更する。「検索タイプ」は表「検索タイプ」に記述した
recurse 再帰的に検索する。norecurseとすると再帰的に検索しない
timeout=時間 タイム・アウトを指定する

[検索タイプ]
A ネットワーク・アドレス
MX ドメインのメール・エクスチェンジの情報
NS ネームサーバー
SOR SOAレコード
PTR IPアドレスを問い合わせに利用した場合はホスト名,そうでなければそれ以外の情報を表示する
HINFO ホストの情報
TXT 任意の文字列数
AXFR ゾーン転送情報
ANY すべての情報

[使用例]
$ nslookup
> nikkeibp.co.jp
Server: 192.168.1.1
Address: 192.168.1.1#53
※IPアドレスからホスト名を調べる

$ nslookup
> set type=PTR
> 0.186.26.202.in-addr.arpa.
Server: 192.168.1.1
Address: 192.168.1.1#53
※逆引きでDNSに問い合わせる

 

divider” title=”ntpdate

ntpサーバに接続し時間の同期を行うためのコマンド

[書式]
# ntpdate [オプション] NTPサーバー

[オプション]
-B slewモードで強制的に時刻を修正する。slewモードは、adjtime()を使って徐々に時刻の修正する。
-b stepモードで強制的に時刻を修正する。stepモードは、settimeofday()を使って直ぐに時刻の修正する。
-d デバックモードです。時刻の修正は行わない。
-q NTPサーバーに日付と時刻の問い合わせのみを行い、時刻の修正は行わない。
-s コマンドの実行結果を syslogに出力する。
-v 詳細情報を表示する。

[使用例]

# ntpdate -v ntp.nict.jp ※独立行政法人 情報通信研究機構が公開している日本標準時に直結しているNTPサーバー「ntp.nict.jp」とローカルホストの日付と時刻を同期

 

divider” title=”ntsysv

システムサービスの起動・停止方法

デーモン(システムサービス)は、システムに常駐して必要なときに動きだすプログラム。
従って、デーモンが動作していないとそのデーモンが行うサービスを受けることができない。
例えば、ネットワークを管理するinetdやドライブの自動マウントを行うautofs、Windowsなどとファイル共有を行うsmbdなどはすべてデーモン。

[書式]
# ntsysv –level [ランレベル番号]

[使用例]
# /etc/rc.d/init.d/smb start ※mbdを起動
# /etc/rc.d/init.d/smb status ※現在の状態を知りたいとき

 

divider” title=”paste

ファイルを水平方向(行)に連結する

[書式]
$ paste [オプション] [FILE]

[オプション]
-d 文字 連結されたファイルを区切るのにタブではなく、文字として指定した区切り文字を使用する
-s 1行に連結するのではなく、ファイル単位で1行にまとめる

[使用例]
$ cat file1.txt ←「file1.txt」ファイルの内容を表示する
111111
222222
333333
$ cat file2.txt ←「file2.txt」ファイルの内容を表示する
abcdef
ghijkl
mnopqr
$ paste file1.txt file2.txt ←2つファイルを結合する
111111 abcdef
222222 ghijkl
333333 mnopqr

 

divider” title=”pidof

プロセスのpidを調べる

[書式]
$ pidof [-o omitpid] [-s] program

[オプション]
-o,omitpid omitpidで指定したpidを持つプロセスを表示しない
-s 同一の名前のプロセスがあるとき,最も番号の大きいpidを1つ表示する
-e 指定したプロセス名と完全一致したプロセスのみIDを表示する
-g プロセスIDの代わりにプロセスグループのIDを表示する
program 調べるプログラム名を指定する

[使用例]
$ /sbin/pidof httpd ※httpdのpidを表示する
$ /sbin/pidof -s httpd ※httpdの最も大きなpidを表示する

 

divider” title=”popauth

APOPユーザの追加や削除をするにはpopauthコマンドを使用する。

#認証データベースファイル(/etc/pop.auth)の作成
# popauth -init

#ユーザtestuserユーザの追加
# popauth -user testuser testpasswd
Adding only APOP password for testuser.

#ユーザの一覧を表示
# popauth -list ALL
testuser   : APOP

#ユーザtestuserの削除
# popauth -delete testuser
Warning: deleting user “testuser”

 

divider” title=”popd

スタックに保存したディレクトリに戻る

[書式]
# popd

[使用例]
# dirs /tmp /var/www/html /var/log
# popd +1 /tmp /var/log

 

divider” title=”procinfo

メモリやカーネルの情報を調べる際に使用される。
これらの情報はprocファイルシステムより取得される。

[書式]
$ procinfo

[使用例]
$ procinfo

 

divider” title=”pstree

プロセス一覧をツリー形式で表示

[書式]
$ pstree [オプション]

[オプション]
-a プロセス起動時の引数を表示する
-c 同じ内容のサブツリーをまとめない
-h カレント・プロセスとその先祖のプロセスを強制表示
-l 長い行を表示する
-u uidの遷移を表示する
-n 同じ親を持つプロセス同士をPIDでソートする
-p PIDを表示する
-U UTR-8の罫線文字を使う

[使用例]
$ pstree ※プロセスのツリーを表示する

 

divider” title=”pushd

カレント・ディレクトリをスタックに保存して移動
スタックに追加されたディレクトリ(記憶されたディレクトリ)は、ディレクトリを移動する際のショートカットとして利用できる。

[書式]
$ pushd directory

[オプション]
directory ディレクトリの移動先を指定する

[使用例]
popdとpushdを使用したディレクトリの移動

$ pushd /usr/local/bin ※/usr/local/binに移動する
/usr/local/bin ~ ※スタックに以前のカレント・ディレクトリが保存されている
$ pushd /etc/rc.d/ ※さらに/etc/rc.d/に移動
/etc/rc.d /usr/local/bin ~
$ popd ※一つ前のディレクトリに移動
/usr/local/bin ~
$ popd ※さらに前のディレクトリに移動

 

divider” title=”pwck

pwckコマンドでパスワードファイルが正しいかを調べることができる。
このコマンドではユーザ名に重複がないかや、ホームディレクトリが存在するかどうかを確認してくれる。

[書式]
# pwck [-s] [-r] [パスワードファイル]

[オプション]
-s ユーザIDでソートする
-r パスワードファイルを読み込み専用で参照する。変更の有無をユーザに問い合わせずnoで自動返答する。

[使用例]
# pwck

 

divider” title=”pwunconv

多くのLinuxディストリビューションではパスワードファイルを一般ユーザに見られないよう、シャドウパスワードが使用されている。
pwunconvはshadowパスワードをpasswdファイルに統合するためのコマンド。統合後、/etc/shadowは削除される。
この逆のコマンドがpwconvになります。またgroupファイルを非シャドウ化するためのgrpunconv、その逆のgrpconvがある。

[書式]
# pwunconv

[使用例]
# pwunconv [Enter]

 

divider” title=”quotacheck

# quotaファイルのチェックと修復

quotacheckコマンドはrootユーザのみ使用できるコマンドで、quotaファイルのチェックと修復を行います。quotaファイル(aquota.userやaquota.group)がまだ作成されていない場合には新たに作成する。quotaを適用しているシステムでは一週間に一回程度定期的に行う方がよいでしょう。

[書式]
# quotacheck [オプション] [ファイルシステム]

[オプション]
-a /etc/fstabにて指定されたファイルシステムをチェックする。
-g チェックするグループを指定する。
-u チェックするユーザを指定する
-i quotacheckは通常エラーがあるとそのまま終了するが、このオプションをつけるとエラーの際ユーザに選択を求める。
-m ファイルシステムをread onlyで再マウントしない。

[使用例]
# quotacheck -mugv /var ※ファイルシステム /var のグループクォータをチェック

※quotacheckで何をやってもsegmentation faultエラーが出る場合、fsckをまずかける必要がある。

 

divider” title=”モジュール関連コマンド

lsmod insmod modprobe depmod rmmodなどはすべてモジュール関連のコマンドである。

モジュールの依存関係を記述したmodules.depを作成
depmod -a

※/lib/modules/[カーネルバージョン]/以下に作成される。
※/etc/rc.d/rc.sysinitファイルの中でも実行されているためシステムの起動時などにも更新されている
※modprobeコマンドはこのmodules.depを参照してモジュールの依存関係を決めている。

ロードされているモジュールの一覧を表示
$ lsmod もしくは $ cat /proc/modules

モジュールをロードする
$ insmod [モジュール名]

モジュールをアンロードする
$ rmmod [モジュール名]

モジュールに関する情報を参照する
$ modinfo [モジュール名]

依存関係をチェックしながらモジュールをロードする
$ modprobe [モジュール名]

依存関係をチェックしながらモジュールをアンロードする
$ modproobe -r [モジュール名]

 

divider” title=”passwd

システムユーザのパスワードを変更するにはpasswdコマンドを使用する。またこのコマンドでユーザをロックすることも可能です。
※rootユーザーのみ利用可能

[書式]
$ passwd [username]

[オプション]
username パスワードを変更するユーザー名を指定する。ただし他人のパスワードを変更できるのはスーパーユーザーのみ

[使用例]
$ passwd ※現在のユーザーのパスワードを変更する

 

divider” title=”repquota

ファイルシステムのクォータ利用状況まとめを表示する

[書式]
# repquota [オプション] [MOUNTPOINT]

[オプション]
-a quotaが設定されている全てのファイルシステムを表示する。
-v 全てのquota情報の表示をする。
-c ユーザID・グループIDに集計してIDから名前に変換して表示する。
-C エントリ毎に集計して表示する。
-t ユーザ名・グループ名を最大9文字に制限して表示する。
-n ユーザID・グループIDに集計する。(IDから名前に変換しない。)
-s 使用容量・使用 inode・使用限度をデフォルトの単位ではなく、適切な単位に変換して表示する。
-i 自動的にマウントされたマウントポイントを無視する。
-F フォーマット 指定されたフォーマットでquotaを表示する。 vfsold: バージョン1のquota、vfsv0: バージョン2のquota、xfs: XFSファイルシステム上のquota
-g グループのquotaを表示する。
-u ユーザのquotaを表示する。(デフォルト)※スーパーユーザのみ他ユーザのquotaを参照可能

[使用例]
# repquota -a ※設定されているディスク制限情報を全て表示する。

 

divider” title=”rmdir

ディレクトリを削除する。ただし削除するディレクトリ内にファイルが存在する場合は先にディレクトリ内のファイルを削除する必要がある。
rmコマンドに-fRオプションを付けると、ディレクトリを含め回帰的に削除してくれるため、このコマンドはあまり使用されることはない。

[書式]
$ rmdir [-p][–parents][–help]directory…

[オプション]
-p, –parents 削除するディレクトリの親ディレクトリが空のときは,親ディレクトリも同時に削除する
–help rmdirコマンドの使用法を表示する
directory 削除するディレクトリを指定。ワイルド・カードを使用できる

[使用例]
$ rmdir ./sample ※sample-dirを削除
$ rmdir temp-dir ※temp-dirを削除

※./sampleディレクトリ以下にファイルがある場合は以下のコマンドで削除可能。
$ rm -fR ./sample

 

divider” title=”rpcinfo

rpcinfoはシステムで提供されているRPCサービスの一覧を表示するコマンド。
ホスト名を指定することでリモートサーバで提供されているサービス一覧を表示することも可能。

[使用例]
# rpcinfo -p example.jp

 

divider” title=”rpm

rpmコマンドはrpmパッケージを管理するためのコマンド。

[使用例]
rpm -qa ※インストールされているパッケージ一覧を取得する
rpm -ql [パッケージ名] ※パッケージに含まれているものを調べる
rpm -qif [ファイル名] ※ファイルがどのファイルに属するかを調べる
rpm -Fvh [パッケージ名] ※パッケージのアップグレード
rpm -q –redhatprovides /usr/bin/mkpasswd ※mkpasswdコマンドを含むパッケージの検索 (rpmdb-redhatが必要)

 

divider” title=”rpmbuild

RPMを作成するにはrpmbuildコマンドを使用する。
バイナリパッケージ(RPMS)とソースパッケージ(SRPMS)を作成するには-baオプションを付ける。

rpmbuild -ba [スペックファイル]
rpmbuild -ba ./php.spec

ソースファイルにspecファイルが含まれている場合は
rpmbuild -ta xxxxx.tar.gz
にてRPMの作成が可能

 

divider” title=”runlevel

現在のランレベルを表示。Linuxの動作モードのこと。ランレベルには0~6の7種類がありその数値によって動作の内容が異なる。

[書式]
# runlevel

[ランレベル]
0 シャットダウン(システムの停止)
1 シングルユーザーモード(rootのみ)
2 ネットワークなしのマルチユーザーモード
3 通常のマルチユーザーモード(テキストログイン)
4 未使用
5 グラフィカルログインによるマルチユーザーモード
6 システムの再起動

[使用例]
# runlevel

 

divider” title=”sar

10分毎のシステム稼動状況を表示。sysstatパッケージがインストールされていればsarコマンドで10分毎のシステム稼動状況レポートを見る事ができる。

[書式]
# sar [オプション]

[オプション]
-A 全情報表示
-n DEV 送信/受信パケットに関する情報
-n EDEV エラーパケットに関する情報
-u CPUの利用状況。
-b ディスクI/Oの使用状況
-r メモリとスワップの使用状況
-W 秒当たりのスワップ情報

[使用例]
# sar -a ※全情報を表示する

 

divider” title=”saslpasswd

saslpasswdは/etc/sasldbデータベースへのユーザ登録や削除を行うためのコマンド。

[主なオプション]
-d ユーザの削除
-u realm(ドメイン名)を指定
-p pipeモードでパスワードを設定

[使用例]
$ sasldbpasswd -u grooving-earth testuser

 

divider” title=”saslpasswd2

saslpasswd2の使用方法は基本的にはsaslpasswdと同じ。ただユーザが登録されるデータベースは/etc/sasldb2になる。

[主なオプション]
-d ユーザの削除
-u realm(ドメイン名)を指定
-p pipeモードでパスワードを設定

[使用例]
$ sasldbpasswd -u grooving-earth testuser

 

divider” title=”scp

scpコマンドはファイルをSSHで暗号化した上で転送してくれる。ローカルからリモートもしくはリモートからローカルへの転送に使用できる。

[書式]
$ scp [オプション] コピー元 コピー先

[オプション]
-C 通信を圧縮する。
-i 秘密鍵ファイル 秘密鍵ファイル(identityファイル)を指定する。初期設定はSSHバージョン1は、~/.ssh/identity、SSHバージョン2は、~/.ssh/id_rsa と ~/.ssh/id_dsa。
-P ポート番号 ポート番号を指定する。
-p コピー元の更新時間とモードを維持する。
-r ディレクトリ内を再帰的にコピーする。
-1 SSHのプロトコルバージョン1を使用する。
-2 SSHのプロトコルバージョン2を使用する
-4 IPv4を使用する
-6 IPv6を使用する

[使用例]
$ scp tmp.txt grooving-earth@aaa.bbb.ccc.ddd:~/
コピー元のファイル(tmp.txt)をリモートマシン(IPアドレス:aaa.bbb.ccc.ddd)のホームディレクトリ(/home/karuma)にコピー。IPアドレス(またはホスト名)とコピー先ディレクトリの間は、コロン「:」で区切る。

$ scp -rC dir grooving-earth@examle.com:/tmp
コピー元のディレクトリ(dir)をホスト名(example.com)のVPS(リモートマシン)の/tmpにコピーする。また、オプション -C で通信を圧縮している。

$ ssh karuma@example.com ls /tmp
/tmp にディレクトリ(dir)がコピーされているかをsshコマンドで確認する。

 

divider” title=”script

scriptコマンドを使用すればコンソールへの出力をログに記録してくれる。

[書式]
$ script

[オプション]
-a 出力をファイルや写しに追加する。
-f 書き込みごとに出力をフラッシュする。
-q メッセージを出力しない。
-t 時間を出力しない。

[使用例]
$ script
スクリプトを開始しました、ファイルは typescript です
$ ls
typescript
$ exit
exit
スクリプトを終了しました、ファイルは typescript です

 

divider” title=”sed

文字列の置換,行の削除を行う

[書式]
$ sed (オプション) [対象ファイル]

[オプション]
-e 次にくる因数はコマンドとみなす
-f 次にくる因数はスクリプトとみなす
-g 対象ファイル全体に適用する
-i 上書きモード(拡張子がある場合はバックアップをとる)
r 指定したファイルに記述されているコマンドやスクリプトに従って処理を行う

[主なコマンド]
d 行削除
s s/パターン/置換/で指定するパターンに対して置換する
g 最初のパターンだけでなく、すべて置換する
w file 置換できたファイルをファイルfileに保存
y trコマンド同様の置換を行う

[sedの条件式]
行数 処理する行数を指定する
行数,行数 指定した行数間の文字列を処理する。$を指定すると最後の行を表せる
/文字列/ 指定した文字列が現れる行を処理する。先頭に「^」を付けると指定した文字列から始まる行,末尾に「$」を付けると指定した文字列で終わる行が対象になる。行数の範囲指定でも利用できる
:ラベル bおよびtコマンド用のラベル
#コメント コメント
{..} 括弧(かっこ)内をブロックとして扱う
= 現在の行番号を表示する
a 文字列 文字列を追加する。ただし改行をしたい場合はその前に\を付ける
i 文字列 文字列を挿入する。ただし改行をしたい場合はその前に\を付ける
q 処理を中断しsedを終了する
r ファイル名 指定したファイルを読み出し,追加する
b ラベル 指定したラベルに移動する
t ラベル s///が成功していれば指定したラベルに移動する
c 文字列 選択している行を文字列に置換する。ただし改行をしたい場合はその前に\を付ける
d パターン・スペースを削除する
D パターン・スペース内の最初の改行までを削除する
h パターン・スペースをホールド・スペースにコピーする
H パターン・スペースをホールド・スペースに追加する
g ホールド・スペースをパターン・スペースにコピーする
G ホールド・スペースをパターン・スペースに追加する
x ホールド・スペースとパターン・スペースを入れ替える
n 次の行をパターン・スペースに読み込む
N 次の行をパターン・スペースに追加する
p 現在のパターン・スペースを表示する
P 現在のパターン・スペースの最初に現われる改行までを表示する
w ファイル名 現在のパターン・スペースを指定したファイルに書き込む
s/置換条件/置換文字/ 置換条件を置換文字に変換する。最後にgを付けた場合は置換条件に当てはまるすべての文字列が置換される
y/変換対象の文字/変換文字/ 変換対象の文字を変換文字に変換する

[使用例]
#word.txtの30行目までを表示
$ sed 30q word.txt

#文字列 string を含む行を表示
$ sed -n ‘/string/p’ file.txt

#index.htmlのSTRING_AをSTRING_Bに置換。(index.html.bakにバックアップ)
$ sed -i.bak ‘s/STRING_A/STRING_B/g’ ./index.html

#10 行目から STRING を含む行までを表示
$ sed -n ’10,/STRING/p’ file.txt

###grooving-earth.comからまでを表示
$ sed -n ‘/### grooving-earth\com/,/<\/VirtualHost>/p’ httpd.conf.20031017175947

#string を含む行から STRING を含む行までを表示
$ sed -n ‘/string/,/STRING/p’ file.txt

#1〜9行目を削除する
$ sed ‘1,9d’ sample.txt

#’#’で始まるコメント行を削除する。
$ sed ‘/^#/d’ sample.txt

#空行を削除
$ sed ‘/^$/d’ ./sample.txt

#file1.txt の 15 行目から 35 行目までを削除して file2.txt に保存する。
$ sed ‘15,35d’ file1.txt > file2.txt

#abcをABCに置換する
$ sed s/abc/ABC/sample.txt

#すべての行に”>”を挿入する
$ sed ‘s/^/\>/g’ sample.txt

#@記号をすべて削除する。
$ sed ‘s/@//g’ sample.txt

#マッチングした文字列abc@example.comを取り出す(マッチングした文字列は\1で取り出せる)
$ echo ‘abc <abc@example.com>’ | sed ‘s/.*<\(.*\)>/\1/’

#スクリプト「sedcom」に記されたコマンドを順次実行する。
$ sed -f secom sample.txt

#ファイルconvert.plを表示
$ sed -n p convert.pl

#pkgtools.confの436行目の末尾に  || -v -L /var/log/ports/ を追加
$ sed ‘436s/$/ ||\ -v \-L \/var\/log\/ports\//g’ /usr/local/etc/pkgtools.conf

#pkgtools.confの436行目をPORTUPGRADE_ARGS = ENV[‘PORTUPGRADE’] || ‘-v -L /var/log/ports/’に置換
$ sed “436s/.*/PORTUPGRADE_ARGS = ENV[\’PORTUPGRADE\’] \|\| \’\-v \-L \/var\/log\/ports\/\’/g” /usr/local/etc/pkgtools.conf

 

divider” title=”seq

seqコマンドはシェルスクリプト内などのインクリメント処理に使用されるコマンド。初期値から最終値までの数字の列を表示する。間隔を指定していない場合は初期値から最終値まで1ずつ増加する。

[書式]
$ seq [オプション] [初期値 [間隔]] 最終値

[オプション]
-f フォーマット C言語のprintfのフォーマットを指定し、浮動小数点を表示
-s 区切り文字 数値間の区切り文字を指定する。
-w 先頭を0で埋めて、数値の幅を等しくする。

[使用例]
$ seq 0 3 9 ※「初期値 0」「間隔 3」「最終値 9」でコマンドを実行

 

divider” title=”service

サービスの起動と停止

serviceコマンドは/etc/rc.d/init.d 以下のスクリプトを実行するだけのコマンド。/etc/から入力する必要がなくなる。

[使用例]
service sendmail restart ※ – Sendmailの再起動
※/etc/rc.d/init.d/sendmail restart と同義

 

divider” title=”setenv

環境変数設定

tcsh及びcshを使用している場合、環境変数の設定はsetenvコマンドを使用。

[使用例]
setenv EDITOR vi

 

divider” title=”setquota

setquotaコマンドはコマンドラインからquotaを設定するためのコマンド。他にquotaを設定するためのコマンドにedquotaがある。

[書式]
setquota [ -r ] [ -u | -g ] [ -F quotaformat ] name block-softlimit block-hardlimit inode-softlimit inode-hardlimit -a | filesystem…
setquota [ -r ] [ -u | -g ] [ -F quotaformat ] [ -p protoname ] name -a | filesystem…
setquota -t [ -u | -g ] [ -F quotaformat ] block-grace inode-grace -a | filesystem…
setquota -T [ -u | -g ] [ -F quotaformat ] name block-grace inode-grace -a | filesystem…

[オプション]
-u user quota を設定(デフォルト)
-g group quota を設定
-p protoname ユーザ・グループprotonameのquota設定を雛型として、quotaを設定

[使用例]
$ setquota -u user1 102400 204800 0 0 -a ※#user1にソフトリミット100MB、ハードリミット200MBを設定
$ setquota -p user1 user2 -a ※user1のquota設定をuser2に設定

 

divider” title=”shasum

SHA1チェックサムを表示または照合する。

[書式]
$ sha1sum [オプション] [FILE]…

[オプション]
-b, –binary バイナリモードで読み込む
-c, –check SHA1チェックサムが書き込まれたファイルFILEを読み込んで照合する
-t, –text テキストモードで読み込む (デフォルト)
–quiet チェックサムの照合が成功しても「OK」を表示しない(–checkと併用)
–status 何も出力しない(終了ステータスで確認)(–checkと併用)
-w, –warn チェックサムの書式が不正なら警告を表示する(–checkと併用)
–strict 無効な入力があれば終了ステータスを0以外で終了する(–checkと併用)
FILE ファイルを指定する

[使用法]
$ sha1sum httpd-2.4.7.tar.bz2 ※httpd-2.4.7.tar.bz2ファイルのSHA1チェックサムを表示
$ sha1sum –check httpd-2.4.7.tar.bz2.sha1 ※SHA1チェックサムが書き込まれたファイルhttpd-2.4.7.tar.bz2.sha1を読み込んで照合する

 

divider” title=”showmount

NFSサーバのマウント情報を表示する。

[書式]
$ /usr/sbin/showmount “[-adehv]” “[–all]” “[–directories]” “[–exports]” “[–help]” “[–version]” “[host]”

[オプション]
-a クライアントのホスト名とマウントされたディレクトリの両方を host:dir 形式でリストする。
-d あるクライアントからマウントされているディレクトリだけを表示する。
-e NFS サーバーのエクスポートリストを表示する。
-h ヘルプの短い要約を表示する。
-v プログラムの現在のバージョン番号を表示する。
–no-headers 出力からヘッダ情報を取り去る。

[使用例]
$ showmount -e server.grooving-earth.com

 

divider” title=”smbmount

サーバとのファイル共有に使用される、主にLinuxとWindows間のファイル共有に使用されるが、Linux同士での使用も可能。

[書式]
$ smbmount {サービス名} {マウント・ポイント} [-o オプション]

[オプション]
サービス名 利用したいサービス名を「\\サーバー名\共有名」の形式で指定する。コマンド・ライン(ターミナル)から実行する際には,バックスラッシュ(\)を二重に入力する。
マウント・ポイント マウント先となるデバイスやディレクトリを指定する。
username=ユーザー名 接続に用いるユーザー名を指定する。指定されない場合は環境変数「USER」の内容が使用される。
password=パスワード サーバーおよび共有への接続に必要なパスワードを指定する。パスワードの指定あるいはguestオプションを設定せず,さらに環境変数「PASSWD」からも値を取得できない場合は,プロンプトが表示されパスワード入力が要求される。
credentials=ファイル名 接続に使用するユーザー名とパスワードを,指定したファイルから読み込む。ファイル形式については,以下の使用例を参照。
krb Kerberosによる認証を試みる。Active Directory環境でのみ有効である。
netbiosname=NetBIOS名 送信元,すなわち自分自身のNetBIOS名を指定する。
uid=ユーザーIDまたはユーザー名 マウント先のファイル所有者 (owner) として用いるユーザーを,ユーザーIDもしくはユーザー名で指定する。
gid=グループIDまたはグループ名 マウント先のファイル所有グループ(owner)として用いるグループを,グループIDもしくはグループ名で指定する。
port=ポート番号 サーバーに接続するときのあて先ポート番号を既定の TCP 139 から変更する場合に用いる。
fmask=マスク値 リモート接続したファイルのローカルにおけるパーミッション・マスクを指定する。既定では現状の「umask」で指定しているマスク値を元に設定される。
dmask=マスク値 リモート接続したディレクトリのローカルにおけるパーミッション・マスクを指定する。既定では現状の「umask」で指定しているマスク値を元に設定される。
debug=デバッグ・レベル ログファイルに出力する,デバッグ・レベルを整数値で指定する。推奨値は「4」で,大きな値を指定すると大量のログが出力されることになる。
ip=IPアドレス 接続先サーバーをIPアドレスで指定する。通常はサーバー名として指定したNetBIOS名から名前解決して得られたIPアドレスをあて先として接続する。
workgroup=ワークグループ名 接続先のワークグループを指定する。
sockopt=ソケット・オプション ソケット・オプションの指定。指定する値はsmb.confファイルのマニュアル中にある「socket option」パラメータで確認できる。
scope=NetBIOSスコープ NetBIOSスコープを設定する。通常の利用ではこのオプションを指定することはない。
iocharset=キャラクタ・セット名 Linux側のキャラクタ・セット(文字コード)を,「iso8859-1」や「utf8」といった名前で指定する。
codepage=コード・ページ名 接続先サーバー側のキャラクタ・セット(文字コード)を,「cp850」といった名前で指定する。
unicode サーバーとのやり取りにUnicodeを使う。
lfs 2Gバイト以上の大きなファイルを扱えるようにする。カーネル2.4.25以降のLinuxでのみサポート。
ttl=時間 ディレクトリのリストをキャッシュする時間をミリ秒単位の整数値で指定する。既定値は1000(ミリ秒)である。多くの場合は10000ミリ秒(=10秒),遠隔地の場合などはより大きな数値を指定することでパフォーマンスが向上する。カーネル2.4.2以降のLinuxでのみサポート。
guest このオプションを指定すると,パスワードを入力要求しなくなる。
ro read-only(読み取り専用)としてマウントする。
rw read-write(読み書き可能)としてマウントする。

[使用例]
$ smbmount \\\\サーバー名\\共有名 マウント・ポイント

 

divider” title=”smbpasswd

sambaのパスワードを変更するにはsmbpasswdコマンドを使用する。

[使用例]
-su-2.05b# smbpasswd testuser
New SMB password:
Retype new SMB password:
Password changed for user testuser.
Password changed for user testuser.

新規ユーザの追加は-aオプションをつける。

 

divider” title=”smbstatus

sambaサーバのステータスをチェックするためのコマンド。このコマンドでsambaのバージョンや、設定ファイルの確認などができる。

[書式]
$ smbstatus [オプション]

[オプション]
-b 簡単な情報を表示
-d 詳細な情報を表示
-u -u usernameで特定のユーザーの情報を表示
-L ロックされたファイルの一覧を表示
-S 接続の一覧を表示

[使用例]
$ smbstatus -b ※-b 簡単な情報を表示
$ smbstatus -d ※-d 詳細な情報を表示

 

divider” title=”snmpconf

snmpd.confを対話的に作成するためのコマンド。ファイルはカレントディレクトリに作成される。

[書式]
$ snmpconf [options] [fileToCreate]

[オプション]
-f もし望むならば、ユーザーにプロンプトを出さずに、カレントディレクトリに既にあるファイルを強制的に上書きする。
-i 終了したときに、グローバルシステムコマンドが探す場所にファイルをインストールする。
-p 終了したときに、ユーザーのホームディレクトリにある .snmpサブディレクトリにファイルをインストールする。
-I DIRECTORY 終了したときに、ディレクトリ DIRECTORY にファイルをインストールする。
-a 質問をしない。既知のいろいろな設定ファイルを読み込み、再び書き出すだけである。設定ファイルに「自動的コメント」を行うという効果がある。下記の 「さらなる方法」のセクションを参照すること。
-r all|none 見つかった設定ファイルを全て読み込む、または全く読み込まない。通常 snmpconf は、どのファイルを読み込みたいかを尋ねる。これらの設定ファイルを読み込むと、尋ねられた質問の結果とマージされる。
-R file 指定した設定ファイルの一覧を読み込む。
-g groupname 設定エントリのグループが作成される。このグループは、初期設定ファイルを作成するために、ユーザーに一連の質問を行うために使われる。方針を指示するメニューはなく、質問の一覧だけがある。良い例としてsnmpconf -g basic_setup を実行してみよ。
-G  全ての既知の (設定エントリ) グループを一覧する。
-c configdir snmpconf は、尋ねるべき質問とそのファイルを知るために、設定情報のあるディレクトリを使う。このオプションにより、snmpconf はそれ自身を設定するために別の (ここで指定された) ディレクトリを使う。
-q いくらか出力を抑えて実行する。これは対話的なプログラムなので、このオプションは推奨しない。なぜなら、このオプションは助けになるように設計された出力からの情報を削除してしまうだけだからである。
-d 「たくさんの」デバッグ出力を有効にする。
-D より多くのデバッグ出力を perl 変数ダンプの形式で追加する。

[使用例]
$ snmpconf [options] [fileToCreate]

 

divider” title=”snmpwalk

MIBツリーの値を順次取得し表示するためのコマンド。※もしもこのコマンド実行時に”snmpwalk: No securityName specified”というメッセージがでたら、snmpd.confの設定がおかしい可能性がある。

[主なオプション]
-v プロトコルのバージョン (1 2c など)
-c コミュニティ名

[使用例]
$ snmpwalk -v 2c -c LOCAL localhost .1.3.6.1.4.1.2021.9.1 ※ディスクの情報を表示

 

divider” title=”sort

行を並び替える。

[書式]
$ sort [-cmus] [-t separator] [-o output-file] [-T tempdir] [-bdfiMnr] [+POS1 [-POS2]] [-k POS1[,POS2]] [file…]

[オプション]
-c ファイルが既にソートされているかどうかをチェックする。もし,ソートされていないのならばエラー・メッセージを出力する(戻り値として1を返す)
-m 複数のファイルをソートしながら1つのファイルにまとめる。ただし,それぞれのファイルはあらかじめソートされている必要がある
-b 各行の先頭に空白があった場合は,その空白を無視する
-d アルファベット・数字・空白だけを使用してソートする
-f 小文字を大文字と同じものとみなしてソートする
-i ASCIIコードの040以上,0176以下 (8進数) に含まれない文字は無視する
-M 先頭に現れた3文字を月表記とみなしてソートする。ただし,先頭にある空白は無視する
-n 先頭の数字や記号(“+” , “-” , “.” など)を数値とみなして,ソートする。先頭の空白は無視する
-r 逆順にソートする
-o output-file ソート結果を”output-file”ファイルに出力する
-t separator ソートの区切りとしてseparatorを使用する。separatorが指定されない場合は空白
-u デフォルトや-mオプションを指定した際,同じ行が存在したときは,1行だけ表示する。-cオプションを指定した際,連続して等しい行がないかどうかをチェックする
+POS1 [-POS2] 各行でソート対象となるキーの場所を指定する。設定方法はf.cの形をとり,fがフィールドをcはそのフィールド内での文字数を表す。ただし,先頭は0となる
-k POS1[,POS2] 上と同じでソート・キーの場所を設定する。ただし,先頭は1となる
file ソートするファイルを指定する

[使用例]
$ sort -f address-file ※address-fileを大文字小文字関係なくソートする
$ sort -r *.lst > result.lst ※拡張子がlstのファイルを逆順にソートしてresult.lstに書き込む

 

divider” title=”ssh-keygen

SSH鍵の作成及びパスワードの変更などを行うコマンド。

[書式]
$ ssh-keygen [オプション] -t 鍵タイプ [-N 新しいパスフレーズ] [-C コメント] [-f 鍵ファイル]
$ ssh-keygen -p [-P 古いパスフレーズ] [-N 新しいパスフレーズ] [-f 鍵ファイル]
$ ssh-keygen -i [-f 鍵ファイル]
$ ssh-keygen -l [-f 鍵ファイル]

[使用例]
# RSA1鍵を作成(version1)
$ ssh-keygen -t rsa1

#RSA鍵を作成(version2)
$ ssh-keygen -t rsa

#DSA鍵を作成(version2)
$ ssh-keygen -t dsa

#パスフレーズの変更
$ ssh-keygen -p -f ./.ssh/id_rsa
Enter old passphrase:
Key has comment ‘./.ssh/id_rsa’
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

 

divider” title=”stat

ファイルの最終更新日など、ファイルのステータスを表示するコマンド。

[書式]
$ stat (オプション)[ファイル名]

[オプション]
-L シンボリック・リンクの場合,リンクをたどる
-c,–format=FORMATn フォーマットを指定する
-f ファイル・システムのステータスを表示する
-t 簡易フォーマットで表示する

[使用例]

[書式]
$ stat ファイル名

[使用例]
$ stat test.txt ※ファイルの詳細な情報を表示する

 

divider” title=”su

ユーザーを切り替える

[書式]
$ su オプション ユーザ名

[オプション]
-f 初期設定ファイル(.bashrc/.cshrc)を実行しない
-l,- ログイン・シェルを使用してユーザーを切り替える
-m,-p 環境変数”HOME”,”USER”,”LOGNAME”,”SHELL”を変更しない
-c ユーザーの切り替え後にcommandを実行する
-s shellで指定したシェルを実行する
–help suコマンドの使用法を表示する
user[arg…] ログインするユーザーを指定する。argはログイン・シェルに引き渡す引数となる

[使用例]
$ su

 

divider” title=”sync

メモリ上のデータを強制的にディスクに書き出すコマンド。

[書式]
# sync

[使用例]
# sync ※バッファの内容をディスクに書き込みます。

 

divider” title=”sysctl

/procファイルシステムのカーネルパラメータを変更する際に使用される。このコマンドで設定された値はリブート後には消えてしまうため、通常は設定ファイル(/etc/sysctl.conf)に記述する。

[書式]
$ sysctl [オプション]

[オプション]
-a 利用できるすべての値を表示する。
-A 利用できるすべての値をテーブルで表示する。
-n 値だけ表示する。キー名は表示しない。
-N キー名のみ表示する。
-p ファイル 指定したファイルを読み込み、パラメータを変更する。ファイルを指定しない場合は「/etc/sysctl.conf」を読み込む。
-q 値のセットを標準出力に表示しない。
-w 変数=パラメータ 指定した変数を指定したパラメータに変更する。

[使用例]
$ sysctl -a ※利用できるすべての値を表示する

 

divider” title=”tac

ファイルを逆順に標準出力へ出力する

[書式]
$ tac [オプション ・・・] ファイル名 [ファイル名2 ・・・]

[オプション]
-b セパレータ文字列をレコードの先頭に付加する。
-r セパレータ文字列を正規表現として扱う。
-s 指定した文字列をセパレータ文字列とする。
–help 使用方法を表示する。
–version バージョン情報を表示する。

[使用例]
$ tac ファイル名

 

divider” title=”tail

ファイルの末尾を表示する。-fオプションを使用すればファイルに追記されていく内容をオンタイムで見ることができるのでログの監視などによく使用される。

[書式]
tail [オプション] [ファイル]

[オプション]
-c バイト数 表示するバイト数を指定する。
-f ファイルが内容が増えた場合、新しい末尾を追加表示する。
-n 行数 表示する行数を指定する。指定しない場合は、末尾 10行が表示される。
-q ファイル名を表示しない。
-v 常にファイル名を表示する。

[使用例]
# tail -n 3 /etc/passwd ※指定した行数(ここでは、3行)を表示する
# tail -f /var/log/syslog

 

divider” title=”tar

ファイルを書庫化・展開する(拡張子.tarなど)

[書式]
$ tar (オプション1)(オプション2) [ファイル]

[オプション1]
A tarファイルを書庫に追加する
c 書庫を新規に作成する
d 書庫とファイル・システムを比較する
r 書庫の後部にファイルを追加する
t 書庫の内容を表示する
u 書庫内のファイルより新しいファイルのみ追加する
x 書庫からファイルを取り出す
–delete 書庫内からファイルを削除する

[オプション2]
–atime-preserve ダンプしたファイルのアクセス時刻を変えない
-b, –block-size 値 ブロック・サイズを指定した数値に512バイトをかけた値にする。初期値は20
-B, –read-full-blocks 読み込みと同時にブロック化し直す
-C, –directory ディレクトリ名 指定したディレクトリに移動してから動作を始める
–checkpoint 書庫の読み出し中にディレクトリ名を表示する
-f, –file ファイル名 指定した書庫ファイルまたはデバイスを使用する。初期値は/dev/rmt0
–force-local 書庫ファイル名にコロンが存在してもローカル・ファイルとして扱う
-F, –info-script スクリプト,–new-volume-script スクリプト 各テープの最後にスクリプトを実行する
-G, –incremental 旧GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行う
-g, –listed-incremental ファイル名 新GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行う
-h, –dereference シンボリック・リンクをダンプしない
-i, –ignore-zeros ゼロのみからなるブロックを無視する
–ignore-failed-read 読み出しが不能なファイルに対して,ステータス・コードが0でない限りは終了しない
-j bzip2を通して処理を行う
-k, –keep-old-files ファイルが存在する場合は上書きしない
-K, –starting-file ファイル名 作業開始位置を指定する
-l, –one-file-system ローカル・ファイル・システムに限定して書庫を作成する
-L, –tape-length 値 ローカル・ファイル・システムに限定して書庫を作成する
-m, –modification-time ファイルの変更時間を抽出しない
-M, –multi-volume マルチボリュームの書庫の作成/一覧表示/抽出を行う
-N, –after-date 日付, –newer 日付 指定した日より新しい日付けのファイルだけを格納する
-o, –old-archive, –portability V7形式の書庫を書き込む
-O, –to-stdout ファイルを標準出力に書き出す
-p, –same-permissions, –preserve-permissions すべてのアクセス情報を書き込む
-P, –absolute-paths ファイル名の先頭のスラッシュ(/)を取り除かない
-R, –record-number メッセージと共にレコード数を表示する
–remove-files 書庫に追加後にファイルを削除する
-s, –same-order, –preserve-order 抽出するファイル名をソートし,表示する
–same-owner 所有者属性を保持したまま抽出する
-S, –sparse 大部分がビット0から構成されているファイルを効率的に処理する
-T, –files-from ファイル名 指定したファイルから抽出または作成するファイル名を読み込む
–null 文字コード0で終了したファイル名を読み込む。ただし,-Cオプションを指定することはできない
–totals 書き込まれたサイズを表示する
-v, –verbose 処理したファイルの一覧を詳細に表示する
-V, –label ボリューム名 指定したボリューム名のアーカイブを作成する
-w, –interactive, –confirmation 処理するごとに確認を求める
-W, –verify 書庫を書き込み後に照合する
–exclude ファイル名 指定したファイルを除外する
-X, –exclude-from ファイル名 指定したファイルに記述されているファイルを除外する
-Z, –compress, –uncompress compressを通して処理する
-z, –gzip, –ungzip gzipを通して処理する
–use-compress-program プログラム名 指定したプログラムを通して処理する
–block-compress 指定したプログラムを通して処理する
-[0-7][lmh] ドライブと密度を指定する

[使用例]
$ tar cvf arch.tar arc_dir ※arc_dirディレクトリ内のファイルを,書庫ファイル(arch.tar)にする
$ tar xvf arch.tar ※書庫ファイルを展開する
$ tar zcvf arch.tar.gz arc_dir ※gzip方式で圧縮した書庫ファイルを作成する
$ tar jxvf arch.tar.bz2 ※bzip2方式で圧縮された書庫ファイルを展開する
$ tar rf arch.tar add_file ※既にある書庫にファイル(add_file)を追加する
$ tar tf arch.tar ※書庫ファイルの内容を一覧する
$ tar cvf /dev/fd0 ~/ ※ホーム・ディレクトリ以下の内容をフロッピ・ディスクにバックアップする
$ tar vf arch.tar –delete readme.txt ※書庫ファイルからreadme.txtファイルのみを削除する

 

divider” title=”tcpdump

ネットワークトラフィックをダンプ出力する

[書式]
$ tcpdump [ オプション ] [ EXPRESSION ]

[オプション]
-a ネットワークアドレスとブロードキャストアドレスを名前解決する
-c COUNT COUNT個のパケットを受信したら終了する
-d コンパイル済みパケットマッチングコードを、人が読める形式で標準出力に出力し終了する
-dd パケットマッチングコードをC言語プログラムの一部として使える形式でダンプする
-e リンクレベルヘッダをそれぞれの出力行に表示する
-f 外部のIPv4アドレスをシンボルではなく数値で表示する
-i INTERFACE ネットワーク・インターフェースINTERFACEを監視する
-l 標準出力をバッファリングする
-n IPアドレスやポート番号を名前に変換しない
-m MODULE SMI MIBモジュールをファイルMODULEから読み込む
-p プロミスキャスモード(無差別透過モード)にしない
-q 簡易的な出力とする
-r FILE パケットをファイルFILEから読み込んで処理する(「-」なら標準入力から読み込む)
-s SNAPLEN 出力するバイト数をSNAPLENバイトとする
-t 時間情報を出力しない
-tt 時間情報を整形せずUNIX時間で表示する
-ttt 時間情報を直前の行との差分で表示する
-v やや詳細に出力する(TTLやサービス種別なども表示される)
-vv -vよりも詳細に出力する(NFS応答パケットの追加フィールドなども表示される)
-vvv -vvよりも詳細に出力する(telnet SBオプションなども表示される)
-w FILE 生パケットをそのままファイルFILEに出力する(-rオプションで読み込める)
-x パケットを16進数で表示する(リンクレベルヘッダを除く)
-A パケットをASCII文字で表示する
-B BUFFERSIZE OSのバッファサイズをBUFFERSIZEとする
-C FILESIZE 出力ファイルの最大サイズをFILESIZEメガバイト(MiB)とし、超えた場合は別ファイルにローテートする
-D tcpdumpで利用できるネットワークインターフェースをリスト表示する
-F FILE 条件式が書かれたファイルFILEを読み込んで利用する(これ以後の引数の条件式は無視)
-G ROTATE_SECONDS ファイル書き込みをROTATE_SECONDS秒でローテートする
-N ドメイン名を表示せずホスト名のみ表示する
-S TCPシーケンス番号を絶対値で表示する
-T TYPE 条件にマッチしたパケットをTYPE(rpc、rtp、rtcp、snmp、vat、wb)で指定したタイプで翻訳する
-X パケットの16進数表示の際にASCII文字列も表示する
-W FILECOUNT ローテート回数がFILECOUNTに達したら終了する
-Z USER root権限ではなくユーザーUSER権限で動作する
EXPRESSION パケットマッチングの条件式を指定する

[条件式の修飾子]
type 種類を表す(host:ホスト、net:ネット、port:ポート)
dir 方向を表す(src:送信元、dst:宛先、src or dst:送信元または宛先、src and dst:送信元かつ宛先)
proto プロトコルを表す(ether、fddi、mopdl、ip、ip6、arp、rarp、decnet、lat、sca、moprc、mopdl、icmp、icmp6、tcp、udp)

[条件式の修飾子]
dst host HOST パケットの宛先ホストがHOSTであれば真
src host HOST パケットの送信元ホストがHOSTであれば真
host HOST パケットの宛先もしくは送信元ホストがHOSTであれば真
ether dst EHOST Ethernetの宛先アドレスがEHOSTであれば真
ether src EHOST Ethernetの送信元アドレスがEHOSTであれば真
ether host EHOST Ethernetの宛先または送信元アドレスがEHOSTであれば真
gateway HOST パケットのゲートウェイがHOSTであれば真
dst net net パケットの宛先アドレスがネットワークNETを含んでいれば真
src net net パケットの送信元アドレスがネットワークNETを含んでいれば真
net NET パケットの宛先または送信元アドレスがネットワークNETを含んでいれば真
net NET mask MASK パケットのアドレスをMASKでマスクしてNETになれば真
dst port PORT 宛先ポートがPORTであれば真
src port PORT 送信元ポートがPORTであれば真
port PORT 宛先もしくは送信元ポートがPORTであれば真
less LENGTH パケット長がLENGTH以下であれば真
greater LENGTH パケット長がLENGTH以上であれば真
[ip proto] PROTOCOL IPパケットのプロトコルがPROTOCOL(tcp, udp, icmp)であれば真
[ip6 proto] PROTOCOL IPv6パケットのプロトコルがPROTOCOL(tcp, udp, icmp)であれば真
ether broadcast パケットがEthernetのブロードキャストであれば真
ip broadcast パケットがIPブロードキャストであれば真
ether multicast パケットがEthernetのマルチキャストであれば真
ip multicast パケットがIPマルチキャストであれば真
ip6 multicast パケットがIPv6マルチキャストであれば真
[ether proto] PROTOCOL EthernetのプロトコルがPROTOCOL(ip、ip6、arp、rarp)であれば真

[使用例]
$ tcpdump dst port ftp or ftp-data ※ #ftpデータのトラフィックを調べる

 

divider” title=”time

マンドの時間計測やリソース使用量を表示するコマンド。

[書式]
$ time [オプション] コマンド

[オプション]
-p フォーマット”real %f\nuser %f\nsys %f\n”が使用される。単位は秒。

[使用例]
#ディスクの書き込み速度を計測

$ time dd if=/dev/sda4 of=/dev/null

 

divider” title=”top

現在のシステムの状況を表示

topコマンドを使用すれば現在の負荷、アップタイムなどの情報を見れる。

[shift+m]でメモリ使用量順にソート、
[shift+p]でCPU使用率順にソートすることが可能。
コマンドを終了する場合は「qキー」を押す。

[書式]
# top [オプション]

[オプション]
-d 時間 スクリーンを更新する時間間隔を秒単位で指定するす。
-n 回数 topを終了する繰り返し回数を指定する。
-p プロセスID 監視するプロセスIDを指定する。
-U ユーザーID 監視するユーザーIDを指定しする。

[プロセス]

PID プロセスID
USER ユーザー名
PR 優先度(プライオリティ)
NI nice値
VIRT 仮想メモリの総量
RES 常駐サイズ(kb)
SHR 共有メモリサイズ(kb)
S プロセス状態
%CPU CPU利用率
%MEM メモリー利用量
TIME CPU利用時間
COMMAND コマンドライン

[使用例]
# top ※稼働中のプロセス一覧を表示
# top -p 18074 ※指定したプロセスIDのみ表示

 

divider” title=”yum

パッケージを取得してインストール/アップデートをする。

[書式]
# yum [option] [command] [package]

[オプション]
-y 問い合わせがあったときにすべて「y」と答える
-c 設定ファイル yumの設定ファイルを指定する。Fedora Coreでこれを指定しないと,通常は/etc/yum.confファイルが利用される
-R 時間 タイムアウトを設定する。単位は分

[コマンド]
install パッケージをインストールする
update パッケージをアップデートする
check-update アップデート可能なパッケージを一覧する
remove パッケージをアンインストールする
list インストール可能なパッケージを一覧する。オプションについては表3を参照
search キーワード 指定したキーワードでパッケージを検索する
info パッケージの情報を表示する。オプションについては表3を参照
clean パッケージと古いヘッダーを削除する。オプションについては表4を参照

[リスト・オプション]
updates アップデート・パッケージを一覧する
installed システムにインストールされているパッケージを一覧する
extras システムにインストールされているが,サーバーには存在しないパッケージを一覧する

[クリーン・オプション]
packages ダウンロードしたパッケージを削除する
headers
oldheaders 古いヘッダーを削除する
all すべてを削除する

[使用例]
# yum check-update ※パッケージの更新があるかをチェック
# yum install samba ※パッケージをインストールする
# yum update ※システムにインストールされているパッケージをアップデートする
# yum remove samba ※パッケージをアンインストールする
# yum list ※サーバーにあるパッケージを一覧する
# yum info samba ※パッケージの情報を表示する

 

divider” title=”zip/unzip

zipファイルの圧縮・解凍

[書式]
$ unzip [-lopzZ] 圧縮ファイル ファイル

[オプション]
-l 圧縮ファイル内のファイルをリスト表示する。
-o ファイルの上書き確認プロンプトを表示せずに強制的に上書きする。
-p 圧縮ファイルの内容を表示する。
-z 圧縮ファイルのコメントを表示する。「zip -z」でコメントを付加できる。
-Z 圧縮情報を表示する。「zipinfo」というコマンドと同様。
圧縮ファイル 復元するファイル名を指定する。
ファイル 復元するファイルを指定する。

[使用例]
$ unzip file1.zip ※「file1.zip」を復元する。
$ unzip -o file1.zip ※「file1」を復元する。ファイルは強制的に上書きする。

SNS SHARE

LEAVE A REPLY