Intereting Posts
Как записать следующие 3 или X дней с помощью команды? Самый простой способ переупорядочить столбцы и управлять текстовым файлом Как получить целую командную строку из процесса? Общие сведения о маршрутизации и шлюзе Wi-Fi Медленная работа при копировании файлов на USB-устройства и обратно Как решить проблему dracut, когда intall Fedora 21 Как избежать использования 'ssh-add ~ / .ssh / id_rsa' для каждого нажатия на репозиторий github? Есть ли какой-нибудь инструмент, подобный apt-fast для snapcraft? X изменяет переменные окружения? Установите один жесткий диск, который был частью RAID 1 E2fsprogs неопределенная ссылка на символ – LFS Как интерпретировать имена нитей kworker? Создание зашифрованного раздела на существующем диске с одним основным разделом при сохранении данных Почему ошибки USB с моим мобильным телефоном не позволяют компьютеру взаимодействовать с сервисами? Передать все задания печати на один принтер на сервере CUPS

не может удалить файл, начинающийся с символа '-'

У меня есть имя файла

-ksh.l.15092015.log

для удаления этого файла я делаю это:

rm -rf -ksh.l.15092015.log 

но у меня есть эта ошибка:

rm: Не признанный флаг: k

Использование: rm [-firRe] [-] Файл …

я делаю это:

 rm -rf *ksh* 

но у меня такие же ошибки, почему?

Thx за вашу помощь!

Выполните следующее:

 rm -rf ./-ksh.l.15092015.log 

Это хороший вопрос, и из того, что я помню, некоторые интервью с сестрами используют его.

У вас есть несколько способов сделать это:

  • Удалите с помощью относительного или абсолютного пути. Как сказал SHW в своем ответе:

     rm -rf ./-ksh.l.15092015.log 

    или

     rm -rf /full/path/-ksh.l.15092015.log 
  • Удалите, отключив интерпретацию тире ( ) для rm

     rm -- -ksh.l.15092015.log 
  • И более запутанный путь :), используя inode:

     ls -li | grep ksh.l.15092015.log 5383819 -rw-r--r-- 1 root root 0 sep 15 13:17 -ksh.l.15092015.log find . -inum 5383819 -delete 

Вы также можете использовать mc и vim , но это «оболочки», которые я знаю.