質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

解決済

5回答

5722閲覧

rmしてもファイルを削除できません

findwkwk

総合スコア47

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2016/01/05 07:46

編集2016/01/05 07:47

画像のようにrmでファイルを指定したのですが、削除できません。。

バックスラッシュあたりでうまく捉えられていないのかなと思うのですが、
どなたがご指示いただけないでしょうか。。

よろしくお願いいたします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pi-chan

2016/01/05 07:51 編集

画像が貼り付けられていないようです。画像でなくても良いので、対象ファイルの「ls -l」コマンドの実行結果を貼り付けてください。 失礼いたしました、今見えました。
kutsulog

2016/01/05 08:16

ls -l IMG_3321\ \(1\).jpgと打った結果をだしてもらえませんか?
guest

回答5

0

remove xxx jpg?と聞かれて yes エンター押してますか?

もしくはrm -rf xxx.jpgで削除できるか試してみてください。

投稿2016/01/05 07:51

Kimsehwa

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takayukiinaba

2016/01/05 08:28

確かに、Y/Nの判断をも止められているような気がします。
guest

0

ベストアンサー

空白などシェルの特殊文字を含んだ名前のファイルを指定するときは、引用符で囲むのが簡単です。

bash

1rm 'IMG_3321 (1).jpg'

キーボードから入力しにくい文字を含んでいる場合は、他の方の回答にある通り、inode番号を使うのも方法の一つです。

また、この場合には、remove IMG_3321 (1).jpg?と確認を求められているので、y を入力してください。
rmコマンドはオプション無しだと、このような確認を求めませんが、どこかの設定ファイルで、rmに対してrm -iというalias(別名)定義をしているためにこういう確認を求めて来ます。-iは削除前に確認を求めるというオプションです。
この別名定義を一時的に無効にするには、

bash

1普通は、 2\rm 'IMG_3321 (1).jpg' 3あるいは、 4/bin/rm 'IMG_3321 (1).jpg'

とします。

rm -rfと書いている人が複数名いらっしゃいますが、-rは「ディレクトリに対して再帰的に削除」、-fは「書き込み禁止ファイルであっても確認を求めない」という意味なので、この場合は的外れです。
単に、-iの指定を外すのが正しいやり方です。
特に「書き込み禁止ファイルの強制削除」は、必要で無い場合は指定すべきではありません。

投稿2016/01/05 12:22

otn

総合スコア84538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ファイル名に空白等が混入していて扱いにくい場合、例えばinodeを使うと確実に削除出来ます。

ls -li

「-i」オプションを付けると、ファイルのinodeを確認できます。(左端の数値)

それを使って下記のようなコマンドを実行してみてください。

先ずは確認。

find . -maxdepth 1 -inum {調べたinode}

目的のファイルが正しく選択出来ていたら削除。

find . -maxdepth 1 -inum {調べたinode} -delete

削除コマンドの実行は、くれぐれもお気をつけて。

投稿2016/01/05 08:44

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

rm

のみですとy(yes)、n(no)の確認を求められますので、yを押して、enterを押してください。
確認不要で削除したい場合は、

rm -rf

で削除できます。

投稿2016/01/05 08:47

Yosuke.Y

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ls -i

50869301 text.txt 238939076 ?V?????t?H???_

find . -inum 238939076

./?V?????t?H???_

find . -inum 238939076 -exec rm -rf {} ;

こんな感じでファイルをIDにして削除してみてはいかがでしょうか?
おそらく、全角文字列ががファイル名についているため削除できないのではないかと・・・。
これは、あくまでも文字化けしたファイルを削除する方法ですが同様に利用できるはずです。

投稿2016/01/05 08:26

編集2016/01/05 08:27
takayukiinaba

総合スコア1158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問