- затем отформатируйте их с помощью команды mkfs (например, mkfs -t ext4 / dev / disk1).
затем смонтируйте их с помощью команды mount (например, mount -t ext4 / dev / disk1 / mnt / mount).
Наконец, убедитесь, что вы добавили записи о новых дисках в файл / etc / fstab, чтобы они автоматически монтировались при перезагрузке.
for f in./*; do ls./* | wc -l $f; done
Это устанавливает f
для всех имен файлов в текущем каталоге(./*
)по очереди. Для каждого из них он снова запускает ls
со всеми именами файлов в текущем каталоге, направляя вывод в wc -l $f
. Теперь wc -l
подсчитывает строки в файлах, переданных в качестве аргументов, и смотрит на стандартный ввод только в том случае, если их нет. Таким образом, канал здесь игнорируется wc
и пытается прочитать любой файл, названный в f
, терпя неудачу, если это каталог.
Я подозреваю, что вы хотите что-то вроде этого
for f in./* ; do ls "$f" | wc -l ; done
Который запустит ls
в каталоге, указанном в f
, а затем подсчитает строки в нем. Но ls
может игнорировать файлы, имена которых начинаются с точки(ls -A
также перечисляет их, пропуская .
и ..
),и глобус также может соответствовать обычным файлам (, если они есть в этом основном каталоге ).
Но вам вообще не нужны ls
или wc
. OS X должен иметь Bash, где это должно работать:
shopt -s dotglob # '*' matches files with a leading dot, too
for f in./*/ ; do # trailing slash only picks directories
set -- "$f"/* # fill the positional params with the filenames in the dir
echo "$f $#" # print the directory name and number of params/files
done