タグ付けされた質問 「rm」

rmはファイルを削除するコマンドです

5
ワイルドカード文字*がコマンドzipとrmでそれほど異なるのはなぜですか?
スクリプトを作成して、いくつかのファイル操作を実行しました。*タイプのすべてのファイルに関数を適用するためにワイルドカード演算子を使用していますが、取得できないことが1つあります。unzipこのようなフォルダ内のすべてのファイルができます unzip "*".zip ただし、すべてのzipファイルを後で削除するには、する必要があります rm *.zip つまり、引用符は不要です。一方、unzipは、*を指定しただけでは機能しません(「ファイルが一致しませんでした」という警告が表示されます)。 なぜこれが違うのですか?私には、これはまったく同じ操作のように思えます。または、ワイルドカードを間違って使用していますか? Unixでのワイルドカードの紹介は実際にはこれに該当せずrm、zipドキュメントやドキュメントには何も見つかりませんでした。 Mac(Yosemite)でターミナルを使用しています。
58 shell  wildcards  rm  zip 


8
「rm」をゴミ箱に移動する
ファイルを削除する代わりに、特別な「ゴミ箱」の場所に移動するLinuxスクリプト/アプリケーションはありますか?私はこれを代わりにしたいと思いますrm(後者をエイリアスすることさえあります。賛否両論があります)。 「ゴミ箱」とは、特別なフォルダを意味します。シングルmv $* ~/.trashは最初のステップですが、理想的には、古いゴミ箱に上書きせずに同じ名前の複数のファイルをゴミ箱に入れ、単純なコマンド(元に戻す)で元の場所にファイルを復元できます。さらに、再起動時にゴミ箱が自動的に空になった場合(または、無限の成長を防ぐための同様のメカニズム)に便利です。 これに対する部分的な解決策は存在しますが、特に「復元」アクションは簡単ではありません。グラフィカルシェルのゴミ箱システムに依存しない既存のソリューションはありますか? (余談ですが、頻繁なバックアップとVCSを使用するのではなく、このアプローチが正当であるかどうかについては議論が続いています。これらの議論には重要な点がありますが、私の要望にはまだニッチがあると思います。)
54 shell  rm 

1
「rm。*」は親ディレクトリを削除しますか?
式.*はbashによって展開され、現在のディレクトリと親ディレクトリが含まれます。 $ ls -la total 2600 drwxrwxrwx 2 terdon terdon 2162688 Sep 10 16:22 . drwxr-xr-x 142 terdon terdon 491520 Sep 10 15:34 .. -rw-r--r-- 1 terdon terdon 0 Sep 10 16:22 foo $ echo .* . .. rm -rf .*GNU bashを使用してDebianで実行している場合version 4.2.36(1)-release、rmからrm (GNU coreutils) 8.13このメッセージが表示されます。 $ rm -rf .* …
53 shell  wildcards  rm  posix 

3
rmが別のユーザーの所有権の下でファイルを削除できるのはなぜですか?
投稿からなぜ読み取り専用ファイルをrmで削除できるのですか?rmファイルを削除するには、ディレクトリへの書き込み許可が必要なだけだと理解しています。しかし、所有者とグループが異なるファイルを簡単に削除できる動作を消化するのは難しいと思います。 私は次を試しました mtk:私のユーザー名 abc:新しいユーザーを作成しました $ ls -l file -rw-rw-r-- 1 mtk mtk 0 Aug 31 15:40 file $ sudo chown abc file $ sudo chgrp abc file $ ls -l file -rw-rw-r-- 1 abc abc 0 Aug 31 15:40 file $ rm file $ ls -l file <deleted> 私はこれが許可されるべきではないと考えていました。ユーザーは、所有権のあるファイルのみを削除できますか?誰かがこれが許可されている理由を明らかにできますか?そして、これを避ける方法は何ですか?親ディレクトリの書き込み許可を制限するだけで、ファイルの不意の削除を禁止できます。


