В дополнение к ответу @muru, вот часть исходного кода, которая вычисляет width для правильного выравнивания вывода. :
static void
format_user_or_group (char const *name, unsigned long int id, int width)
{
size_t len;
if (name)
{
int width_gap = width - mbswidth (name, 0);
int pad = MAX (0, width_gap);
fputs (name, stdout);
len = strlen (name) + pad;
do
putchar (' ');
while (pad--);
}
else
{
printf ("%*lu ", width, id);
len = width;
}
dired_pos += len + 1;
}
Используется, printf ("%*lu ", width, id);. ПРИМЕЧАНИЕ: спецификатор ширины поля переменной '*'
В этом случае нельзя предсказать, насколько велика ширина поля, в которой мы будем нуждаться, когда ls -l выполняется, то есть имена каталогов могут различаться по длине. Это означает, что сама ширина поля должна быть ПРИМЕЧАНИЕ: , для которой программа будет вычислять значение.
C использует программу , вычисленное значение в позиции спецификатора ширины поля, чтобы указать printf, что он найдет переменную, которая содержит значение ширины поля в качестве дополнительного параметра.
Например, предположим, что текущее значение ширины равно 5. Инструкция:
printf ("%*d%*d\n", width, 10, width, 11);
будет печатать: (обратите внимание на интервал)
10 11
18.04 использовать netplan. Посмотрите на свою страницу man
. Вы можете сделать свой сценарий записью файла .yaml в /etc/netplan и «скомпилировать» его с помощью netplan apply или netplan try или netplan generate
Одним из примеров такого файла будет:
ethernets:
match:
name: enp2s0
addresses: [10.0.4.5/8]
gateway4: 10.0.4.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4, 1.1.1.1, 9.9.9.9]
search: [mycompany]
Я не очень хорошо знаком с netplan. Поэтому я позволил вам изучить и исправить мои возможные ошибки.
@solsTiCe является правильным, однако /etc/network/interfaces по-прежнему является допустимым методом для настройки сети.
man interfaces
Также есть маршрут /etc/NetworkManager, кстати .
man NetworkManager.conf
На самом деле, netplan отображается в NetworkManager. Так что это действительно просто синтаксический сахар для NetworkManager и Systemd.
Подробнее здесь netplan.
18.04 использовать netplan. Посмотрите на свою страницу man
. Вы можете сделать свой сценарий записью файла .yaml в /etc/netplan и «скомпилировать» его с помощью netplan apply или netplan try или netplan generate
Одним из примеров такого файла будет:
ethernets:
match:
name: enp2s0
addresses: [10.0.4.5/8]
gateway4: 10.0.4.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4, 1.1.1.1, 9.9.9.9]
search: [mycompany]
Я не очень хорошо знаком с netplan. Поэтому я позволил вам изучить и исправить мои возможные ошибки.
@solsTiCe является правильным, однако /etc/network/interfaces по-прежнему является допустимым методом для настройки сети.
man interfaces
Также есть маршрут /etc/NetworkManager, кстати .
man NetworkManager.conf
На самом деле, netplan отображается в NetworkManager. Так что это действительно просто синтаксический сахар для NetworkManager и Systemd.
Подробнее здесь netplan.