UNIX(ディレクトリ基本操作ファイル操作テキスト処理コマンド履歴・再実行プロセス・ジョブプリントアウトセキュリティ使用容量リンクリモートコマンドを調べる解凍・圧縮システム管理シェル変数・環境変数その他)、 EmacsLatexプログラミング関連その他

UNIXコマンド

★ディレクトリ基本操作
pwd 現在ディレクトリのフルパス表示
cd ホームディレクトリへ移動
 (dir名) 指定ディレクトリへ移動
mkdir (dir名) 新規ディレクトリを作成
rmdir (dir名) 空のディレクトリを削除
rm -r (dir名) 指定ディレクトリを中のファイルごと削除
cp -r (dirA) (dirB) ディレクトリAをディレクトリBにコピー
mv (file名) (dir名) ファイルをディレクトリへ移動
ls 現在ディレクトリのファイル一覧表示
 (dir名) 指定ディレクトリのファイル一覧表示
 -d (dir名) 指定ディレクトリ自身の情報を表示
 -a 隠しファイルも含む全てのファイル表示
 -l 詳細情報を表示
 -F ファイルの種類を示すマークを付けて表示
 -R ディレクトリ下層までたどって表示
pushd (dir名) 現在ディレクトリをディレクトリスタックに積み、ディレクトリ移動
popd ディレクトリスタック先頭のディレクトリへ移動して、スタックから降ろす

★ファイル操作
cat (file名) ファイルの内容表示
 -n 行番号を付加して表示
rm (file名) ファイルを削除
 -i ファイル削除の確認をする
cp (fileA) (fileB) ファイルAをファイルBにコピー
 -i ファイル上書きの確認をする
 -p 最終変更日時や所有者などの属性を変えずにコピー
mv (fileA) (fileB) ファイルAの名前をファイルBに変更
 -i ファイル上書きの確認をする
touch (file名) 空のファイルを作成
touch (既存file名) ファイル更新日時を変更
file (file名) ファイルの種類を調べる

★ファイル検索
find (dir名) 指定ディレクトリ以下のファイルを列挙
 -name (文字列) 指定した文字列に一致するファイル・ディレクトリを検索
  (※「文字列」にはワイルドカード文字を使用できる。その時は文字列を""で囲む。)
 -user (user名) 指定ユーザ名が所有者のファイル・ディレクトリを検索
 -size (サイズ) 指定サイズのファイル・ディレクトリを検索
  (※サイズは「+5k(5キロバイト以上)」「-512c(512バイト以下)」などと指定。)
 -type (種類) 指定した種類のファイル・ディレクトリを検索
  (※f:ファイル d:ディレクトリ)
 -amin (分) 最終アクセスが指定分に該当するファイル・ディレクトリを検索
locate (文字列) 指定文字列を名前に含むファイル・ディレクトリを列挙

★テキスト処理
more (file名) ファイルの内容表示(ページごとに止まる)
less (file名) ファイルの内容表示(スクロール操作できる)
lv (file名) ファイルの内容表示(ページごとに止まる+α)
head (file名) ファイルの先頭10行を表示
 -(行数) ファイルの先頭指定行数を表示
tail (file名) ファイルの末尾10行を表示
 -(行数) ファイルの末尾指定行数を表示
 +(行数) ファイルの末尾指定行以降を表示
grep (検索文字列) (file名) 指定文字列がある行だけを表示
※コマンドの出力を「|」で渡して使うことが多い
 -c マッチした行数を表示
 -v マッチしない行を表示
 -A (数) マッチした行の後ろの行(指定した分)も表示
 -B (数) マッチした行の前の行(指定した分)も表示
wc (file名) ファイルの行数、単語数、文字数を表示
diff (fileA) (fileB) fileAとfileBの差分(変更点)を表示
cut (file名) 各行から文字を切り出して表示
 -d (文字) 区切り文字を指定
 -f (数字) 何番目のデータを表示するかを指定(先頭は1番目。「,」「-」で複数指定可)
uniq (file名) 連続している重複行を削除して表示
sort (file名) 行単位で並べ替えを行う(アルファベット順)
 -t (文字) 区切り文字を指定(各行が特定の文字で区切られた同じ構造になっている場合に使用)
 +(N1) -(N2) N1〜N2-1番目のデータを比較対象にする(先頭データは0番目)
 -n 数値として比較
 -b 先行ブランク無視