5
ディレクトリ内からすべてのサブディレクトリを削除するにはどうすればよいですか?
この質問は、私がここに投稿した最初の質問の第2段階です サブディレクトリ、.zipファイル、およびサブディレクトリ内に含まれていないその他のランダムファイルの束を含むディレクトリがあります。 コマンドラインスクリプトを使用して、親ディレクトリ内のすべてのサブディレクトリを削除しますが、サブディレクトリに属さないすべてのzipファイルとルーズファイルを保持します。すべてのサブディレクトリにはコンテンツがあるため、-fコマンドで強制的に削除する必要があると思います。 したがって、基本的には、親ディレクトリ(または現在のディレクトリ)内を検索し、その中からすべてのフォルダーを削除しますが、フォルダーではない、またはフォルダーに含まれる他のすべてのコンテンツおよびファイルは保持します。 コマンドラインからアイテムを削除するには特別な注意が必要であることは理解していますが、リモートでバックアップするために必要な予防措置をすべて講じています。

5
ワイルドカードでディレクトリを再帰的に削除するにはどうすればよいですか?
WD My Book World EditionでSSHを使用しています。基本的に、特定のディレクトリレベルから開始し、一致するすべてのサブディレクトリを再帰的に削除します.Apple*。それについてどうすればいいですか? 私は試した rm -rf .Apple* そして rm -fR .Apple* サブディレクトリ内のその名前に一致する削除されたディレクトリもありません。

