バックスラッシュが表示された奇妙なディレクトリ名

バックスラッシュが表示された奇妙なディレクトリ名

ファイルディレクトリをコピーして別のディレクトリに貼り付けました。

現在の結果はこれです development\ /

それはどういう意味なのか分からない? Linuxはこれをディレクトリとして認識していません。

ディレクトリの所有者も間違っています。しかし、これをしようとすると、 chown -R zugul /development結果は次のようになります。chown: cannot access `/development': No such file or directory

コピーしたディレクトリを貼り付けてみると、何か間違っているようです。この問題をどのように解決できますか?

答え1

ディレクトリ名にスペースがあるようです。

引用符を使用できます。

chown -R zugul "/development /"

または、エスケープ文字を使用できます。

chown -R zugul /development\ /

答え2

ディレクトリ名はスペースで終わります(通常はスペースでも、分割できないスペースなどの他のスペース文字でもあります)。に渡すlsオプションに応じて、\ファイル名に存在するか、次の文字が文字通りファイル名の一部として解釈されることを意味します。

ディレクトリの名前を変更する必要があります。

mv /development\  /development

(2つの連続したスペースに注意してください。最初のスペースはファイル名の一部であり、前のバックスラッシュで引用され、2番目のスペースは2つの引数を区切ります。)

mv '/development ' /development

というディレクトリが既に存在する場合は、ファイルをそのディレクトリ/developmentから移動し、名前が間違っているディレクトリ()を削除します。競合に注意してください(両方のファイルが存在します)。/development ​/developmentrmdir '/development '

命名問題を解決したら、所有権などの他の問題を処理できます。

答え3

chown試してみると、ファイル名が正しくありませんchown -R zugul development\\\ /

答え4

文字が何であるかを推測するのではなく、特殊文字を参照するものを使用してください。私はこのアプローチが大好きです。

ls --quoting-style=shell-escape

これは実際に意味するものを示しています($''ANSII Cエスケープを処理するbash / kshスタイル文字列を使用)。ボーナスとして、直接渡すことができる、またはchownシェルで実行する必要がある他のすべての操作を渡すことができる事前引用符付き文字列を提供する必要があります。たとえば、以下は、名前に改行文字を含むファイルのls出力と、ls前の引用符を使用した出力です。chgrprm

sauer@lightning:/tmp/test> ls -l
total 0
-rw-r--r-- 1 sauer users 0 Aug 14 17:04 a?file
sauer@lightning:/tmp/test> ls -l --quoting-style=shell-escape
total 0
-rw-r--r-- 1 sauer users 0 Aug 14 17:04 'a'$'\n''file'
sauer@lightning:/tmp/test> chgrp docker 'a'$'\n''file'
sauer@lightning:/tmp/test> ls -l --quoting-style=shell-escape
total 0
-rw-r--r-- 1 sauer docker 0 Aug 14 17:04 'a'$'\n''file'
sauer@lightning:/tmp/test> rm -v 'a'$'\n''file'
removed 'a'$'\n''file'

奇妙な文字のない名前にファイル名を変更することをお勧めします。 :)

sauer@lightning:/tmp/test> ls
a??file
sauer@lightning:/tmp/test> ls --quoting-style=shell-escape
'a'$'\t\033''file'
sauer@lightning:/tmp/test> mv -v 'a'$'\t\033''file' regular_filename
renamed 'a'$'\t\033''file' -> 'regular_filename'

関連情報