Next: , Previous: , Up: Dired (ディレクトリーエディター)   [Contents][Index]


31.7 ファイルにたいする操作

このセクションでは、1つまたは複数のファイルを操作する、基本的なDiredコマンドを説明します。これらのコマンドはすべて大文字で、引数を読み取ったり、実際に動作する前に確認を求めるのに、ミニバッファーを使用します。これらのコマンドはすべて、以下の方法により操作するファイルを指定します:

コマンド!や‘%’のような他のDiredコマンドにも、操作対象となるファイルを決定するのに、同じ規則を使うものがあります。

Diredバッファーに表示されている1つ以上のファイルにたいして、ここで説明したDiredコマンドに加えてバージョンコントロール(VC)のコマンドを呼び出すこともできます。バージョンコントロールを参照してください。

ファイルのコピーやリネーム、それらにたいするリンクを作成するような、対象ディレクトリーを尋ねるコマンドは、操作のためにデフォルトの対象ディレクトリーの推論を試みます。これらのコマンドは通常、Diredバッファーのデフォルトディレクトリーを提案しますが、オプションdired-dwim-targetが非nilで、何らかのウィンドウに別のDiredバッファーが存在しない場合には、その他のバッファーのディレクトリーをかわりに提案します。dired-dwim-targetによりDiredバッファーを表示する次のウィンドウ、Diredバッファーを表示するもっとも最近使用されたウィンドウ、あるいはそれ以外の関数の使用のどれを優先するかをカスタマイズできます。値が関数ならそれは引数なしで呼び出されて、デフォルト(デフォルトターゲットおよび“future history”)として使用するディレクトリーのリストをリターンすることが期待されます。

以下は、ファイルにたいして操作を行なうDiredコマンドです。

C new RET

指定されたファイルをコピーします(dired-do-copy)。引数newはコピー先のディレクトリー、または(1つのファイルをコピーする場合は)新しいファイル名です。これはシェルコマンドcpと似ています。

オプションdired-create-destination-dirsはDiredがファイルのコピーやリネームで対象先に存在しないディレクトリーがある場合に、それを作成するかどうかを制御します。デフォルト値のnilはそのような存在しないディレクトリーを作成しないことを意味します。値alwaysはDiredが自動的にそれらを作成すること、値askはそれらを作成する前にDiredが確認を求めることを意味します。

dired-create-destination-dirsに加えてオプションdired-create-destination-dirs-on-trailing-dirsepが非nilなら、対象先ディレクトリーの末尾のディレクトリー区切りは特別に扱われます。‘test/’にコピーする際にディレクトリー‘test’が存在しなければ作成して、ソースとして指定したファイルやディレクトリーを新たに作成したディレクトリー内にコピーします。

dired-copy-preserve-timeが非nilの場合、このコマンドでコピーすることにより、‘cp -p’でコピーしたときのように、古いファイルの最終修正時刻(modification time)が保持されます。

変数dired-recursive-copiesは、(‘cp -r’のように)ディレクトリーを再帰的にコピーするかを制御します。デフォルトはtopで、これはディレクトリーを再帰的にコピーする前に、確認を求めることを意味します。

変数dired-copy-dereferenceはシンボリックリンクをリンクとしてコピーするか、あるいは( ‘cp -L’のように)参照剥がし(dereference)の後にコピーするかを制御します。デフォルトはnilで、これは新たにシンボリックリンクを作成してシンボリックリンクをコピーすることを意味します。

dired-keep-marker-copyはこのコマンドがファイルのマークをどのように扱うかを制御するユーザーオプションです。ファイルの新たなコピーすべてをマークするのは、デフォルトでは‘C’です。

D

指定されたファイルを削除します(dired-do-delete)。これはシェルコマンドrmと似ています。

このセクションの他のコマンドと同様、このコマンドはマークされたファイル、または次のn個のファイルを操作します。対照的にx (dired-do-flagged-delete)は、フラグがついたすべてのファイルを削除します。

R new RET

指定されたファイルをリネームします(dired-do-rename)。1つのファイルをリネームする場合、引数newはファイルの新しい名前です。複数のファイルをリネームする場合、引数newはファイルを移動するディレクトリーです(これはシェルコマンドmvと似ています)。

オプションdired-create-destination-dirsはDiredがnew内に存在しないディレクトリーを作成するかどうかを制御します。

対象先ディレクトリー末尾のディレクトリー区切りを特別扱いするかどうかを制御するには、dired-create-destination-dirsに加えてオプションdired-create-destination-dirs-on-trailing-dirsepもセットしてください。これをセットした場合にはディレクトリー‘old’を‘new/’にリネームする際にディレクトリー‘new’が存在しなければ作成して、その新たに作成したディレクトリー配下に‘old’を移動します。セットしていなければ‘old’を‘new’にリネームします。

Diredはリネームされたファイルに関連付けられたバッファーによりvisitされたファイルの名前を自動的に変更するので、これらのバッファーは新しい名前を参照します。

変数dired-vc-rename-fileの値が非nilなら、 vc-rename-file (バージョンコントロールされたファイルの削除とリネームを参照)を通じて背後にあるVCSのコマンドを使用してファイルをリネームします。

H new RET

指定されたファイルのハードリンクを作成します(dired-do-hardlink)。これはシェルコマンドlnと似ています。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。

S new RET

指定されたファイルのシンボリックリンクを作成します(dired-do-symlink)。これは‘ln -s’と似ています。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。

Y new RET

指定されたファイルの相対的なシンボリックリンクを作成します(dired-do-relsymlink)。引数newはリンクを中に作成するディレクトリー、または(1つのリンクだけを作成する場合は)リンクに与える名前です。これはdired-do-symlinkと似ていますが、相対的なシンボリックリンクを作成します。

    foo -> ../bar/foo

