Вы должны использовать
hostname -d
для этого.
Чтобы отбросить последнюю часть домена, существует множество различных способов; например
hostname -d | sed -E 's/\.[^.]+$//'
Вы не можете использовать cp
, так как cp
при нормальных обстоятельствах не записывает в стандартный вывод, но вы можете использоватьcat
:
cat device-file | gzip -c >some-output-file
В этом случае имеет смысл использовать cat
, так как вам, вероятно, потребуется префикс sudo
или аналогичная команда для доступа к устройству из сеанса оболочки непривилегированного пользователя. Если вы находитесь в корневой оболочке (по какой-то причине, а причины почти никогда нет ),
gzip -c <device-file >some-output-file
тоже сработало бы.
Вы можете создать именованный канал и скопировать в него свое устройство:
mkfifo /tmp/mypipe
cp device-file /tmp/mypipe
затем откройте другую оболочку, где вы запускаете gzip параллельно для чтения из канала и записи в выходной файл:
gzip </tmp/mypipe >outfile.gz
Когда они закончатся, вы можете удалить именованный канал
rm /tmp/mypipe