「基本コマンド」の編集履歴(バックアップ)一覧はこちら
「基本コマンド」(2007/10/17 (水) 09:47:29) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
* 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
* 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