web-dev-qa-db-ja.com

名前にバックスラッシュ\を含むファイルを削除またはアクセスする方法

ここにいくつかのファイルがあり、python module pysftp:

[jm@spartan tf]$ ls -la
total 0
drwxrwxrwx. 3 jm jm  69 Aug 14 13:50 .
drwxrwxrwt. 9 root    root    238 Aug 14 13:49 ..
-rwxrwxrwx. 1 jm jm   0 Aug 14 13:49 .\gitkeep
drwxrwxrwx. 2 jm jm   6 Aug 14 13:50 .\innerfile
-rwxrwxrwx. 1 jm jm   0 Aug 14 13:50 .\innerfile\gitkeep
[jm@spartan tf]$ rm .\gitkeep
rm: cannot remove ‘.gitkeep’: No such file or directory

それらは非表示になっているので、私はまだコピーする方法を見つけようとしているので、非表示になりませんが、その間、それらを削除したいのですが、できません。何が起きてる?

私はCentOS 7を使用しています。

3
Legit Stack

ファイル名にはエスケープ文字\が含まれているため、そのエスケープ文字をエスケープする必要があります。

rm .\\gitkeep .\\innerfile\\gitkeep
rmdir .\\innerfile 

ファイルを削除します

2
schily