これは下記のような絶対的なシンボリックリンクは作成しません:

    foo -> /path/that/may/change/any/day/bar/foo
M modespec RET

指定されたファイルのモード(パーミッションビットとも呼ばれる)を変更します(dired-do-chmod)。modespecには、chmodプログラムで扱われる引数のような、8進かシンボル表記を指定できます。このコマンドはシンボリックリンクをフォローしないので、シンボリックリンクのモードが変更不可なプラットフォームでシンボリックリンクのモード変更を試みるとエラーが報告されるでしょう。

G newgroup RET

指定されたファイルのグループを、newgroupに変更します(dired-do-chgrp)。

O newowner RET

指定されたファイルの所有者を。newownerに変更します(dired-do-chown。ほとんどのシステムでは、これを行なうことができるのはスーパーユーザーだけです)。

変数dired-chown-programは、処理を行なうために使用するプログラムの名前を指定します(システムが異なると、chownが違う場所に配されている場合があるので、この変数が必要)。

T timestamp RET

指定されたファイルにtouchします。これはファイルの修正時刻をtimestamp (デフォルトは現在時刻)で更新することを意味します。これはシェルコマンドtouchに似ています。

P command RET

指定されたファイルを印刷します(dired-do-print)。それらを印刷するためのコマンドを指定しなければなりませんが、ミニバッファー開始時には、変数lpr-commandおよびlpr-switches(lpr-bufferが使用するのと同じ変数。ハードコピーの印刷を参照してください)を使用することにより推定された、適切な初期値が示されます。

Z

指定されたファイルを圧縮します(dired-do-compress)。そのファイルがすでに圧縮済みのようなら解凍します。マークされたファイルはそれぞれ自身のアーカイブへと圧縮されます。利用可能ならgzip、そうでなければcompressを使用します。

ディレクトリー名にたいしては、このコマンドはユーザーオプションdired-compress-directory-default-suffixに応じて圧縮アーカイブを生成します。デフォルトではそのディレクトリーのすべてのファイルを含む、圧縮アーカイブ.tar.gzを生成します。圧縮されたディレクトリーの解凍は、アーカイブファイル.tar.gz.tgz上でZをタイプすることにより、ファイル名から拡張子を除いた名前のディレクトリー内にアーカイブ内のすべてのファイルが解凍されます。

c

指定されたファイルを、ファイルシステム上のどこかにある1つのアーカイブに圧縮します(dired-do-compress-to)。デフォルトアーカイブはユーザーオプションdired-compress-directory-default-suffixによって制御されます。dired-compress-files-alistも参照してください。

:d

指定されたファイルを復号化します(epa-dired-do-decrypt)。Dired integration in EasyPG Assistant User’s Manualを参照してください。

:v

指定されたファイルのデジタル署名を検証します(epa-dired-do-verify)。Dired integration in EasyPG Assistant User’s Manualを参照してください。

:s

指定されたファイルにデジタル署名します(epa-dired-do-sign)。Dired integration in EasyPG Assistant User’s Manualを参照してください。

:e

指定されたファイルを暗号化します(epa-dired-do-encrypt)。Dired integration in EasyPG Assistant User’s Manualを参照してください。

L

指定されたEmacs Lispファイルをロードします(dired-do-load)。EmacsのためのLispコードによるライブラリーを参照してください。

B

指定されたEmacs Lispファイルをバイトコンパイルします(dired-do-byte-compile)。Byte Compilation in The Emacs Lisp Reference Manualを参照してください。

I

そのファイルにたいして(Info形式のファイルとみなして)Infoを実行します。

N

そのファイルにたいして(nroff形式のファイルとみなして)manを実行します。

A regexp RET

指定されたすべてのファイルにたいして、正規表現regexpを検索します(dired-do-find-regexp)。

このコマンドはxref-find-references (識別子の検索と置換を参照)の変種で、必要に応じて、*xref*バッファーで利用可能なコマンドで説明されているコマンドを使用することにより、マッチ間を移動したり、それらを表示することができる*xref*バッファーを表示します。

マークされたファイルやディレクトリーがある場合、このコマンドはそれらのディレクトリーにあるすべてのファイルとサブディレクトリーを再帰的に検索します。ただし名前がgrep-find-ignored-filesにマッチするファイルと、grep-find-ignored-directoriesにマッチするサブディレクトリーは除外されます。

Q regexp RET to RET

指定された各ファイルにたいしてquery-replace-regexpを行い、regexpにたいするマッチを、文字列toに置換します(dired-do-find-regexp-and-replace)。

このコマンドはxref-query-replace-in-resultsの変種です。これはregexpにたいするすべてのマッチをリストする*xref*バッファーを表示します。このバッファーでは特別なコマンド(*xref*バッファーで利用可能なコマンドを参照)を使用できます。特に、問い合わせつき置換のループ(query replace loop)をexitした場合は、そのバッファーで更に置換を行なうためにrを使用できます。識別子の検索と置換を参照してください。

dired-do-find-regexpと同様に、マークされたファイルがディレクトリーの場合、このコマンドはそれらのディレクトリー内、およびそれらのサブディレクトリーのすべてのファイルの置換を再帰的に行います。ただし、名前がgrep-find-ignored-filesにマッチするファイル、および名前がgrep-find-ignored-directoriesにマッチするサブディレクトリーは除外されます。


Next: Diredでのシェルコマンド, Previous: Diredでのマークとフラグ, Up: Dired (ディレクトリーエディター)   [Contents][Index]