どういう意味ですか? [コピー]

どういう意味ですか? [コピー]

どうすればいいのかわかりにくいです./

Linux Essentialsの本から-filerm ./-file

答え1

この.ディレクトリは現在のディレクトリです。このディレクトリは、..このディレクトリの親ディレクトリです。

$ pwd
/home/user

$ cd docs; pwd   # change to directory 'docs'
/home/user/docs

$ cd .  ; pwd     # we change to the '.' directory, therefore we'll stay. No change
/home/user/docs

$ cd .. ; pwd     # back to up level
/home/user

Linuxでは、コマンドオプションがシンボルとして導入されます-。つまり、etc.で始まるファイルをls -l参照したい場合、コマンドはオプションを指定しようとしていると思います。たとえば、削除したい場合:--file

rm -file

fileコマンドのオプションを使用しようとしているので文句を言いますrm。この場合、ファイルの場所を表示する必要があります。現在のディレクトリ(ディレクトリなど)でファイルを.として参照する必要があります./-file。つまり、ディレクトリ内の.ファイルが-file。この場合、コマンドはrmそれをオプションと見なしません。

rm ./-file

を使って行うこともできます--

からman rm

名前が「-」で始まるファイル(「-foo」など)を削除するには、次のいずれかのコマンドを使用します。

rm -- -foo
rm ./-foo

答え2

ピリオド文字は.現在のディレクトリです。たとえば、およびはls同義語ls .です。あなたが/etc命令を受けている場合はcat /etc/fstab/、同じことをcat ./fstabしてください。cat fstab

rm ./-fileファイル名ではなくコマンドラインオプションで始まるすべての項目が解析されるためrmに使用されます。-たとえば、名前の付いたls -lファイルを表示する試みはありませんが、これは行われます。-lls ./-lls /some/directory/-l

答え3

入力すると、nameの代わりrm -fileにコマンドラインオプションが渡されます。rm-file

削除するには、名前を引用符で-file囲むか、エスケープします。 Bashまたはzshでコマンドが正しいファイル名を取得するかどうかわからない場合は、タブ補完を使用してください。例:画面が印刷されない場合は、何かが間違っていることを知り、Enterキーを押す前に修正し、他の例を印刷する必要があります。rmrm "-file"-rm \\-filetype rm -fiTABrm -filerm "-fiTABrm "-file"

の場合、ディレクトリとファイル名の間の区切り文字のみを使用します.//「.」は現在のディレクトリを示します。 「..」は親ディレクトリを意味します。したがって、foo現在のディレクトリからファイルを削除するにはrm ./foorm fooこの方法も機能します)と入力します。以前のディレクトリからファイルを削除するには、rm ../foo上のディレクトリに含まれているディレクトリから削除するファイルを入力します。barrm ../bar/foo

この場合、キャラクターが最初に見えないように前方./に配置すると、特定のオプションを使用していると勘違いすることになります。-file-rm

DOSについて少し知っておくとDOSにrm -file当てはまりますrm /file

関連情報