3
ルートとして実行している場合でも、ファイルを削除できません
マシンをRHEL 4から5に移行中です。実際にアップグレードを行うのではなく、新しいVMを作成し(両方のマシンがクラウド内にあります)、2つの間でデータをコピーしています。 次のファイルに出くわしました。新しいマシンから削除する必要がありますが、rootとして実行している場合でも削除できません。 -rw------- 1 2003 2003 219 jan 11 14:22 .bash_history このファイルは/ home / USER /内にあります。USERはマシンを構築した人のアカウントです。彼は古いマシンにアカウントを持っていないので、新しいマシンが古いマシンで使用できるようにホームフォルダーを削除しようとしていますが、次のエラーが表示されます。 rm: ne peut enlever `.bash_history': Opération non permise (フランス語からの翻訳:XXXは削除できません。操作は許可されていません) 私は次のコマンドを使用しようとしましたが、これは違いはありません: chattr -i .bash_history ID 2003のユーザーを作成する唯一の選択肢ですか、それとも別の方法がありますか? 編集 を使用してみましたrm -fが、同じエラーが表示されます。chmod 777最初に同じ種類のエラーが発生します。 chown削除しようとしているファイルを含むフォルダーに移動できたので、次のようになります。 drwx------ 2 root root 1024 jan 24 15:58 USER 編集2 lsattrAngusの提案に従ってコマンドを実行すると、次の出力が得られました。 -----a------- USER/.bash_history …
48 permissions  rhel  root  rm 

7
ディレクトリツリー全体を再帰的に細断処理す​​るにはどうすればよいですか?
Linuxの「シュレッド」ユーティリティでシュレッドしたいディレクトリツリーがあります。残念ながら、シュレッドには-R再帰的シュレッディングのオプションがありません。 ディレクトリツリー全体を再帰的に細断処理す​​るにはどうすればよいですか?

5
grep出力をrmに与える
grep出力をにパイプしようとしていますがrm、役に立たないものを出力します。スイッチは必要ですrmか?またはrm、正規表現を直接提供できますか? ls | grep '^\[Daruchini'| rm rm:オペランドがありません詳細については、「rm --help」を試してください。
47 bash  grep  rm 

7
将来変更されたときに害を引き起こすことに対してbashスクリプトを強化するにはどうすればよいですか?
そこで、ホームフォルダー(より正確には、書き込みアクセス権のあるすべてのファイル)を削除しました。起こったことは、私が持っていたことです build="build" ... rm -rf "${build}/"* ... <do other things with $build> bashスクリプトで、不要になった後$build、宣言とそのすべての使用を削除しrmます。ただし、Bashは喜んでに拡張されrm -rf /*ます。うん。 私は愚かだと感じ、バックアップをインストールし、失った仕事をやり直した。恥を乗り越えようとしています。 さて、私は疑問に思う:そのような間違いが起こらないように、または少なくとも可能性が低いようにbashスクリプトを書くためのテクニックは何ですか?たとえば、私が書いていた FileUtils.rm_rf("#{build}/*") Rubyスクリプトでは、インタープリターはbuild宣言されていないことについて不平を言っていたので、言語が私を保護します。 rm相関関係に加えて、bashで検討したこと(関連する質問の多くの回答が言及しているように、問題ではありません): rm -rf "./${build}/"* それは私の現在の仕事(Gitリポジトリ)を殺したでしょうが、それ以外は何もありません。 rm現在のディレクトリ外で動作する場合、そのバリアント/パラメータ化には相互作用が必要です。(見つかりませんでした。)同様の効果。 それとも、この意味で「堅牢」なbashスクリプトを作成する他の方法はありますか?
46 bash  shell-script  rm 

16
ファイル名に非印刷文字が含まれているファイルを削除するにはどうすればよいですか
どういうわけか、ファイル名がないように見えるファイルを作成することができました。次のスレッドでファイルの詳細を取得する方法に関する情報を見つけました。 しかし、リストされている提案のいくつかを試してみたところ、ファイルを削除できないようです。私はそれを作成するために何をしたのか分かりませんが、xmlファイルをコピーしようとしたときに起こりました。 ファイルに関するいくつかの情報は次のとおりです。 > ls -lb total 296 -rw-r--r-- 1 voyager endeavor 137627 Jan 12 12:49 \177 > file * : XML document > ls -i 417777 私はinumスイッチを使って見つけてそれをrmにパイプしようとしましたが、それはそれを取り除く最も確実な方法のように見えました。ただし、下にリンクされているスレッドの下部にある例は失敗しました。例は: > find -inum 41777 -exec ls -al {} \; find: illegal option -- i find: [-H | -L] path-list predicate-list だから私は次のように最初にパスリストを使用しようとしましたが、それも機能しませんでした: > …

5
特別なターゲットを持つすべてのシンボリックリンクを削除するにはどうすればよいですか?
コマンドを使って: ls -la * すべてのシンボリックリンクを一覧表示できます。 特別なフォルダーにリンクされているすべてのシンボリックリンクを削除するにはどうすればよいですか? 例えば: 私のディレクトリusr/local/binには、次のエントリがあります。 lrwxrwxrwx 1 root root 50 Apr 22 14:52 allneeded -> /usr/local/texlive/2011/bin/x86_64-linux/allneeded lrwxrwxrwx 1 root root 47 Apr 22 14:52 amstex -> /usr/local/texlive/2011/bin/x86_64-linux/amstex lrwxrwxrwx 1 root root 24 Apr 23 19:09 arara -> /home/marco/.arara/arara 今、私はパスを持つすべてのリンクを削除したい /usr/local/texlive/
43 wildcards  symlink  rm 

4
ユーザーが所有するディレクトリから特定のファイルが削除されないようにする方法はありますか?
ユーザーにDirectory1があり、File1 File2 CantBeDeletedFileが含まれているとします。ユーザーがCantBeDeletedFile を削除できないようにする方法を教えてください。 Directory1の所有権を変更し、書き込み許可を削除すると、ユーザーはファイルを削除できなくなります。また、新しいファイルなどを追加することもできません。 削除されないファイルを設定できるようにしたいだけです。 より具体的な説明。 ユーザープロファイルを作成しています。デスクトップでアプリケーションランチャーファイルを作成しています。そのため、いくつかのランチャーファイル(.desktop)を設定し、ユーザーがそれらを起動できるだけで、名前を変更したり削除したりすることができず、起動できるようにする必要があります。 現在、ユーザーがファイルを含むディレクトリを所有している場合。彼は削除できます。 すべての* nixに一般的な方法がない場合、それはLinuxおよびext4 FSです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.