2016-09-22 9 views
0

私はAmazon Linuxをbashシェルで使用しています。私はより多くの特定のディレクトリにある古い日より、すべてのディレクトリとファイルを削除したかったので、私は、私はディレクトリをチェックするとき、まだ子供のディレクトリがあり、すぐ上を実行した後、ディレクトリ内で1日以上経過しているすべてのファイル/ドライバを削除するにはどうすればよいですか?

sudo find /usr/java/jboss-as-7.1.3.Final/standalone/tmp/vfs -name "*" -type f -mmin +1441 -delete 

しかし、この文を実行してみました1日よりも古いもの...

[[email protected] /]$ ls -al /usr/java/jboss-as-7.1.3.Final/standalone/tmp/vfs 
total 240 
drwxr-xr-x 17 jboss jboss 4096 Sep 20 23:24 . 
drwxr-xr-x 5 jboss jboss 4096 Jun 24 2013 .. 
drwxr-xr-x 186 jboss jboss 24576 Sep 20 21:12 deployment2368807199465dba 
drwxr-xr-x 93 jboss jboss 20480 Sep 20 23:23 deployment2617ff35c8bff41a 
drwxr-xr-x 6 jboss jboss 24576 Sep 19 20:26 deployment3571c00385713fe3 
drwxr-xr-x 2 jboss jboss 20480 Sep 19 17:39 deployment3d351ede58f283dd 
drwxr-xr-x 2 jboss jboss 20480 Sep 19 15:25 deployment4290f5e8ea8315f2 
drwxr-xr-x 297 jboss jboss 24576 Sep 22 03:30 deployment9b31473d9eac9da0 
drwxr-xr-x 2 jboss jboss 24576 Sep 20 18:56 deploymentceee45a133e7107d 
drwxr-xr-x 93 jboss jboss 20480 Sep 19 18:55 deploymentefd5fbdbb2c4c444 
drwxr-xr-x 2 jboss jboss 4096 Sep 20 18:57 temp165d12bb32054951 
drwxr-xr-x 2 jboss jboss 4096 Sep 19 17:40 temp32dd5d98d5a4b497 
drwxr-xr-x 2 jboss jboss 4096 Sep 19 15:26 temp59d119fda3e5ddc4 
drwxr-xr-x 2 jboss jboss 4096 Sep 19 20:27 temp7f6ba3704ffeea57 
drwxr-xr-x 2 jboss jboss 4096 Sep 20 23:23 temp861658110cf44173 
drwxr-xr-x 2 jboss jboss 4096 Sep 19 18:56 tempcdad4bb17e60cb75 
drwxr-xr-x 2 jboss jboss 4096 Sep 20 21:13 tempe1ee5a5f7f5c7636 

特定のディレクトリ内のすべてのものを1日以上削除する正しい方法は何ですか。

編集:ちょっとした提案がうまくいきませんでした。私は、このエラー

[[email protected] ~]$ sudo find /usr/java/jboss/standalone/tmp/vfs/ -mindepth 1 -mtime +1 -delete 
find: cannot delete `/usr/java/jboss/standalone/tmp/vfs/deploymentefd5fbdbb2c4c444': Directory not empty 
find: cannot delete `/usr/java/jboss/standalone/tmp/vfs/deployment3571c00385713fe3': Directory not empty 
+1

ので、再帰的に指定されたディレクトリにある1日より古いすべてのものを削除します。 –

+3

私はプログラミングに関するものではないので、この質問をトピックとして締め切ることにしました。これはおそらくLinuxサイトに属しています。 –

+0

@TomFenech - "-type f"オプションを削除しても、 "Directory not empty"エラーが発生します。 –

答えて

0

、あなたは含めて、それぞれのファイルにしたい任意のコマンドを追加することができ、代わりに「-delete」の「-exec」オプションを使用してみてください「RM -rf」非常に怖いのです。

たとえば、1日より古いすべてのファイルで 'echo -n'を呼び出すには、次のコマンドを実行します。注意 '{}'は、見つかったファイル/ディレクトリのプレースホルダです。

sudo find /usr/java/jboss-as-7.1.3.Final/standalone/tmp/vfs -mindepth 1 -mmin +1441 -exec echo -n {} \; 

「-mindepth 1」を含むように編集します。それ以外の場合は、ルート検索ディレクトリが結果に含まれます。あなたは `find`ファイルのみを処理することを意味し、型F``使用している

sudo find /usr/java/jboss-as-7.1.3.Final/standalone/tmp/vfs -mindepth 1 -mmin +1441 -exec rm -rf {} \; 
+0

残念ながら、これは動作しません。私は最後のステートメントを実行しました。そして、これらのエラーの大部分が見つかりました: "find:' rf ':そのようなファイルやディレクトリはありません。何も削除されませんでした。 –

+0

おっと、そこにタイプミスがあります.'-exec rm -rf 'にする必要があります。再帰的にフォルダを削除した後、サブフォルダ/ファイルを削除しようとすると「ファイルが見つかりません」という警告が表示されますが、最終的にはそれらはなくなります。 – bonafidegeek

+0

新しいステートメントは、 "find:' /usr/java/jboss-as-7.1.3.Final/standalone/tmp/vfs/temp723ffd1cefda891a ':そのようなファイルやディレクトリはありませんが、古いファイル/ディレクトリは次のような文を出力します。本当に行ったので、それは働くように見えます。 –

関連する問題