Alt + Up / Down и Ctrl + Alt + Up / Down зарезервированы Chromebook. Вы можете открыть Файл -> Настройки -> Сочетания клавиш в VS Code и изменить Переместить настройки Line Up / Down на что-то еще.
Идея следующего Amit ответить на мой собственный вопрос, это - то, что я придумал:
iostat -x|tail -n +3|awk '{print $1}'>/tmp/f0.txt.$$
iostat -nx|tail -n +3|awk '{print "/dev/dsk/"$11}'>/tmp/f1.txt.$$
paste -d= /tmp/f[01].txt.$$
rm /tmp/f[01].txt.$$
При выполнении этого на Солярисе 10 серверов дают следующий вывод:
sd0=/dev/dsk/c0t0d0
sd1=/dev/dsk/c0t1d0
sd4=/dev/dsk/c0t4d0
sd6=/dev/dsk/c0t6d0
sd15=/dev/dsk/c1t0d0
sd16=/dev/dsk/c1t1d0
sd21=/dev/dsk/c1t6d0
ssd0=/dev/dsk/c2t1d0
ssd1=/dev/dsk/c3t5d0
ssd3=/dev/dsk/c3t6d0
ssd4=/dev/dsk/c3t22d0
ssd5=/dev/dsk/c3t20d0
ssd7=/dev/dsk/c3t21d0
ssd8=/dev/dsk/c3t2d0
ssd18=/dev/dsk/c3t3d0
ssd19=/dev/dsk/c3t4d0
ssd28=/dev/dsk/c3t0d0
ssd29=/dev/dsk/c3t18d0
ssd30=/dev/dsk/c3t17d0
ssd32=/dev/dsk/c3t16d0
ssd33=/dev/dsk/c3t19d0
ssd34=/dev/dsk/c3t1d0
Решение не очень изящно (это не острота), но это, кажется, работает.
Попытайтесь использовать '-n' переключатель. Для, например, 'iostat-n'
sd0 sdd0 является названиями экземпляра устройств.. можно проверить/etc/path_to_inst, чтобы получить имя экземпляра, отображающееся на название физического устройства, затем проверить ссылку в/dev/dsk (на которое физическое устройство это указывает), это - 100%-й верный метод, хотя я не знаю, как кодировать его ;)
Некоторое время назад я нашел этот фрагмент в Интернете, и он помогает. Это было в Solaris 8:
#!/bin/sh
cd /dev/rdsk
/usr/bin/ls -l *s0 | tee /tmp/d1c |awk '{print "/usr/bin/ls -l "$11}' | \
sh | awk '{print "sd" substr($0,38,4)/8}' >/tmp/d1d
awk '{print substr($9,1,6)}' /tmp/d1c |paste - /tmp/d1d
rm /tmp/d1[cd]
Небольшое изменение, позволяющее использовать имена дисков длиной более 8 символов (встречается при работе с дисковыми массивами в SAN)
#!/bin/sh
cd /dev/rdsk
/usr/bin/ls -l *s0 | tee /tmp/d1c | awk '{print "/usr/bin/ls -l "$11}' | \
sh | awk '{print "sd" substr($0,38,4)/8}' >/tmp/d1d
awk '{print substr($9,1,index($9,"s0)-1)}' /tmp/d1c | paste - /tmp/d1d
rm /tmp/d1[cd]
В Руководстве по переходу Solaris я обнаружил следующее:
«Имена экземпляров
Имена экземпляров относятся к n-му устройству в системе (например, sd20).
Экземпляр имена иногда сообщаются в сообщениях об ошибках драйвера. Вы можете определить привязку имени экземпляра к физическому имени, просмотрев выходные данные dmesg (1M)
, как в следующем примере.
sd9 at esp2: target 1 lun 1
sd9 is /sbus@1,f8000000/esp@0,800000/sd@1,0
<SUN0424 cyl 1151 alt 2 hd 9 sec 80>
Once the instance name был назначен устройству, оно остается привязанным к этому устройству.
Номера экземпляров закодированы во второстепенном номере устройства. Чтобы номера экземпляров согласовывались при перезагрузках, система записывает их в файл / etc / path_to_inst. Этот файл является только чтение во время загрузки и в настоящее время обновляется с помощью add_drv (1M)
и drvconf
"
Таким образом, исходя из этого,Я написал следующий сценарий:
для устройства в / dev / dsk / * s2
do
dpath="$(ls -l $device | nawk '{print $11}')"
dpath="${dpath#*devices/}"
dpath="${dpath%:*}"
iname="$(nawk -v dpath=$dpath '{
if ($0 ~ dpath) {
gsub("\"", "", $3)
print $3 $2
}
}' /etc/path_to_inst)"
echo "$(basename ${device}) = ${iname}"
done
By reading the information directly out of the path_to_inst file, we are allowing for adding and deleting devices, which will skew the instance numbers if you simply count the instances in the /devices directory tree.
Как указано в других ответах, вы можете сопоставить имя устройства с именем экземпляра через путь к устройству и информацию, содержащуюся в / etc / path_to_inst . Вот сценарий Perl, который выполнит эту задачу:
#!/usr/bin/env perl
use strict;
my @path_to_inst = qx#cat /etc/path_to_inst#;
map {s/"//g} @path_to_inst;
my ($device, $path, @instances);
for my $line (qx#ls -l /dev/dsk/*s2#) {
($device, $path) = (split(/\s+/, $line))[-3, -1];
$path =~ s#.*/devices(.*):c#$1#;
@instances =
map {join("", (split /\s+/)[-1, -2])}
grep {/$path/} @path_to_inst;
*emphasized text*
for my $instance (@instances) {
print "$device $instance\n";
}
}
Одна лайнер-версия принятого ответа (у меня только 1 репутация, поэтому я не могу опубликовать комментарий):
paste -d= <(iostat -x | awk '{print $1}') <(iostat -xn | awk '{print $NF}') | tail -n +3