Command List

Directory...

cd directory_name
カレントディレクトリの移動
cd - 直前のディレクトリに移動。

ls directory_name(s)
ファイル、ディレクトリ一覧の表示
ls -a: dot fileを含めて表示。
ls -l: 詳細な情報(permissionなど)を表示。
ls -R:サブディレクトリの中身まで表示。

mkdir directory_name
ディレクトリの作成
mkdir -p dir1/sub1/sub2でサブディレクトリまでまとめて作成。

rmdir directory_name
ディレクトリの削除(ディレクトリの中身が空の場合)

rm -r directory_name
ディレクトリの中にfileが存在するときのディレクトリの削除
-f オプションを付けることで強制的に削除。
cp source destination
ディレクトリのコピー
mv source destination
ディレクトリ名の変更、移動
ln -s directory_name link_name
シンボリックリンクの作成
File...
cp file_name1 file_name2
ファイルのコピー
-f: コピー先にファイルがあっても強制的に上書きする。
-i: 上書き前に確認する。
-u: コピー先のファイルのタイムスタンプが同じか新しければコピーしない。
-b: 上書きされるファイルのバックアップをとる。

rm file_name
ファイルの削除
-f: 強制的に削除する。
-i:削除前に確認する。
-r:サブディレクトリも削除する。

cat file1 file2 ... > connected_file
ファイルの連結

touch
空のファイルの作成
Permission...
chmod mode file_name(s)
パーミッションの変更
+ 権限を追加。
- 権限を削除。
= 値を指定する。
e.g.
$ chmod u+x file_name
$ chmod o=w file_name
$ chmod 755 file_name

chown user_name file_name(s)
所有者の変更(rootのみ可能)
グル-プも変更したい場合は、
chown user_name.group_name file_name(s)
OR chown user_name:group_name file_name(s)

touch file_name
タイムスタンプの変更
touch file_name -d YYYY/MM/DD: タイムスタンプがYYYY/MM/DDの現在時刻に変更される。
touch file_name -t (YYYY)MMDDhhmm(ss): タイムスタンプをMM/DDのhh:mmに変更する。

Viewing file...
more file_name
テキストファイルを一画面ずつ表示(後戻りは出来ない)
more file_name /key_word :key_wordで検索。nで次の候補の表示。
more file_name でファイルを表示中、v でviが起動。
q で終了。
cat file_name |more でも同様の働きをする。

less file_name
テキストファイルを一画面ずつ表示(前後に移動可能)
less file_name.gz でgzip形式で圧縮されたファイルも表示可能。
more 同様、less file_name /key_wordで検索可能。
n で次の候補の検索、N で逆方向に検索
カラー表示のlsをlessで表示させるには、
ls --color | less -r

head(tail) file_name
テキストの先頭(末尾)10行を表示

strings file_name
ファイルの可読部分を表示

file file_name
ファイル形式の表示
Search
which command
起動コマンドを探す

whereis command
コマンドの関連ファイルを探す
起動コマンドのパス、ソース、マニュアルのパスを表示することが出来る。

locate file_name
ファイルを探す
locateはlocatedbというファイル名データベースからファイルを検索する。その ため、新規のファイルなどヒットしないことがある。locatedbはupdatedbコマン ドで更新する。

*データベースが作られていない(or作っていない)ため、使えていない。

find directory -name file_name (action)
ファイルを条件付きで探す
find dir -name name* -type d
dir以下から、name*というディレクトリを検索する。
find dir -name name* -type f
dir以下からname*というファイルを検索する。

検索したファイルの削除:
find dir -name "*.old" -exec rm {} \;
dir以下の*.oldというファイルを削除。
find dir -name "*.old" -ok rm {} \;
dir以下の*.oldというファイルを確認しながら削除。
{ }:検索されたファイル名を示す。
; :コマンドの終りを示す。
\ :;をエスケープする。
AND検索
そのまま並べて指定しても良いが、 -a (OR -and)でつなげる。
OR検索
-o (OR -or)で条件をつなげる。
NOT検索(?)
-notを付けることによって、判定結果を逆転できる。
複数の条件を組み合わせる場合には、( )を使うが、シェルに解釈されないよう に、\でエスケープする。

grep keyword file_name
特定の文字列を含んだファイルを検索
正規表現を使うことが出来る。
grep hogehoge *.doc
*.docに該当するファイルの中からhogehogeという文字列が含まれている行 を出力。
grep -3 hogehoge *.doc
*.docに該当するファイルの中からhogehogeという文字列が含まれている行 および前後3行を出力行。
grep -i key_word file_name
-iオプションによって大文字、小文字の区別無く検索出来る。
AND(OR)検索
複数のキーワードを指定したい場合は、-eオプションでつなげる。
e.g. grep -e hogehoge -e foofoo

OR検索の場合、拡張正規表現(|)を使う。その場合、-Eオプションを付けるか、 \|とする。
e.g.
grep -E "hogehoge|foofoo" file_name
OR
grep "hogehoge\|foofoo" file_name

Compressing/Expanding/Archiving file
gzip file_name / gunzip file_name.gz
ファイルの圧縮/解凍
gzip / gunzipは元ファイルが残らないので、元ファイルを残したい場合は、-c オプションを使う。
#gzip -c original_file >original_file.gz
#guzip -c original_file >original_file
optionmeaning
-c圧縮/解凍の結果を標準出力に書き出す。
-l圧縮ファイルの内容を表示する。
-t圧縮ファイルをテストする。
-fファイルを上書きする。
-rディレクトリを再帰的に扱う。
-v作業状態を表示する。
-数値圧縮率を調節する。
1〜9で、1は速度優先、9は圧縮率優先。

bzip2 file_name / bunzip2 file_name.bz2
ファイルの圧縮/解凍
gzipよりも新しく圧縮率が高い。使い方はgzipと同じでオプションもほとんど同 じものが使える。

compress file_name / uncompress file_name.Z
ファイルの圧縮/解凍
gzipと比べると圧縮率が低いため、ほとんど使われておらず、圧縮・解凍ともに gzip/gunzipで代用可能。

zip *.zip file_name(s) / unzip *.zip
ファイルの圧縮/解凍
Windows環境のZIP形式と同じ。

lha a *.lha file_name(s) / lha x file.lha
ファイルの圧縮/解凍
Windows・Mac環境のLZH形式と同じ。圧縮にはaオプション、解凍にはxオプショ ンを指定する。何も指定しなかった場合は、*.lhaファイルの一覧を表示する。

tar -cvf アーカイブ名 対象ファイル /
tar -xvf アーカイブ名
アーカイブファイルの作成 / 展開

optionmeaning
-cアーカイブの新規作成。
-tアーカイブの内容を表示する。
-rアーカイブに追加。
-xアーカイブを展開する。
-fアーカイブファイル名の指定。
-v処理内容を詳しく表示する。
-oファイルを標準出力に書き出す。
-zgzipで圧縮・解凍する。
-ybzip2で圧縮・解凍する。

*オプションの順番に決まりは無いが、-fの後にはファイル名が続かなければい けないので、-cvfの様にfを最後にする。