Как удалить файл с командой mv?

POSIXly:

rm -rf -- * .[!.]* ..?*

Тот мог перестать работать, если список файлов он слишком большой, этот не будет:

find . ! -name . -prune -exec rm -rf {} +

С zsh:

rm -rf -- *(D)
6
24.04.2017, 01:09
4 ответа
mv other-file file-to-be-deleted
mv file-to-be-deleted other-file
17
27.01.2020, 20:20

Не используйте sed -u - он не делает то, что вы думаете. Буферизация sed будет полезна для вас тем, что она поможет увеличить скорость обработки sed , а не наоборот. sed -u действительно полезен только в ситуациях, когда вы хотите q использовать ввод в очень конкретной точке и гарантировать, что sed не потребляет ввод за ее пределами.

Например:

printf %s\\n line1 line2 | {
    sed -u =\;1q
    sed =
}

... который печатает...

1
line1
1
line2

... но если флаг -u не был использован, будет напечатан только...

1
line1

... потому что первый sed попытается заполнить свой буфер каждым вызовом read () и использовать весь | pipe , прежде чем второй sed когда-либо получит возможность посмотреть на него. При любой допустимой длине ввод sed -u значительно снизит скорость обработки sed , поскольку он должен будет выполнять read () на строку.

Однако это не ваша проблема.

Ваша проблема в том, что вы слишком усердно работаете. Сделать:

sed 's/.* //' <infile >outfile

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

@ CodeGnome прав в том, что это не является надежным способом. В то время как это будет работать для отображаемых данных, другой, более надежный, способ может быть:

sed 's/   */\n/2;s/.*\n//'

Это заменяет второе вхождение двух или более последовательных космический символом \n ewline, а затем удаляет все, что перед ним. Существует только один способ получить символ \n ewline в пространстве шаблона sed , то есть поместить его туда.

-121--150785-

Я нашел случай, когда пытался использовать gummiboot вместо grub. Компания Gummiboot сообщила об ошибке: что не может найти образы ядра. Похоже, что я установил/загрузил и настроил fstab после установки базовой системы с pacstrap -i . Так образы ядра, которые были помещены в каталог/boot, были потеряны после монтажа, и, таким образом, система не могла загрузиться. Интересно, что с ними случилось? Они все еще были на жестком диске, но были просто затенены смонтированным разделом?

В любом случае, я просто переустановил все снова, тщательно следуя инструкциям на вики Arch, и это работает сейчас.

-121--49323-

Что-то удаляется, если его больше нет там, где он был раньше, это не обязательно означает, что он больше не существует или недоступен другими средствами. Как при использовании компьютеров, так и в реальной жизни мы часто удаляем вещи, сначала перемещения их в мусор, откуда их еще можно извлечь.

Буквально простой

 mv filename ../some_other_directory_next_to_the_one_you_re_in/filename

уже удаляет файл (из текущего каталога).

Если вам нужно удалить файл с вашего компьютера с помощью mv , вы можете при подключении к сети использовать mv для перемещения файла на другой компьютер и присвоения ему нового имени ( mv filename/mountpoint/otherfilename предоставляет другой файл otherfilename в удаленной системе, содержимое которого совпадает с исходным filename )

1
27.01.2020, 20:20

Если устройство отсутствует в RAID5 mdadm, я «создаю» устройство RAID снова со старыми настройками и отсутствующим в качестве отсутствующего устройства, например, в вашей ситуации это должно быть:

mdadm --create --level=5 --layout=ls --chunk=512 --raid-devices=3 /dev/md0 missing /dev/sdd1 /dev/sdc1

Примечание: Я предполагаю, что «роль устройства» основана на 0, я привык к несколько более старому формату вывода mdadm -E. То есть отсутствует первое устройство. Если оно основано на 1, то, по-видимому, отсутствует третье устройство, поэтому поместите отсутствующее в конец вместо начала списка устройств.

-121--150792-

При просмотре руководства это относится только к тематике. У этого отрывка было немного больше на эту тему.

фрагмент - http://www.gnu.org/software/grub/manual/grub.html#menuentry

Меню загрузки, в котором GRUB отображает пункты меню из «grub.cfg» файл. Это список предметов, где каждый предмет имеет заголовок и необязательный значок. Пиктограмма выбирается на основе указанных классов для элемента меню. При наличии PNG-файла с именем «myclass.png» в каталог «grub/themes/icons», он будет отображаться для предметов, которые имеют класс myclass . Меню загрузки может быть настроено в нескольких способы, такие как шрифт и цвет, используемые для заголовка пункта меню, и задание стилевых полей для самого меню и для выбранного предмета выделить.

-121--73390-

Вот (тупой) способ удаления файла с помощью mv :

mv file /tmp
init 6

Конечно, rm файл значительно быстрее, эффективнее и надежнее и менее интрузивен.

5
27.01.2020, 20:20

rm отвязывает ваш файл, и вернуть его будет очень трудно.

Возможно, ваш учитель имеет в виду что-то вроде:

mv myfile  ~/.trash   

(предварительно выполнив mkdir ~/.trash, конечно)

Это делает "перемещение в корзину", как вы видите в Windows и OSX (и некоторых настольных компьютерах linux), вместо отсоединения файла.

Позже вы можете cd ~/.trash и найти свой файл.

2
27.01.2020, 20:20

Теги

Похожие вопросы