Просто отвечая на вопросы, указанные в списке, по мере их появления:
управляющий оператор завершения простой команды не принадлежит команде или не принадлежит?
Ну, нет. Но это часть синтаксиса, разграничивающего «простую команду».
"Простая команда" без надлежащих разделителей элементов управления не будет правильно распознана оболочкой как таковая.
Если вы спросите, выполняется ли управляющий символ разделителя при выполнении команды, тогда: no . Разделители не являются частью выполняемой команды.
Принадлежат ли два «перенаправления» в определении к простой команде?
Технически нет: перенаправления влияют на среду, внутри которой выполняется команда, а значит: не «точная» часть команды. Но также технически они влияют на выполняемую команду, изменяя ее среду.
Итак, кто-то может сказать: «вроде как».
Что делают «перенаправления» после присвоения переменных в «последовательности необязательных назначений и перенаправлений переменных»? Присваивания переменных не записываются в stdout или stderr, не так ли?
Вот и все. Давайте разберем его по частям:
Что делают «перенаправления» после присвоения переменных,
Точно так же, как и раньше, в середине, в конце или в любой части всей командной строки. Вкратце: позиция не влияет на работу перенаправления.
С БОЛЬШОЙ оговоркой: порядок перенаправления сам по себе изменяет эффект, который они оказывают на команду. Короче говоря, это не то же самое > файл 2> & 1
, что и 2> & 1> файл
. Итак: берегитесь !.
Вы можете прочитать:
в «последовательности необязательных назначений переменных и перенаправлений»?
Необязательный здесь означает, что может быть один, два, ... пять и т. Д. или ни одного .
В командной строке может отсутствовать перенаправление или присвоение переменных.
Это «необязательно».
Назначения переменных не записываются в stdout или stderr, верно?
Нет, конечно, нет, они просто изменяют значение переменной оболочки.
И, если они предшествуют команде, они обычно влияют на среду выполнения команды, а затем изменение отменяется (опять же, обычно), когда команда заканчивается.
Что означает «в любой последовательности» в «последовательности необязательных назначений переменных и перенаправлений в любой последовательности»?
Порядок слева направо - это последовательность. Нет, это не совсем то же самое, что назначения и / или перенаправления размещаются в любом порядке.
Вкратце: в 99,99% случаев вы хотите, чтобы переменные присваивались перед командой. С оговоркой, написанной выше, внутренний порядок перенаправлений имеет значение. Перенаправления могут (но я не рекомендую вам играть с ними, затруднит чтение командной строки) размещаться где угодно (в пределах используемых управляющих символов).
Сколько возможностей предлагает определение для простой команды
Возможности? Бесконечный . Например, предположим:
Присваивания переменных? возьмем 3 из 10 возможных переменных. (да, очень мало).
1C10 * 5P10 * 3C20 * 3C10 = 10 * 10! / (10-5)! * 20! / ((20-3)! * 3!) * 10! / ((10-3)! 3!) = 41,368,320,000
Если мои вычисления верны. И это не подсчета смешивания слов, которое могло быть выполнено. Просто расчет KISS.
В любом случае вариантов очень много.
и что это такое?
Я не могу их перечислить в кратком ответе. Но даже если я смогу, стоит ли оно того?
Честно говоря, Тим, не пытайся выжать из этого лимона все до последней капли, я уверен, что это не пойдет на пользу твоему здоровью :-). Просто говорю!.
Одинаковы ли концепции простой команды в POSIX и Bash?
Вероятно, да (с вариациями, вызванными тем, какой язык используется человеком, интерпретирующим их). Опять же, не стоит выжимать каждую каплю.
Так как у вас достаточно места в /home
, переместите все вещи из /srv
в /home
, затем (необязательно) переместите вещи, которые были в /home
, в корневой раздел.
Самое простое решение, если вы не возражаете против простоя в течение нескольких минут, это переместить /srv
в более крупный раздел и симулировать его:
mv /srv /home
ln -s /home/srv /
Если вы действительно хотите переместить /home
в корневой раздел, то потребуется несколько переименований. Предполагается, что каталог /home/srv
или /srv/srv
отсутствует.
mv /srv home
mkdir /srv
mount --move /home /srv
mv /srv/acme … /home/
mv /srv/srv/* /srv
rmdir /srv/srv
Наконец (если вы не используете метод символической ссылки) отредактируйте /etc/fstab
, чтобы изменить точку монтирования: в строке, начинающейся с /dev/sda9/home
, замените /home
на /srv
.
Хотя вы говорите, что telnet не виновен, я бы проверил, что забрал его.
Пробовали ли вы следующее?
socat UNIX-CONNECT:/tmp/vbox.port tcp:some.remote.host:23
Это должно быть само по себе 8-битным.
-121--291819-Вот мой xorg.conf, sans comments, для ноутбука с чипом Nvidia. Вы можете начать с этого и отредактировать его.
Вы также пытаетесь запустить инструмент nvidia-xconfig, но он не создает соответствующие конфигурационные элементы для современных серверов xorg. Но можно вырезать и вставить часть драйвера и добавить ее в эту.
Section "Files"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/75dpi"
FontPath "/usr/share/fonts/100dpi"
FontPath "/usr/share/fonts/aquafont"
FontPath "/usr/share/fonts/urw-fonts"
FontPath "/usr/share/fonts/corefonts"
FontPath "/usr/share/fonts/sgi-fonts"
FontPath "/usr/share/fonts/cronyx"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/essays1743"
FontPath "/usr/share/fonts/freefonts"
FontPath "/usr/share/fonts/freefont-ttf"
FontPath "/usr/share/fonts/libertine-ttf"
FontPath "/usr/share/fonts/intlfonts"
FontPath "/usr/share/fonts/terminus"
FontPath "/usr/share/fonts/ttf-bitstream-vera"
FontPath "/usr/share/fonts/unifont"
FontPath "/usr/share/fonts/dejavu"
FontPath "/usr/share/fonts/mplus-outline-fonts"
FontPath "/usr/share/fonts/OTF"
FontPath "/usr/share/fonts/Speedo"
FontPath "/usr/share/fonts/stix-fonts"
FontPath "/usr/share/fonts/tengwar-fonts"
FontPath "/usr/share/fonts/thaifonts-scalable"
FontPath "/usr/share/fonts/unfonts"
FontPath "/usr/share/fonts/urwvn-fonts"
FontPath "/usr/share/fonts/vdrsymbols-ttf"
FontPath "/usr/share/fonts/liberation-fonts"
FontPath "/usr/share/fonts/arphicfonts"
FontPath "/usr/share/fonts/culmus"
FontPath "/usr/share/fonts/droid"
FontPath "/usr/share/fonts/efont-unicode"
FontPath "/usr/share/fonts/farsi-fonts"
FontPath "/usr/share/fonts/mathematica-fonts"
FontPath "/usr/share/fonts/mikachan-font-ttf"
FontPath "/usr/share/fonts/opendesktop-fonts"
FontPath "/usr/share/fonts/proggy-fonts"
FontPath "/usr/share/fonts/unifont"
FontPath "/usr/share/fonts/webby-fonts"
EndSection
Section "Module"
Load "dbe"
SubSection "extmod"
Option "omit xfree86-dga"
Option "omit apm"
EndSubSection
Load "glx"
Load "v4l"
EndSection
Section "ServerFlags"
Option "blank time" "5" # 10 minutes
Option "standby time" "10"
Option "suspend time" "20"
Option "off time" "30"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Monitor"
Identifier "MetaMonitor"
Option "DPMS"
EndSection
Section "Device"
Identifier "Nvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 2800M"
EndSection
Section "InputClass"
Identifier "synaptics"
MatchIsTouchpad "on"
Driver "synaptics"
#Option "SHMConfig" "on"
Option "VertTwoFingerScroll" "on"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Nvidia"
Monitor "MetaMonitor"
DefaultDepth 24
Option "TwinView" "1"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1920+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Main Layout"
Screen 0 "Screen1" 0 0
Option "Xinerama" "0"
EndSection
Ubuntu не устанавливает бинарные драйверы nVidia по умолчанию, поэтому вам нужно установить их самостоятельно.
$ sudo apt-get update && sudo apt-get install nvidia-current nvidia-current-modaliases nvidia-settings
Это должно сработать для вас. Если вам нужна более поздняя версия драйвера, я нашел несколько простых инструкций здесь по установке из репозитория PPA.
Добавить последний репозиторий драйверов:
$ sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
Установить последний драйвер
$ sudo apt-get update && sudo apt-get install nvidia-current nvidia-current-modaliases nvidia-settings