Я нашел подробное объяснение на этой странице. Надеюсь, что это работает на Вас!
http://code.google.com/p/jhu-lcsr-ros-pkg/wiki/UbuntuXenomai
Используйте tar
:
tar -cf my_big_folder.tar/my/big/folder
Восстановление архива с помощью tar -xf my_big_folder.tar -C/
-C приведет к изменению корневого каталога для восстановления архива, поскольку созданный выше архив содержит абсолютные пути.
EDIT : Из-за относительно большого размера архива лучше всего отправить его [непосредственно] в его конечное местоположение, используя SSH или точку подключения облачного ресурса/папки. Например, как предлагает Коул Джонсон :
tar -cf /network/mount/point/my_big_folder.tar /my/big/folder
или
tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar"
EDIT : Как также предлагает Blacklight Shining , Если вы хотите избежать абсолютных путей, вы можете изменить родителя большой папки и tar
оттуда:
tar -cf /network/mount/point/my_big_folder.tar \
-C /my/big/folder/location the_big_folder
или
tar -cC /my/big/folder/location the_big_folder | \
ssh example.com "cat > my_big_folder.tar"
Включить относительные или
Есть случаи, когда абсолютные пути очевидны, например, для восстановления в катастрофу ситуации восстановления. Для локальных проектов или коллекций обычно архивировать дерево каталогов из родительского каталога нужной папки, чтобы не загромождать текущий каталог, если архив случайно распакован на месте. Если большая _ папка находится где-то глубоко в стандартной * иерархии NIX , может возникнуть необходимость начать архивирование первой нестандартной папки, от которой большая _ папка отклоняется, и ее дерева каталогов оттуда.
Наконец, педантично - tar
члены архива являются всегда родственниками, поскольку a) они могут быть восстановлены в любом каталоге и b) tar
удаляет ведущие /
при создании архива. Я лично склонен всегда использовать -C при распаковке архива.
netinet в настоящее время не является модулем ядра, поэтому я предлагаю вместо этого добавить измененный файл в sys/conf/files.
-121--174847-При выполнении команды
stty size
возвращается размер текущего терминала в строках и столбцах. Пример:
$ stty size
24 80
Вы можете читать строки и столбцы в переменные так (благодаря комментарию Яниса ):
$ read myrows mycols < <(stty size)
Получение размера в пикселях требует знания разрешения экрана, и я не думаю, что stty
имеет прямой доступ к такой информации.
В среде рабочего стола вы используете X, а утилита xwininfo
может отображать размер окна в пикселях. Кроме того, если вы работаете на рабочем столе (и не подключены, например, удаленно), эмулятор терминала предоставляет переменную $ WINDOWID
, которую вы можете использовать в качестве параметра для xwininfo
, например,
xwininfo -id $WINDOWID
и получите листинг:
xwininfo: Window id: 0xc00025 "uxterm"
Absolute upper-left X: 65
Absolute upper-left Y: 167
Relative upper-left X: 0
Relative upper-left Y: 22
Width: 624
Height: 577
Depth: 24
Visual: 0x22
Visual Class: TrueColor
Border width: 1
Class: InputOutput
Colormap: 0x21 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +65+167 -589+167 -589-256 +65-256
-geometry 103x42+65+145
В этом примере строки с шириной
и высотой
имеют размер в пикселях . Последняя строка с -геометрией
дает размер в символов (а также положение левого верхнего угла - в пикселях).
Что касается изменения размера окна, программа resize
показывает количество строк и столбцов. Для этого примера он показывает
$ resize
set noglob;
setenv COLUMNS '103';
setenv LINES '42';
unset noglob;
. В вопросе не указано, как можно использовать информацию, но, поскольку вывод представляет собой текст в предсказуемом формате, он легко создается сценарием. Вот простой пример использования awk:
#!/bin/sh
if [ -n "$WINDOWID" ]
then
xwininfo -id $WINDOWID | awk '
BEGIN { px = 0; py = 0; chars = "?x?"; }
/Height:/ { py = $2; }
/Width:/ { px = $2; }
/-geometry/ { chars = $2; sub("+.*","",chars); }
END { printf "%dx%d pixels, %s chars\n", py, px, chars; }'
else
printf '? no WINDOWID found\n'
fi
, который печатает
577x624 pixels, 103x42 chars