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