tsurutanのつぶやき

備忘録としてつぶやきます

UNIX コマンド集

f:id:tsurutan:20150611113524p:plain

UNIXシェルとは

UNIXオペレーティングシステムおよびUnix系システムの従来からのユーザインタフェースを提供するコマンドラインインタプリタまたはシェルである。

です。コマンドを覚えてターミナルマスターになりましょう。

コマンド一覧

シェルコマンド

コマンド 説明
alias コマンドの別名(エイリアス)を登録
cd ディレクトリの移動
exit ログアウト
jobs ジョブの状態を表示
kill プロセス・ジョブを強制終了
unalias 登録されているコマンドの別名(エイリアス)を削除

ファイル・ディレクトリ操作

コマンド 説明
chmod パーミッション(所有権)の変更
chown ファイル・ディレクトリの所有者を変更
cp ファイル・ディレクトリをコピー
dd ファイルの変換・コピー
find どこにあるか分からないファイルを検索
history コマンド履歴の表示
ln リンクファイルの作成
ls ファイル・ディレクトリの情報を表示
merge ファイルの結合
mkdir フォルダの作成
mv ファイル・ディレクトリ移動・名前変更
pwd 現在のディレクトリの場所を表示
rm ファイル・ディレクトリを削除
rmdir ディレクトリ削除
sort 行を並び替える
split ファイルの分割
touch ファイルの最終アクセス日時と最終更新日時を変更

テキスト処理

コマンド 説明
cat ファイルを連結して表示
comm ファイルの内容を比較
diff ファイルの内容を比較
echo 文字列や変数の内容を表示
emacs テキストの編集
grep ファイルからパターン検索
less テキストを見る
more テキストを見る
uniq ファイルの重複行を削除して表示
vi テキストの編集
wc テキストファイルの行数・単語数・バイト数を表示

システム関連

コマンド 説明
chsh ログインシェルの変更
date 現在時刻を表示
env 環境変数の表示・設定
finger ユーザー情報を表示
groups グループ名を表示
id ユーザー名などを表示
login ログイン
mount ファイルシステムのマウント
passwd パスワードを変更する
shutdown システムをシャットダウン
su ユーザーの切替、管理権限の取得
w ログインしているユーザー名を表示
who 現在ログインしているユーザ情報を表示

ネットワーク関連

コマンド 説明
ftp FTPを使用してファイルを転送
hostid ホストコンピュータのIDを表示・設定
hostname ホストコンピュータの名前を表示・設定
ifconfig ネットワークインターフェース情報の表示・設定
ping ホストコンピュータとの接続を確認
rlogin ホストコンピュータにログイン
scp リモートホストとの間でファイル・ディレクトリをコピー
tcpdump ネットワークのパケットを取得
telnet ホストコンピュータにログイン

ジョブ

コマンド 説明
at 指定時刻にジョブを自動実行
atq ジョブの一覧を表示
atrm ジョブを削除
batch システム負荷状況によってジョブを自動実行
ps プロセス状態の表示

圧縮・展開

コマンド 説明
gzip gz(gzip形式)で圧縮・解凍
lha lzhファイルの圧縮・展開
tar tarファイルの圧縮・展開
unzip zipファイルの展開
uudecode uuencodeで作成されたファイルのデコード
uuencode バイナリファイルのエンコード
zip zipファイルの圧縮

印刷関連

コマンド 説明
lpc プリンターの制御
lpq プリンターの状態を確認
lpr プリンターで印刷
lprm 印刷キューの削除
lpstat プリントサービスの状態を表示

その他

コマンド 説明
cal カレンダーを表示させる
gcc C言語コンパイルを実行
man コマンドのマニュアルを表示
nkf 日本語の文字コードを変換
quota ディスク利用量の確認
time コマンド実行に要する時間を測定
whatis コマンドのマニュアルのヘッダを表示
which コマンドの場所を表示

環境変数

環境変数とは OSが提供するデータ共有機能の一つ。OS上で動作するタスク(プロセス)がデータを共有するための仕組みである。特に環境変数はタスクに対して外部からデータを与え、タスクの挙動・設定を変更する際に用いる。

シェルによって使える環境変数が変わりますので注意しましょう。

環境変数の例

変数名 説明
COLUMNS, LINES キャラクタ端末の桁数と行数を指定する。termcap/terminfo/cursesなどを利用したプログラムで利用される。他の方法(termcap、sttyなど)によって指定されていない場合に有効。
EDITOR エディタのコマンド名を指定する。エディタを起動するプログラム(mail、lessなど)で参照される。
HOME ホームディレクトリを指定する。cdコマンドで引数を指定しない場合、このディレクトリに移動する。例: /home/$USER
LANG ロケールを指定する。日本語ロケールの場合はjaまたはja_JPなどを指定する。setlocale()関数の呼び出しにより有効となる。
LESSCHARSET lessの入力・出力文字コードを指定する。
MAIL メールボックスのパス名を指定する。例: /var/mail/$USER, /usr/spool/mail/$USER
NAME ユーザの名前を指定する。メール送信時などに使われる。
PAGER ページャ(more、less、pgなど)を指定する。ページャを起動するプログラム(manなど)で使われる。
PATH コマンド検索パスをコロンで区切って指定する。シェルが参照する。
PWD カレントディレクトリが設定される。シェルスクリプトでpwdコマンドの代わりに$PWDを参照することがある。
SHELL 現在のシェルの起動パスが設定される。シェルを確認するのに利用できる。例: /bin/sh
TERM 端末種別が設定される。この値をキーとしてtermcap/terminfoデータベースが検索される。例: vt100
TERMCAP termcapデータベースファイルのパス、あるいは検索されたデータベースエントリの内容が設定される。例: /etc/termcap
TERMINFO terminfoデータベースディレクトリのパスが設定される。例: /usr/share/misc/terminfo
TZ タイムゾーン情報を指定する。標準Cライブラリの日時関連の関数で参照される。例: JST-9
USER ログイン名が設定される。
VISUAL スクリーンエディタのコマンド名を指定する。EDITORと同様。

すべてのUNIXで20年動くプログラムはどう書くべきか デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]

すべてのUNIXで20年動くプログラムはどう書くべきか デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]

UNIXの絵本 UNIXが楽しくわかる9つの扉

UNIXの絵本 UNIXが楽しくわかる9つの扉