Cách xóa một tập tin bắt đầu bằng Lời> hoặc các ký tự bất thường khác [đã đóng]


8

Tôi đã vô tình tạo một tập tin gọi là

> option[value='2016']

Làm thế nào tôi có thể xóa nó?

My attempts:

$ rm "> option[value='2016']"
rm: cannot remove ‘> option[value='2016']’: No such file or directory
$ rm \> o*
rm: cannot remove ‘>’: No such file or directory
rm: cannot remove ‘o*’: No such file or directory
$ rm `> o*`                                                                               
rm: missing operand
Try 'rm --help' for more information.
$ rm \> option*
rm: cannot remove ‘>’: No such file or directory
rm: cannot remove ‘option*’: No such file or directory
$ rm '\> option*'                                                                         
rm: cannot remove ‘\\> option*’: No such file or directory
$
$ rm "\> option*"                                                                         
rm: cannot remove ‘\\> option*’: No such file or directory

Danh sách tập tin:

HAPPY_PLUS_OPTIONS/
o*
op*
> option[value='2016']
> option[value='ALFA ROMEO']
README.md
rspec_conversions/
.rubocop.yml
SAD/
SAD_PLUS_OPTIONS/

Bạn đã thử sử dụng thẻ hoang dã? tùy chọn rm * *
RageAgainstTheMachine

Câu hỏi sau đây có vẻ vô lý, nhưng bạn đã thử trình quản lý tệp GUI chưa?
Incni Mrsi

Câu trả lời:


16

lựa chọn khác

ls -i 

cung cấp (với giá trị inode thích hợp)

5233 > option[value='2016']   5689 foo

sau đó

find . -inum 5233 -delete

tùy chọn (để xem trước)

find . -inum 5233 -print

bạn cũng có thể thêm -xdevnếu có một hệ thống tập tin khác bên dưới.


9

Bạn cũng có thể sử dụng tùy chọn "-" mà theo con người:

 The rm command uses getopt(3) to parse its arguments, which allows it to
 accept the `--' option which will cause it to stop processing flag options at
 that point.  This will allow the removal of file names that begin with a dash
 (`-').  For example:
       rm -- -filename

Vì vậy, tôi đã cố gắng:

touch -- "> option[value='2016']"

Và xóa nó bằng:

rm -- "> option[value='2016']"

Cách dễ nhất để kiểm tra xem tên tệp đã được nhập chính xác chưa:

rm -- ">[tab]

Và để tự động hoàn thành công việc.

PS: Nghe có vẻ hấp dẫn, đừng tạo tên tệp "-rf *". Những điều tồi tệ có thể xảy ra.

-rw-r--r--    1 stephan  staff      0 Sep 13 14:11 -rf *

Luôn luôn sử dụng "-i" để được an toàn.

iMac:~ stephan$ rm -i -- "-rf *"
remove -rf *? Y

Đây là câu trả lời tốt nhất, cho đến nay.

8

Vấn đề ban đầu là một không gian hàng đầu, do đó

rm " > option[value='2016']"
    ^ here

làm.

Đã cập nhật câu hỏi về các tệp bắt đầu bằng> vv


3

Đối với cách tiếp cận tương tác (thường an toàn hơn):

Nếu có một số tập tin có tên đặc biệt trong thư mục hiện tại.

Bạn có thể sử dụng rm ./và sau đó TabTabliệt kê các tệp và sau đó bạn có thể chọn tệp và xóa nó.


Nhập Tabhai lần để tìm tập tin.
Shellmode

1

Đối với rm, không có gì kỳ diệu về >. Bạn chỉ cần đảm bảo rằng khung góc được đặt vào nó (= ngăn vỏ diễn giải nó dưới dạng chuyển hướng).

> "> option[value='2016']"  #create it
rm "> option[value='2016']" #remove it

#remove all files in the current directory that have > in them
rm -- {,.}*\>*                 

Nếu bạn đang sử dụng một hệ thống hiện đại hợp lý, bạn sẽ có thể nhận được các tên được thoát đúng khi hoàn thành tab.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.