Прежде всего, OpenSuSE 11.2 был EOL'd, таким образом, вы, вероятно, хотите модернизировать.
Однако из страницы справочника можно изменить корневой каталог с -R/path/to/new/root
.
Это означает, делаете ли вы следующее:
zypper in foo
И нечто
жизни в / мусорное ведро /
затем:
zypper -R /usr/local/ in foo
поместит нечто
в /usr/local/bin /
Разбивка каждого из шагов:
touch ~ / scratches / scr6.txt
Если файл существует, обновляет метку времени до настоящего момента. Если не существует, создает его.
cat ~ / scr.txt> ~ / scratches / scr6.txt
Читает ~ / scr.txt и записывает содержимое в ~ scratches / scr6.txt
cat / dev / null> ~ / scr. txt
Очищает файл ~ / scr.txt
Как упоминалось в комментариях, использование «&&» (И) между командами вместо «|» (ТРУБА) было бы более подходящим.
Насколько я понимаю, конвейерные процессы запускаются более или менее одновременно. Как правило, процессы в конвейере будут читать из стандартного ввода или записывать в стандартный вывод (или и то, и другое), и завершение ввода-вывода будет определять, когда процесс завершится.
Для процессов, у которых нет вывода (например, touch
) или какого-либо стандартного ввода (например, cat
при работе с файлом), я обычно ожидаю, что их соединения труб будет просто проигнорирован программой.
Таким образом, у вас будет три команды, выполняющиеся параллельно:
touch ~ / scratches / scr6.txt
,
cat ~ / scr.txt> ~ / scratches / scr6.txt
,
и cat / dev / null> ~ / scr.txt
.
Вероятно, это зависит от ОС, выйдет ли команда 2 с ошибкой, если ~ / scr.txt еще не существует, поскольку она будет в состоянии гонки с командой 3. Команды 1 и 2 также находятся в состоянии гонки , но гонка повлияет только на ctime / mtime / atime файла.
Google для «lenovo g500 touchpad linux» вернула страницу поддержки ноутбуков и нетбуков для Lenovo G500 , установив раскрывающийся список компонентов на мышь и клавиатура дает следующее:
Touchpad Driver (Synaptics, Elan) Version: 16.4.1.0 /11.4.14 .1 Date: 5/26/2013
Synaptics - это все, что нам нужно от записи, чтобы определить правильный драйвер. Теперь читатели могут выпускать: sudo apt-get update & & sudo apt-get install xserver-xorg-input-synaptics
с последующей перезагрузкой. Если Ubuntu возвращает информацию о том, что данный драйвер уже установлен, ознакомьтесь с документацией сообщества SynaputiveTouchpad Ubuntu , в частности с разделом «Устранение неполадок». Читатели должны убедиться, что сенсорная панель обнаружена.
Многие Live CD используют автоматическое обнаружение оборудования для обеспечения работы LiveCD на максимально возможном количестве устройств. Проблема в том, что после обнаружения оборудования результаты не передаются в сценарий или программу установщика дистрибутива. В результате установщик устанавливает только пакеты, которые обеспечивают основные функциональные возможности при перезагрузке. В вашем случае LiveCD правильно обнаружил сенсорную панель Synaptics, но установщик не знал об этом. Самый простой способ хитрости установщика - оставить внешнюю мышь отключенной во время установки, тем самым заставив установщика выбрать трекпад в качестве единственного указательного устройства.
-121--229186-Возможно, не самый лаконичный, но он кажется надежным и эффективным:
# $(get_host_dns_short "google.com")
#
# Outputs the IPv4 IP Address of a hostname, resolved by DNS. Returns 0 if DNS
# responded successfully; 1 otherwise. Will mask error output.
function get_host_dns_short()
{
(
set -o pipefail
host -4 -W1 -t A "$1" 2>/dev/null | awk '/has address/ { print $NF; exit }'
) && return 0 || return 1
}
Это будет выводить один IPv4 IP, а также возвращать 1
в случае сбоя, одновременно маскируя выход stderr.
Вы можете использовать его следующим образом:
GOOGLE_IP="$(get_host_dns_short "google.com")"
if [[ $? -eq 0 ]]; then
echo "Google's IP is ${GOOGLE_IP}."
else
echo "Failed to resolve Google's IP."
fi
IP-адрес Google - 216.58.192.46.
Если требуется IPv6 адрес, просто замените -4
на -6
.
Хорошо, учитывая, что файл scr.txt
содержит некоторый текст перед выполнением команды и scr6.txt
еще не существует: команда
touch ~/scratches/scr6.txt | cat ~/scr.txt > ~/scratches/scr6.txt | cat /dev/null > ~/scr.txt
файл scr.txt
( кошка/dev/null> ~/scr.txt
) scr6.txt
с содержанием scr.txt
(ничто) ( кошка ~/scr.txt> ~/scratches/scr6.txt
) scr6.txt
уже существует ( ~/scratches/scr6.txt
прикосновения) , Но следующая команда
cat ~/scr.txt > ~/scratches/scr6.txt
Просто пишет scr.txt
содержание к scr6.txt
Так вот почему, оба файла пусты в 1-м случае, и все работает как ожидаемый в 2-м случае.
Простыми словами:
Команда touch
- это способ создания новых, пустых файлов . Он также используется для изменения меток времени (т. Е. Даты и времени последнего доступа и модификации) в существующих файлах и каталогах.
В первой команде создается пустой файл с именем scr6.txt
.
Но во второй команде создается файл scr6.txt
и записывается все содержимое scr.txt
в этот файл.