В системе без GNU coreutils вы можете сделать то же самое в Perl с помощью
perl -le 'print((getgrgid $_)[0]) for split " ", $)'
И аналогично на любом языке, который предлагает привязки к стандартным интерфейсам getegid(2)
, getgroups(2)
и getgrgid(3)
.
Обратите внимание, что getgroups(2)
может возвращать или не возвращать эффективный gid процесса в списке --это то, о чем позаботится переменная $)
в perl и утилитах, таких как groups
или id
(perl добавит реальный/действующий gid к $(
/ $)
, но не удалит его из списка, возвращаемогоgetgroups(2)
).
По поводу комментария стартового поста. Я запускаю следующие gsteps
sudo fdisk /dev/sda
fdisk
действие (n ). Выберите основной раздел. Выберите номер раздела 1. Выберите сектор по умолчанию для первого и последнего сектора. Используйте подпись раздела 83 для систем Linux. sudo resize2fs /dev/sda1
Я сделал ошибку, выбрав последний сектор по умолчанию при создании нового раздела. Теперь я не могу создать новый раздел подкачки. Мой конечный сектор по умолчанию — 104857599. Сколько секторов нужно вычесть из последнего сектора, чтобы осталось 2 ГБ для раздела подкачки (104857599 -2048 )?