Может кто-нибудь объяснить значение - и ** в команде linux / unix? [дубликат]

Поскольку вы создали btrfs подтом /foo, то, предположительно, подтом фактически находится в файловой системе по адресу @/foo (поскольку подтом @ обычно монтируется в / по соглашению). Таким образом, ваше монтирование вместо этого должно быть:

mount -t btrfs -o subvol=@/foo /dev/sda2 /mnt/storage1/foo

И вы fstab должны читать:

/dev/sda2 /mnt/storage1/foo btrfs defaults,subvol=@/foo 0 0

Вики btrfs содержит больше информации о макете подтома, что может быть полезно для понимания.

0
20.07.2018, 13:11
2 ответа

**в zshсоответствует точно так же, как *, но допускает соответствие между /в путях. Таким образом, шаблон **/*.jpgбудет расширяться до пути к любому файлу, который имеет суффикс имени файла .jpgв любом месте текущего каталога или ниже него.

Шаблон **также доступен в bash, если он включен с помощью shopt -s globstar. В оболочке ksh93он тоже есть, если он включен с помощью set -o globstar.

Параметр --предотвращает интерпретацию любого пути (, совпадающего с приведенным выше шаблоном ), который начинается с тире, параметром duкак параметр командной строки. --останавливает синтаксический анализ командной строки duот поиска дополнительных параметров. Это не зависит от оболочки, но является POSIX «служебной директивой » для стандартных утилит.

--можно было удалить, если шаблон подстановки имени файла был изменен на ./**/*.jpg.

Команда даст вам общий размер всех *.jpgфайлов в текущем каталоге или ниже, извлекая строку с общим объемом из выводаdu(запустите команду без | grep total, чтобы увидеть, что duпроизводит ).

3
28.01.2020, 02:23

Со страницы руководства -du использование

du [OPTION][PARAM]

du - lists disk space used by files

c - displays total 
h - human readable format (24M= meaning 24 MB)

---обычно означает конец опционных параметров
**/*.jpg-glob для поиска всех путей, соответствующих этому пути (foo/bar.jpg)
|-труба

 grep total- this option is not required and is redundant, since -c[OPTION] is giving you grand total anyways.

TL;DR :Здесь указан общий размер диска изображений в формате.jpg из одного шага внутри каталога из текущего каталога.

Например, -Если ваш текущий каталог ~/Pictures, то выполнение этой команды рекурсивно отобразит размер всех файлов.jpg внутри. (~/Pictures/EuropeTrip/pic134.jpg )[ *] означает все для регулярного выражения.

Не уверен, что (grep total )делает или добавляет к выходным данным, и, возможно, здесь это не нужно.

0
28.01.2020, 02:23

Теги

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