nkf --guess (file名) 文字コードを調べる
nkf -e (file名) 文字コードをEUCに変換して標準出力に出力
 -j JISに変換
 -s Shift_JISに変換
 -w UTF-8に変換
 --overwrite 入力ファイルに上書きして出力
dos2unix -o (file名) 改行コード変換
unix2dos -o (file名) 改行コード変換

★コマンド履歴、再実行
history コマンドの履歴リストを表示
!(履歴リスト番号) そのコマンドを再実行
!(文字列) その文字列で始まるコマンドを再実行
!! 直前コマンドを再実行

★プロセス・ジョブ操作と強制終了
ps プロセス一覧表示
jobs ジョブ一覧表示
kill
 (プロセスID) そのプロセスを強制終了
 -9 (プロセスID) 何が何でも強制終了
 ※プロセスIDの代わりに「%(ジョブ番号)」でもよい

★プリントアウト
lp
 (file名) 印刷
 -d プリンタ番号を指定
lpstat 印刷待ち状態の表示
cancel -u (userID) 自分の印刷要求を全てキャンセル

★セキュリティ
yppasswd パスワード変更
chmod (モード) (対象) アクセス権の変更
xlock 操作防止のためのロックをかける
last ログイン履歴の表示

★使用容量
du 子ディレクトリのディスク使用量表示
 -hs 現在ディレクトリ以下のディスク使用量の合計表示
df ディスクの空き容量表示

★リンク
ln -s (file_path) (link名) シンボリックリンク(ショートカット)の作成
※file_pathは絶対パスまたは作成するシンボリックリンクからの相対パス

★リモート
telnet (host名) hostにリモート接続
telnet (host名) (port番号) hostにリモート接続(ポート番号指定)
ssh (host名) hostにリモート接続(セキュア)
scp (file名) (user名@host:dir) リモートへファイル転送
scp (user名@host:file名) (dir) ローカルへファイル転送
sftp (user名@host) hostとの間のファイル転送
 (利用可能コマンド)
 cd, lcd, ls, lls, get (リモートpath), mget (リモートpaths), put (ローカルpath), mput (ローカルpaths), help, exit
 ※↑l付きはローカル、付いてないのはリモート

★コマンドを調べる
man (cmd名) そのコマンドのマニュアルを表示
man -k (キーワード) キーワード検索
which (cmd名) そのコマンドの実行ファイルがどこにあるか表示

★解凍、圧縮
tar -xvf (file.tar) .tarの解凍
gunzip (file.gz) .gzの解凍
tar -xvzf (file.tar.gz) .tar.gzの解凍
tar -cvzf (file.tar.gz) (file_path) .tar.gzの作成

★システム管理
※root権限が必要なものがある
su rootになる
shutdown シャットダウン
 -r シャットダウンして再起動する
 -h シャットダウンして停止する
 (hh:mm) 指定した時間にシャットダウン
 +(数字) 指定した分経過後にシャットダウン
reboot 再起動
hostname ホスト名(コンピュータ名)を表示
groups 所属グループを表示
chown (user) (file名) ファイルの所有者をuserに変更
chgrp (group) (file名) ファイルの所有グループをgroupに変更
useradd (新user名) 新しいユーザを登録
userdel (user名) ユーザを削除
groupadd (新group名) 新しいグループを登録
groupdel (group名) グループを削除
passwd (user名) 指定ユーザのパスワードを設定
who 現在ログインしているユーザを表示
whoami 現在のログイン名を表示

★環境変数・シェル変数
set 全ての変数とその値を表示
printenv 全ての環境変数とその値を表示
echo ($変数) その変数の値を表示
(変数)=(初期値) シェル変数を初期値を指定して宣言
export (変数) 変数の環境変数化
export (変数)=(初期値) 環境変数を初期値を指定して宣言
unset (変数) 変数を削除

★その他
echo (文字列) その文字列を標準出力に表示(リダイレクト用)
echo (cmd) そのコマンドを(ワイルドカード文字を展開して)表示
watch -n (秒数) (コマンド) そのコマンドを指定秒数ごとに実行して、出力結果を全画面表示
chmail メール転送先設定
※/var/forward/(ユーザ名)に転送先をコンマで区切って直接書いてもよい
stty -a キーの機能割り当てを表示
date 現在日時・時刻の表示

