Как установить growable устройство закольцовывания?

FTP имеет довольно много команд. В то время как клиент отображает некоторые из них к более удобному для пользователя текстовому интерфейсу.

Например, если Вы используете ftp -v (в зависимости от Вашего ftp клиент, тот я использую потребности ftp -vd), Вы заметите что-то как следующее (---> шоу, что отправляется на сервер):

$ ftp -vd ftp.debian.org
Connected to ftp.debian.org.
220 ftp.debian.org FTP server
Name (ftp.debian.org:user): anonymous
---> USER anonymous
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
[...]
ftp> cd debian
---> CWD debian
250 Directory successfully changed.

Таким образом, Ваше удобное cd вызовы отображаются на CWD команды.

Некоторые клиенты FTP позволяют Вам отправлять verbatim FTP команды на сервер; в Вашем это, покончили literal (мой ftp использование quote):

ftp> quote CWD ..
---> CWD ..
250 Directory successfully changed.

Полезный? Действительно, это позволяет Вам взаимодействовать со своим FTP-сервером способами, о которых не знает клиент. Возможно, Ваш клиент не реализует SITE команды, затем Вы могли все еще использовать literal SITE [...] чтобы иметь сервер делают то, что Вы хотите. Вещи как FXP могут быть сделаны с любым клиентом FTP, использующим изготовленные вручную команды, также (хотя вполне неудобно). Кроме того, для экспериментирования с FTP это более удобно, чтобы иметь процесс входа в систему, обработанный клиентом FTP и использовать литеральные команды впоследствии (по сравнению с использованием telnet/netcat только).

Однако то, что сервер понимает, очевидно, зависит от Вашего сервера:

ftp> quote foobar
---> foobar
500 Unknown command.

23
16.12.2013, 08:58
3 ответа

Комментарий @jordanm закрепил его. Я предположил, что размер файла был зафиксирован, когда я посмотрел на вывод ls -lh disk.img. Когда я использовал ls -s disk.img как в ответе @Stephan реальный размер файла, показал. Как тест, я создал файл изображения, который больше, чем мой жесткий диск:

truncate test.img -s 1000G

И это работает просто великолепно, что означает, что ответ находится в вопросе :)

10
27.01.2020, 19:42
  • 1
    Усеченный работает отлично, btw, я просто думал, что покажу, что альтернативная команда для создания сказала, что редкий файл, и (в зависимости от дистрибутива Linux и набора инструментов), что необходимо не обязательно использовать losetup, как 'монтируются' в, он - текущее воплощение, довольно умно об установке разумных опций, когда Вам нужны они. –  Stephan 12.12.2013, 06:30
  • 2
    Бит о монтировании интересен. Это просто, что на этот раз, потому что мне также нужен LUKS (cryptsetup luksFormat/dev/loop0), мне нужен losetup :D –  phunehehe 12.12.2013, 07:09
  • 3
    Другая удобная команда Linux для создания редкого файла fallocate(1). –  Lloeki 13.12.2017, 18:01

Создайте редкое файловое устройство, с помощью dd.

df -hm # to show where we started
dd of=sparse-file bs=1k seek=102400 count=0 # creates a 100Meg sparsefile
mkfs.ext4 sparse-file
mkdir blah
mount sparse-file blah
cp somefile blah
ls -lahts sparse-file  # The 's' option will report the actual space taken in the first column
ls -lahts blah
df -hm # doublecheck my work
echo 'profit :)'

Ссылка: Википедия редкая статья файла

17
27.01.2020, 19:42

Можно сделать это вручную или с dd, ищут, или легче, так как вы используете усеченный:

truncate -s 100M file
mkfs.ext4 -m0 file
#mount, do whatever
umount /mountpoint
#let's grow it to 200 MB
truncate -s 200M file
e2fsck -f file && resize2fs file
#done

А 2 лайнера для роста его, едва призывает к автоматизации здесь, я смел бы говорить :)

2
27.01.2020, 19:42

Теги

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