Вы можете получить серийный номер через:
1) hdparm
:
hdparm -I /dev/sda | grep Serial
2) sginfo
является частью sg3-utils
пакет:
sginfo -a /dev/sda | grep Serial
3) sdparm
команда:
sdparm -i /dev/sda | grep 'vendor specific'
4) lshw
:
lshw -class disk -class storage | grep serial
Сделайте это как функцию:
mkcdir ()
{
mkdir -p -- "$1" &&
cd -P -- "$1"
}
Заданный вами вопрос об использовании одной команды mkdir
для выполнения тех же действий, что и другие шаги, на самом деле не включает изменение каталогов. Он заканчивается на cd../..
, что возвращает вас в каталог, в котором вы находились в начале.
По сути, эта последовательность команд создает каталог a
, затем каталог b
внутри него (, другими словами, a/b
), затем каталог c
внутри только что созданногоb
(в Другими словами, a/b/c
.)
Вы можете сделать то же самое с помощью одной mkdir
команды, которая создает вложенные каталоги после создания их родителей:
mkdir a a/b a/b/c
Другой способ — использовать параметр mkdir
's -p
, который при необходимости создаст родительские каталоги, поэтому вам не нужно их указывать:
mkdir -p a/b/c
Это не отвечает на ваш вопрос в заголовке (для mkdir + cd, посмотрите дубликаты из комментариев ), но отвечает на вопрос в вашем тексте об эквивалентной одиночной команде mkdir
для этой последовательности., в котором в конце последовательности каталог тот же, что и в ее начале.