★ワイルドカード文字
? 任意の一文字
* 0文字以上の文字列
[(文字セット)] 文字セットに含まれる一文字
(※文字セットは「abcd」や「a-d1-9」というような指定方法)
[!(文字セット)] 文字セットに含まれない一文字
{(文字列,...)} 文字列リストに含まれる文字列

Emacs

★基本ウインドウ操作
[Files]-[MakeNewFrame] 新しいウインドウを開く(※同じファイルを開くと一方の変更が他方に反映される)
C-x C-c 終了
M-x line 行数表示

★基本文書操作
C-x C-f ファイルを開く(新規も)
C-x C-s 上書き保存
C-x C-w ファイル名を指定して保存
C-_ アンドゥ
C-Space 選択範囲始点設定
C-w 選択範囲始点からカーソルの前までをカット
M-w 選択範囲始点からカーソルの前までをコピー
C-y ペースト
範囲をLdrag その範囲をコピー
範囲をLdrag+WRclick その範囲をカット
Cclick ペースト

★検索と置換
[Search]-[QueryReplace] 連続文字列置換
(※置換中の操作:y:置換して次へ n:置換せずに次へ q:置換終了)
C-s (文字列) 文字列検索(順方向)(C-s,rを押すたびに次、前へ)
C-r (文字列) 文字列検索(逆方向)(C-s,rを押すたびに次、前へ)

★カーソル、スクロール操作
C-a 行頭へ
C-e 行末へ
Fn+↑(M-v) 一画面上へ
Fn+↓(C-v) 一画面下へ
Fn+←(M-<) 文頭へ
Fn+→(M->) 文末へ
ScrollBarをCdrag 画面のスクロール
wheel 画面のスクロール
M-x goto-line 指定行へジャンプ

★日本語入力、記号入力、特殊入力
C-\ 日本語入力のON/OFF
C-^ 記号入力(Japanese-JISX0208、日本語入力モードでのみ有効)
[Mule]-[Describe Coding Systems] 文字コードの変更
※EUC:euc-japan-unix等
M-x set-buffer-file-coding-system 文字コードの変更
M-i タブ入力
C-d 一文字抹消

★漢字変換時
C-i 文節縮め
C-o 文節伸ばし
M-h 平仮名変換
M-k 片仮名変換

★ウインドウ分割
C-x o 他のウインドウへカーソル移動
C-x (数字) 指定した数にウインドウ分割
C-x 0 カーソルがあるウインドウを消す
C-x 1 カーソルがあるウインドウ以外を消す
下barをCClick そのウインドウ以外を消す

★オートフォーマット
M-x auto-fill-mode 自動改行モードのON/OFF

★ディレクトリモードでの操作
e カーソル位置のファイルを開く
d 削除マークを付ける
u 削除マークを消す
x 削除マーク付きファイルを削除

Latexに関するコマンド

★コンパイル、表示、印刷など
platex (file.tex) .dviファイルを生成
xdvi (file.dvi) .dviファイルを表示
pdf2ps (file.pdf) pdfファイルをpsファイルに変換
ps2epsi (file.ps) psファイルをepsiファイルに変換
dvips (file.dvi) | lp -Tpostscript .dviファイルを印刷(postscript)

プログラミングに関するコマンド

cc,gcc
 (file.[co]) コンパイル、リンクして実行ファイルa.outを生成
 -c コンパイルだけする
 -o (実行file名) 実行ファイル名を指定
 -lm 数学関数を使う時必要
(dir名)/(file名) 自作プログラム実行
make Makefileに従った動作をする
javac (file.java) Javaコンパイラ
java (file.class) Javaインタプリタ

その他

xgraph (file名) グラフ表示
display (file名) 画像表示
script 端末エミュレータ上の文字列をファイルに記録
exit scriptの終了、端末エミュレータの終了
xwd Xwindowの表示を標準出力
--(特殊オプション) それ以降の引数をオプションとみなさない
xeyes 目を表示

※環境によって使えるコマンドに若干の違いがあるかと思います。ご了承ください。


HOME