Linux rm无法删除文件

时间:2014-03-17 15:47:42

标签: linux unix

我无法删除以下任何文件:

-rw-r--r--   1 os_stu_61 osstu          0  3월 15일  17:15

-rw-r--r--   1 os_stu_61 osstu          0  3월 15일  17:01 000

-rw-r--r--   1 os_stu_61 osstu        738  3월 15일  17:41 000000
y.c

-rw-r--r--   1 os_stu_61 osstu          0  3월 15일  16:49 1234
?Q4▒;
-rw-r--r--   1 os_stu_61 osstu        728  3월 15일  16:41 77777.c
▒;
-rw-r--r--   1 os_stu_61 osstu        728  3월 15일  16:38 77777
Q4▒;
s▒▒?s▒▒▒--   1 os_stu_61 osstu          0  3월 15일  16:37 7777
-rw-r--r--   1 os_stu_61 osstu          0  3월 14일  18:02 abcd.c
4▒;-------   1 os_stu_61 osstu          0  3월 14일  18:04
-rw-r--r--   1 os_stu_61 osstu          0  3월 14일  18:08 abcde
Q4▒;
-rw-r--r--   1 os_stu_61 osstu          0  3월 14일  18:06 abcd
?Q4▒;
-rwxr-xr-x   1 os_stu_61 osstu       6696  3월 15일  19:30 copy
----------   1 os_stu_61 osstu          0  3월 14일  18:01 copy.c
G▒?s▒▒?s▒▒▒
----------   1 os_stu_61 osstu          0  3월 15일  19:28 copy.c
▒
-rw-r--r--   1 os_stu_61 osstu          0  3월 14일  17:38 copyhw2
▒;
-rw-r--r--   1 os_stu_61 osstu          0  3월 14일  17:45 hw2
▒?Q4▒;
-rw-r--r--   1 os_stu_61 osstu        738  3월 15일  17:42 jebal.c
sdf

-rw-r--r--   1 os_stu_61 osstu          0  3월 15일  16:52 jebal
Q4▒;
-rw-r--r--   1 os_stu_61 osstu          0  3월 15일  19:28 lala.c

以上所有文件均无法删除。

我试过#rm hw2 然后,hw2: No such file or directory

我也试过

# rm -rf hw2

# rm -f hw2

我在将源文件复制到新文件后执行了我的程序。 在我的程序中,我使用系统调用creat()来创建文件。 错误地,我无法打开源文件但创建了一个新文件。

我该怎么办删除文件?

3 个答案:

答案 0 :(得分:6)

如果您的shell是bash,则可以使用printf '%q\n' *以shell引用的形式列出文件名。这将提供格式化的名称,以便您可以完全按照给定的方式将它们传递给rm

答案 1 :(得分:0)

一种非传统的方式:

  • cd到您的目录
  • 通过emacs命令
  • 启动emacs编辑器
  • 键入ctrl-x d <enter>以启动直接模式
  • 使用向上和向下箭头键来到达目标文件
  • 通过键入d
  • 将其标记为删除
  • 通过输入x
  • 执行
  • 回答yes <enter>并让emacs为您删除
  • 通过输入ctrl-x ctrl-c
  • 离开emacs

这有助于我获得许多具有异国名字的文件。

答案 2 :(得分:0)

您也可以尝试输入rm hw2,然后按TAB键。

这将激活shell的命令行扩展,因此您将看到完整的文件名。

因为,您看到的是文件名hw2,后跟换行符和其他一些字符。