unix
基本コマンド
cat
- 指定したファイルの内容を表示する。ファイルが長くて一画面に収まらない場合は、more や less などのページャと呼ばれるプログラムを使う方がよい。
-n 行番号を表示
-b 行番号を表示。空行をカウントしない
-s 連続する空行を1行の空行として表示
-v コントロールコードを文字列 (^X や M-x など) として表示する
-t -v オプションに加えて、ダブを ^I で表示する
-u 出力をバッファリングしない
chmod
- ファイル・ディレクトリの権限を変更する。
% ls -l sample.dat
-rwxr-xr-- 1 user group 402 May 26 1997 sample.dat
- 1番目のセクション (rwx) はファイル所有者 (この場合は user) にとってのパーミッション
- 2番目のセクション (r-x) はファイル所有グループ (この場合は group) にとってのパーミッション
- 3番目のセクション (r--) はそれ以外のユーザにとってのパーミッション
- パーミッションの指定方法には絶対方式と相対方式がある。絶対方式は8進数の数字によって指定する。
[絶対式]
0400 所有者が読み込める
0200 所有者が書き込める
0100 所有者が実行できる
0040 groupに属するユーザが読み込める
0020 groupに属するユーザが書き込める
0010 groupに属するユーザが実行できる
0004 その他のユーザが読み込める
0002 その他のユーザが書き込める
0001 その他のユーザが実行できる
[相対式]
u,g,o,a … 所有者・グループに属するユーザ・その他のユーザ、全員
+/- … 属性を ON にする/OFF にする
r,w,x … 読み込み属性・書き込み属性・実行属性
※sticky bitという、ディレクトリの下にあるファイルの削除に関する設定もできる。
- 誰でもそのディレクトリの下にファイル・ディレクトリを新規作成できる
- しかし、それを消せるのは作成したユーザ (ファイル・ディレクトリのオーナー) のみ
頻繁に使用するプログラムについて このビットを立てておくと、常にメモリ上にバイナリを保存しておく効果があった。
しかし今では仮想記憶の発達により、意味をなさなくなったので、ファイルに対してこのビットを立てても無視される。
chown
- ファイル・ディレクトリの所有者(オーナー)、所有グループを変更する。所有者を変更できるのは root のみであるが、グループはファイルのオーナーなら変更できる可能性がある(オーナーが複数のグループに属している必要がある)。
- ファイル file の所有者をユーザ user に変更する
% chown [user] [file名]
- ファイル file の所有者/グループを user/group に変更する
% chown [user]:group [file名]
- ディレクトリ dir のグループを group に変更する
% chown :group [ディレクトリ名]
- 自分がどのグループに属しているかは以下コマンド。
% id
uid=1001(hoge) gid=1001(hoge) groups=1001(hoge), 0(wheel), 5(operator)
cp
- ファイルをコピーする。
-i ファイルの存在する場合に、上書きしてOKか確認を求める。
-p タイムスタンプもそのままコピーする。 ※基本使っちゃダメ。
-R ディレクトリを再帰的にcopyする。
% cp -R dir1 dir2
※ dir1配下に、sampleがあった場合
dir2/dir1/sample
% cp -R dir1/ dir2
※ dir1配下に、sampleがあった場合
dir2/sample
grep
- あるファイルの中に、指定の文字列を含む行を表示する。
-num マッチした文字列のあとの前後num行を表示する。
デフォルトは-0のため、マッチした行のみ表示。
-A num マッチした文字列の後のnum行を表示する。
-B num マッチした文字列の前のnum行を表示する。
-c テキスト中に文字列が出現した回数をcount
-e 明示的にパターンを指定。
% ls -la | grep -e 'hoge' -e 'sample'
-i 大文字小文字の区別をしない。
-v 指定文字列を含まない行を表示。
-Z 圧縮したファイルをgrep
scp
- secure copy
- sshによって暗号化した通信を行う。
scp <option> <file name> <user>@<server name>:<local directory>
ex. scp test.log yukobayashi@unko:/tmp
scp <option> <user>@<server name>:<remorpt directory - file> <local directory - file>
ex. scp yukobayashi@unko:/tmp/test.log /usr/local/apache/logs/test.log
最終更新:2007年10月17日 09:47