2017-11-07 13 views
1

私はrhel 7ボックス(ドッカーコンテナ)にログインし、rootとして実行します。ディレクトリを削除しようとしましたが、引き続き無効な引数エラーが発生します。引用符でパスを入れしようとLinux rm -rfがスローする理由無効な引数エラー?

[[email protected] ~]# ls -lrth /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5/ 
total 0 

が作動しないかされています。ここに私のコマンドここで

[[email protected] ~]# rm -rf /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5 
rm: cannot remove `/var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5': Invalid argument 

は、そのフォルダ

[[email protected] ~]# ls -lrth /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/ 
total 4.0K 
drwxr-xr-x 1 root root 4.0K Nov 7 07:50 5.5.2.2.5 

フォルダの許可が実際に空にされています。

[[email protected] ~]# rmdir "/var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5" 
rmdir: failed to remove `/var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5': Invalid argument 

は、iノードを使用して削除作業されていないか:

[[email protected] ~]# ls -il /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/ 
total 4 
98616 drwxr-xr-x 1 root root 4096 Nov 7 07:50 5.5.2.2.5 
[email protected] ~]# find . -inum 98616 -exec rm -i {} \; # doesn't throws error but the folder is still there 
[[email protected] ~]# ls /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/ 
5.5.2.2.5 

のいずれかに動作していない検索を使用して削除します

[[email protected] ~]# find /var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/ -type d -exec rm -Rf {} \; 
rm: cannot remove `/var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5': Invalid argument 
rm: cannot remove `/var/lib/ambari-server/data/tmp/solr-service/custom-services/SOLR/5.5.2.2.5': Invalid argument 

どのようにそのフォルダを削除するには?

+0

は、内部のパスを入れて試してみてください、私は同じエラーだ – Vinny

+1

を引用: RMを:/ 'は/ var/libに/ ambari-サーバー/データを/ tmp/Solrのサービスを削除することはできませんカスタムサービス/ SOLR/5.5.2.2.5 ':無効な引数 –

+0

'-f'を指定した' rm'は、削除するファイルが存在しないときに出力を生成しません。したがって、パスは正しいですが、何らかの理由で、削除することはできません。 –

答えて

1

フォルダが空の場合は、完全パスを単純引用符で囲んでrmdirコマンドを試してみましたか? ''

これがうまくいかない場合は、フォルダのiノードを見つけて、そのiノード経由で削除できますか?

ls -il <path> #get the inumber, let's say it's 782353 

その後、find . -inum <782353> -exec rm -ir {} \;

+0

より良いフォーマットについて質問にあなたの提案を追加しました。それはまだ動作しません –

+0

私が言及することを忘れていた一つの事は、rhelボックスはドッカーのコンテナです。それはデバッグに役立つでしょうか? –

+0

オプション-i ** r **で試してみましたか? エラーがない場合は、このフォルダがマシン上で実行されているプロセスによって再作成されていないことを確認してください。 – Allan

関連する問題