Делает вызов Fork() копирует всю кучу процесса в Linux?

С вилкой() системный вызов клонов дочерний процесс из запущенных процессов. Эти два процесса идентичны, за исключением их ПИД.

Естественно, если процессы будут просто читать из их кучи, а не писать на нее, скопировав куча будет огромная потеря памяти.

Это все скопировал кучу процесса? Она оптимизирована таким образом, что только написание триггеров куче копий?

+496
Lufang 6 окт. 2014 г., 11:46:46
35 ответов

Путь поглазеть:

на awk '{gsub(/\.[7-9]\$/,"\.10$")}!а[$0]++ тест' 
+989
vade 03 февр. '09 в 4:24

В диспетчере настроек в KDE (настройки), вы должны найти "приложения по умолчанию" в разделе "рабочее место внешний вид и поведение". Там вы можете изменить файловый менеджер по умолчанию.

+978
user5511576 7 авг. 2014 г., 02:03:35
Другие ответы

Связанные вопросы


Похожие вопросы

На Lubuntu 18.04, я запустить Shell в lxterminal. Управляющий терминал является текущим псевдотерминала раб:

$ телетайп
в /dev/ПЦ/2

Я хотел бы знать, какие отношения между моей нынешней подключен как/dev/ПЦ/2 и в/dev/телетайп.

  1. в /dev/телетайп действует как мой нынешний управляющий терминал /Дев/ПЦ/2:

    $ Echo привет > /Дев/телетайп
    привет
    
    $ кот < /Дев/телетайп
    мир
    мир
    ^С
    
  2. Но они вроде бы несвязанных файлов, вместо одного в будущем или жесткую связь с другими:

    $ Общ -лай устройства /dev/телетайп /Дев/оч/2
     5 КВР--Вт---- 1 т телетайп 136, 2 31 мая 16:38 /Дев/оч/2
    13 КВР-РАО-РАО - 1 корень телетайп 5, 0 31 мая 16:36 /Дев/телетайп
    

Для разных сессий с различными контролирующими терминалы, если в/dev/телетайп гарантированно будет их контролировать терминалы. Как может быть разных контролирующих терминалы, не являясь симлинк или жесткой связи?

Так что их отношения и различия? Любая помощь будет высоко ценится!

Этот пост возник из предыдущего делаем вывод команды `телетайп` и файл `/dev и/телетайп` указывают на управляющий терминал нынешний Баш процесс?

+963
Yemar 28 июл. 2017 г., 04:39:06

Следующее регулярное выражение, кажется, сделать то, что вам нужно:

\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[\-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[\-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\b

$ кот test.txt
127.0.0.10
127-0-0-10
127_0_0_10
256_5_10_1
10-10-100-1
192.168.100.1
$ грэп -Е '\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])[-._](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])test.txt\b' 
127.0.0.10
127-0-0-10
127_0_0_10
10-10-100-1
192.168.100.1

См https://www.regular-expressions.info/ip.html для объяснения регулярных выражений. Я просто изменил \.с [-._] так что это будет матч -, ., или _.

+918
JacksterD 8 мая 2018 г., 14:06:04

Есть ли способ для отображения активных СШ регистрационные данные в файл motd дисплей? Я хотела, чтобы отобразить IP-адрес, с которого соединение получили возник и сколько времени сеанса. Это возможно?

Дополнительные Обновления:

# телетайп --молчит && Палец
Логин Телетайп Ожидания Входа В Отделение Офисный Телефон Хозяина
корень оч/0 июн 22 00:33 (192.168.2.2)
корень оч/1 июня 22 00:38 (192.168.2.2)

Есть ли способ, чтобы удалить офис и офисный телефон из вывода выше, так что он выглядит немного лучше? Кроме того, он просто говорит, в какое время пользователь вошел в систему. Есть ли способ, чтобы также показать, сколько времени пользователь вошел в систему?

+894
Tina Redden 16 июн. 2015 г., 14:17:55

Мне нужно создать скрипт, который добавляет значения, разделенные запятыми в определенной строке в файле.

Скажем у меня есть файл с содержанием:

DL1 : [email protected],[email protected],[email protected]
Показатель dl2 : [email protected],[email protected],[email protected]

Мне нужно добавить [email protected] чтобы DL1 :

+841
Stevo 18 июн. 2010 г., 08:25:30

Я запускаю приложение, которое, казалось бы, замер графический интерфейс мой дистрибутив Linux. После клавиши Ctrlклавишу Alt клавишу Backspace я вернулся к терминалу и перезагрузка интерфейса.

Однако, даже при наличии такого Пользователя параметры, когда я перезагрузки и SciTE, я не получил мои сессии будут восстановлены, но, что более важно, несохраненные данные с момента последнего сохранения (на счет файлов, хранящихся на съемных носителях, который был временно отключен), кажется, ушел. Нет временный файл, что и SciTE поддерживает в моем домашнем каталоге несохраненные изменения??

сохранить.далее.таймер=30
сохранить.далее.отключить=1
нагрузки.далее.активировать=1
являются.вы.конечно.далее.перезарядка=1
перезагрузить.консервы.отменить=1
топ.фильтры=$(все.файлов)всех источников|$(Источник.файлы)
Макс.файл.размер=5000000
темп.файлов.синхронизации.нагрузки=1
сохранить.проверить.модифицированных.время=1
сохранить.сессия=1
сохранить.последние=1
сохранить.Позиция=1
сохранить.найти=1
сессии.складки=1
сессии.закладки=1
выделить.тока.слово=1
вид.Эол=1
панель инструментов.usestockicons=1
найти.закрыть.далее.найти=0
найти.в.файлов.закрыть.далее.найти=0
+821
Luke Dinkler 16 сент. 2013 г., 18:23:24
    1. учетная запись сервиса.к.а. технический счет-это счет, который предназначен для быть использованы только сервиса / приложения, а не обычным пользователем.
    1. Разработчикам приложений и услуг этих счетов для ограничения связанных с ними процессов правами и привилегиями вместо того, чтобы запускать свои процессы как root. Услуги как запускается инит, systemd в или аналогичные, которые выполняются с правами root, быстро перейти на обслуживание счета для ограничения рисков. В зависимости от операционной системы используется приложение счетам может быть предоставлено больше льгот, чем обычных счетах, например, право на привязку к привилегированным TCP-порт, или на противоположном имеют свои привилегии сокращается по сравнению с обычным пользователем, например отрицая процессы обслуживания вызова вилка / exec будет. В таком случае нет необходимости пользоваться услугами понижение учетной записи службы, они могут быть запущены с ним.
    1. Вам не нужно, а просто создать учетную запись без использования пароля и с не рабочей оболочки (например, /ОГРН/ложь) и он не может использовать обычный пользователь, т. е. не будет никакого способа войти в систему локально или удаленно (например, через протокол SSH), используя имя учетной записи. Как и большинство ограничений, используя учетную запись root или судо позволяет его преодолеть.
+793
user117869 21 июл. 2013 г., 19:34:36

Мне нужно найти максимальное значение окна перегрузки для TCP в Ubuntu. Я только найти размер окна инициализации; я не могу найти максимум.

+781
rama Mwamleleo 10 апр. 2013 г., 22:18:45

Пакет initramfs-это сжатый образ, как правило, хранится в файле/Boot (напр. на мой в CentOS 7 машина, у меня в/boot/initramfs, в-3.10.0-327.18.2.el7.архитектуру x86_64.ИМГ). Это может быть архив gzip архив cpio.

например

судо документ постоянного тока /загрузки/пакет initramfs-3.10.0-327.4.5.el7.архитектуру x86_64.ИМГ | команда cpio -Т | руководитель
.
и т. д.
и т. д./команды modprobe.д
и т. д./команды modprobe.д/mlx4.конф
и т. д/ЛД.так.конф.д
и т. д/ЛД.так.конф.д/ядра 3.10.0-327.3.1.el7.архитектуру x86_64.конф
и т. д/ЛД.так.конф.д/ядра 3.10.0-327.4.4.el7.архитектуру x86_64.конф
и т. д/ЛД.так.конф.д/ядра 3.10.0-229.20.1.el7.архитектуру x86_64.конф
и т. д/ЛД.так.конф.д/MariaDB в-архитектуру x86_64.конф
и т. д/ЛД.так.конф.д/ядра 3.10.0-327.4.5.el7.архитектуру x86_64.конф

Это хранит минимально необходимый набор процедур для получения ОС в состояние, в котором он видит корень устройства. например, он может содержать драйверы, необходимые чтобы поговорить с вашей шины.

Это распаковывается в оперативную память во время загрузки и казнен. Потому что это образ оперативной памяти любые изменения будут потеряны.

Как только действительный корень диска был найден его монтирования и корень перешли на этот. Затем загрузка продолжается в нормальном режиме. Потому что этот корень является реальной файловой системы (не в памяти) изменения сохранены здесь являются постоянными.

+733
NSUserDefault 9 янв. 2014 г., 18:43:05

Это может быть полезно знать, какая команда используется для запуска Xephyr, и какой оконный менеджер используется.

Я попытался это:

Xephyr :1 &
Дисплей=:1 Openbox в &
Дисплей=:1 qbittorrent

и получил неполное окно содержимого qbittorrent. Пробую то же самое с xfwm4:

Xephyr :1 &
Дисплей=:1 xfwm4 &
Дисплей=:1 qbittorrent

тогда все нормально, и qbittorrent это использовать.

Я не могу объяснить, почему есть разница, но, очевидно, есть. Я подозревал, что проблемы с композитными и попытался запустить Xephyr с композитными включено:

Xephyr +расширение композитный :1 &

но это, кажется, делает никакой разницы.

Редактировать: xfwm4 и композитинга способностей, Openbox в не. Может смесь все же важным ключом.

+701
keocra 29 мая 2010 г., 20:03:37

Я пишу АИ личный помощник. Одна часть программного обеспечения-монитор демона. Небольшой процесс активного пользователя монитора для Windows. Я с помощью Python( с libwnck и psutils для получения информации о активных окон). Одна вещь, я хочу, чтобы мой монитор не отслеживать музыку, которую слушатель чаще прислушиваться к.

Есть в любом случае, я мог "мониторить" открытия и закрытия файлов? psutils.Процесс имеет функцию, которая возвращает список открытых файлов, но мне нужно как-то уведомить его, чтобы проверить его. В настоящее время он проверяет только данные процесс, когда переключатели окна, или окна открыты или закрыты.

+645
Speranta derisma 4 мар. 2019 г., 10:53:01

Я только что купил новый компьютер и у меня установлен Debian на это. У меня возникли трудности с подключением по WiFi. Кажется, что Debian не видит сетевой интерфейс, как wlan0.

Предоставить некоторые подробности, моя версия Debian:

В Linux 3.2.0-4-amd64 в #1 СМП в Debian 3.2.63-2+deb7u1 х86 GNU/Линукс

Используя команду lspci --н я обнаружил, что мой беспроводной геймпад следующие:

02:00.0 контроллер сети [0280]: корпорация Intel устройства [8086:08b1] (Ред. 73)

что должно соответствовать Интел(Р) беспроводной-N 7260.

На этой странице (https://packages.debian.org/wheezy-backports/firmware-iwlwifi) я обнаружил, что мне нужно несвободных-iwlwifi пакет из Wheezy бэкпортов.

Поэтому я изменил мою источников.список файлов для приема и несвободные пакеты из Wheezy-бэкпортов и я установил данный пакет услуг.

Все равно ничего не происходит и я до сих пор не имеют интерфейса wlano. Любая идея, как решить эту проблему?

+641
Daniel Dentremont 5 февр. 2016 г., 00:38:28

Руководство по эксплуатации страница Самба для синхронизации учетных записей пользователей с домена

Список рассылки Самба:: проверить статус пользователя домена с Active D-каталог(Омен)/с(ontroller)

Один способ я вижу для решения этой задачи-поместить скрипт в /профиля.каталог д/ указано в других моих ответов.

Тест на членство в домене и статус пользователя, затем в зависимости от результатов запроса, выполнить ваше требование, или если пользователь не соблюдает требование привилегий домен, не создавайте файл.

Командная Консоль Bash

$> группа getent 

Выход

Админы домен:x:512:корень
Пользователи домен:X:513:JHT особенности,лку,айт,встретились,vlendecke
Компьютеры домен:X:553:
... ...
домен-СШ-пользователей:Х:55 раз:Гарри,Марк,Иоанн

Тестирование Членство В Доменной Группе

DOMAIN_GROUPS=`группа getent`
USERS_DOMAIN_SSH=`Эхо $DOMAIN_GROUPS | грэп "домен-СШ-пользователи" домен-СШ-пользователи | Е С/Х:55 раз://г'
Последний пользователь=` | глава -Н 1`
если [ `Эхо $DOMAIN_GROUPS | пользователей грэп$`]
тогда
#... Как добавить файл.
еще
#... Не следует добавлять файл.
выход
интернет

Это hacky, но выполнимая...

DOMAIN_GROUPS списки присвоения групп доменов и пользователей, связанных. USER_DOMAIN_SSH читает DOMAIN_GROUPS, прокладки все, кроме линии домен-СШ-пользователей, и текстовый поток обработки полосы все, кроме запятой разграничены пользователей. Пользователь проверяет последние пользователи для входа в систему и считывает абсолютные последний логин.

Тест проверяет строку DOMAIN_GROUPS для пользователей.

Пример экспорта путь Самбу

если [ $TEST_DOMAIN_USER_ACCESS_LEVEL ]
тогда
экспорт путь='/usr/местные/Самба/бин:\
/usr/местные/Самба на/sbin:$путь' >> /Home/домен/пользователь/.файл && Эхо ОК
еще
выход
интернет

Управление самбы группы

профиль.сценарий д

#!/бин/Баш
ОКР=`ОКР`
#Магазин env в строку, то экзамен для членства в домене...
если Эхо ОКР $грэп -м "local.mydomainname.com"
тогда
 пользователь=кот /ВАР/журнал/авт | грэп логин | грэп -о '.\{\0,0}:.\{0,100\} | СЭД 'ы/: //г' | команда grep -Эо '^[^ ]`
 # Есть шаг ^^ пропавших без вести в этом задании, чтобы захватить первые линии, совпадающие с шаблоном. Поэтому здесь мы проверяем, что пользователь для сборки.
 линия Эхо "1 из ~/.bashrc и" >> /главная/домен/$пользователей
 линия Эхо "2 из ~/.bashrc и" >> /главная/домен/$пользователей
еще
 эхо "не построить ~./bashrc и для недоменных пользователей"
интернет
+638
GangsterVano 11 июн. 2013 г., 18:24:06

Я добавил следующее в /дома/pquarato/.bashrc следующее:

экспорт PYTHONPATH="/домашний/бли/.местные/Либ/питон3.6/сайт-пакеты"

Это позволяет решить обе проблемы (ModuleNotFoundError и DistributionNotFound).

Интернет .bashrc и файл должен быть получен, прежде чем это вступит в силу.

Это, наверное, должен быть адаптирован в зависимости от оболочки, что пользователь использует.


Редактировать

Установка PYTHONPATH не похоже на работу с местными пакеты, которые были установлены как *.яйцо-ссылке используя pip3.Установить 6-е. В таких случаях есть еще ModuleNotFoundError.

+627
Bernard Javier 22 авг. 2014 г., 04:55:17

Если вы используете команды dmesg команду, он покажет вам, где (Дев/СДА, Дев/СДБ и др.) устройства "есть".

Есть довольно приличный гид здесь. Это для SUSE, но должно распространяться на всех дистрибутивах.

+619
Martin Tao 19 нояб. 2015 г., 14:26:18

Я наконец нашел Лл псевдоним определение для нашего веб-сервера (CentOS) так в двух скриптов в файле/etc/профиль.д/:

  • /и т. д./профиль.д/colorls.хсг
  • /etc/profile.d/colorls.sh

Я нашел его, сначала учась на комментарии выше, где система широкого профиля был: /и т. д./профиль. Этот файл утверждает, что общесистемные псевдонимы определены в файле/etc/bashrc следующее, И в этом файле я увидел, что он перебирает несколько скриптов в файле/etc/профиль.д/и поэтому я использовал grep в этой директории и, наконец, нашли определения. Я также обнаружил, что есть я. псевдоним, который перечисляет все файлы Dot:

От colorls.sh:

псевдоним Лл='ЛС-л-цвет=авто' 2>/dev/нуль
псевдоним л.='ЛС-д' .* --цвет=авто' 2>/dev/нуль
псевдоним LS='LS с --цвет=авто' 2>/dev/нуль

(Существуют аналогичные псевдонимы в colorls.хсг.)

+601
Amadei 5 авг. 2010 г., 10:23:01

Для данных в формате CSV, я бы использовать язык с анализатором реального КШМ. Например с Рубином:

рубиново-rcsv -ЧП '
 строки = КШМ::parse_line($_).карта {|е| е.удалить!(",") если e =~ /^[\Д,]+$/; Е} 
 $_ = КШМ::generate_line(ряд)
'<<Конец
56,72,"12,34,54",х,г,"фу,А,Б,бар"
56,92,"12,34",х,г,"фу,А,Б,бар"
56,72,"12,34,54,78,76,54,67",х,г,"фу,А,Б,бар"
56,72,х,г,"фу,А,Б,бар","12,34,54"
56,72,х,г,"фу,А,Б,бар","12,34,54","45,57,84,92","бар,фу"
Конец
56,72,123454,х,г,"фу,А,Б,бар"
56,92,1234,х,г,"фу,А,Б,бар"
56,72,12345478765467,х,г,"фу,А,Б,бар"
56,72,х,г,"фу,А,Б,бар",123454
56,72,х,г,"фу,А,Б,бар",123454,45578492, бар", фу"
+568
10630 21 дек. 2015 г., 14:33:33

Решение с помощью команды grep вариант с помощью СЭД (как предложил КАС):

$ грэп -Ф <(СЭД 'с/^/^/' файл2) файл1
с котом
электронный Орел
F огонь

Команда СЭД 'с/^/^/' файл2 добавляет каре ^ в начале каждой строки в файл file2. Мы использовать этот вывод в качестве шаблона входного файла для команды grep опцию, используя процесс замещения (<(...)).

В грэп команда выводит эти строки в файл file1 , соответствующие шаблонам команды замены. Нам нужны ^ персонаж в нашей модели, чтобы соответствовать те строки, которые начинаются с заданного символа.

+566
Giuseppe Rota 20 авг. 2019 г., 01:41:15

У меня есть сжатый tar-архива с корневую директорию ОС SLES 11. Я хочу загрузить другую машину с ОС Linux, распакуйте архив моя ОС на диск, и создания загрузочного диска. Есть ли простой способ сделать это?

Я пытался загрузиться с живого DVD, тогда извлеченный образ на диск и потом попытался запустить:

файл grub2-установить --проверьте --загрузки-каталог=/монтирования/Boot/ /Дев/СДА

Но когда я выдал:

файл grub2-mkconfig -о /монтирования/Boot/файл grub2/харч.cfg для

Я получаю эту ошибку:

выполнить /sbin/файл grub2-зонд: ошибка: не удалось получить канонический путь `файловая система tmpfs'.

Кстати, количество дисков и их размер может отличаться между исходной и целевой машины.

+545
Andrea Pruccoli 9 апр. 2018 г., 02:10:11
показать инвентарь | Перл -л -00ane '
 /Имя^:\с+"1", в/М и $serial_num = "@Ф[-2,-1]";
 печати функцию substr($_,0,-1), $\, $serial_num если EOF;
'

Краткое резюме вышесказанного:

Для того чтобы установить этап изложены на языке Perl вариантов использования. Мы работаем Perl в пункте Режим -00 , а также авто-оконный режим котором каждый пункт разделен на места для заполнения @F в массив каждый раз, когда новый пункт читать.

Это то, что в Perl $_ похоже, после проглотив один пункт:

НАЗВАНИЕ: "1", ОПИСАНИЕ: "С WS-C3750G-12С"

ПИД: протокол WS-C3750G-12С-е , вид: В06, ЗП: FDO1129Z9ZJ

Другими словами, $_ имеет пункт. Потом этот $_ распалась на \С+ так: @Ф = сплит /\с+/, $_; Это приводит в @F в массив , начиная с обратного: $Ф[-1] = 'FDO1129Z9ZJ'; $Е[-2] = 'ЗП:' ...

И заметь , все вышеперечисленное происходит под капотом. Как только это будет заботятся, мы приходим к код сниппета на Perl: /^Имя:\с+"",/м => будет возвращать true для записи ака пункт ака $_ , когда оно начинается с имени... или начинается с имени... на новую строку из-за модификатор шаблона стоящий на нескольких-линия соответствия. Для этого мы вам серийный номер в качестве последнего поля $Ф[-1] этот пункт и захватить строку ЗП: в качестве второго-поле $Ф[-2]. Теперь мы можем извлечь их одним махом, как @Ф[-2,-1] и положить их в двойные кавычки, как "@Ф[-2,-1]" , подразумевая "$Ф[-2]" пробел "$Ф[-1]" что-то вдоль линий, что знаменитый оболочки переменной "[email protected]". Смысл мы получаем разделенный пробелами список элементов массива. Чтобы быть точным, это $" суперглобальный массив, значение которого выступает в качестве разделителя, так как первый символ в МФС определяет двойной-цитирует интерполяции "$*" в Баш.

Теперь у нас есть наш серийный номер устройства, мы идем искать номер устройства , который можно найти в последней записи ака ВФ. Здесь функцию substr($_,0,-1) берет $_ ака пункт и удаляет 1 чар начиная с конца -1 Это что - означает, и возвращается после снятия и сцепляет серийный_номер уже определились с $\ голубцы с \п из-за К вариант. Это, наконец, напечатать на стандартный вывод.

Надеюсь я не очень запутанно & НТН.

+403
Joakinen 27 июл. 2013 г., 18:54:04

У меня есть ноутбук HP с 2 жесткими дисками Windows установлена на одном диске, а другой пустой, разделен на 3 секции. Я смотрю на Арч Линукс руководство по установке, конкретно в этом разделе. Я надеюсь, что я могу установить арки на один из трех разделов на втором диске. Я нашел этот вопрос, но это не адрес моей проблемы. Как установить арку Linux на определенный раздел? Я просто пытаюсь быть осторожной, так как мне нужна установка Windows.

+388
Daniel McCaig 7 февр. 2013 г., 19:52:57

У меня есть друг, который недавно установил с Lubuntu на нетбук ASUS, чтобы попробовать его.

Проблема в том, что даже если он сможет найти все сетевые подключения и после попытки подключиться к двум из них (даю пароль и т. д.) ничего не происходит и он не может подключиться к сети.

Я предполагаю, что нет ничего плохого с его сетевого адаптера или сети пытался также подключить. Я искал на Ubuntu эквивалентные команды Windows, как команду ipconf -релиз -обновление , которое может помочь, но я пока не нашел однозначного ответа.

Редактировать:

Мне потребовалось некоторое время, но, как кажется, что есть проблема со шлюзом доступа, поскольку команда ip-маршрут показать ничего не показывает.

Как я могу исправить это, а затем приступить к установлению связи?

Какие мысли?

+345
Alexandr42rus 18 мая 2010 г., 22:49:07

"Пользователь" вы хотите называется ЛСМ: модуль безопасности Linux. Наиболее известными являются SELinux и в AppArmor.

Этим вы можете предотвратить некоторые файлы (и их дочерние процессы) делать определенные вещи (даже если их uid-это корень). Но вы можете разрешить эти операции Гетти и его дочерних процессов, так что вы можете сделать это вручную.

+343
tomas jindal 11 нояб. 2016 г., 11:12:08

Мне нужно автоматизировать скрипт, который подключается к серверу. Я сделал ключ RSA и загрузить его в authorized_keys сервера файл:

настольные$ SSH-ключей -Ф ~/.СШ/id_rsa_marge -Р " -Т ОГА
настольные$ команду chmod 600 ~/.по SSH/id_*
настольные$ УПП ~/.СШ/[email protected] паб:~/
пароль:
настольные$ СШ [email protected]
пароль:

Мардж$ кошка ~/id_rsa_marge.паб >> ~/.по SSH/authorized_keys
Мардж$ whoami
мне
Мардж$ LS-Ла | грэп СШ
дополнительные возможности------- 2 меня 4096 29 мая 16:02 .СШ
Мардж$ LS-Ла .СШ
итого 16
drwx------ 2 меня 4096 29 мая 16:02 .
drwx--х--х. 9 меня 4096 августа 11 05:32 ..
-РВ------- 1 мне 398 11 авг 04:14 authorized_keys
-RW-р-р-- 1 меня 414 29 мая 16:02 Если вы
Мардж$ кот .по SSH/authorized_keys 
СШ-ОГА AAAAB3NzaC1yc2EAAAADAQABAAABAQCzuvv0smf+H7kwmEkJzXY1RqionS6DTtJiON3+9L6neKMaFb/FXc3UtK7oN/lsxNcHwv9s9GG4xp2UiUNk8NeT+/aFCjl7sMpDsW1+bn7sjhRFFw095qxvK52somSUKXlm9DP1pr0wj9r9kxdph3hynxrsmkdpnwk2lvghhzr3nh39mj/3Fwaejl+sYnO8wgPfZbqZTA1xubhIQilv0XI8YAWuom+Mn2QmyI12geTVKdD393wL0cDrkit/MXjMY6pimSFafrFJkaWV1BI4YOnkPRPo8oyom4ywxhcceb14jkomkdsacuwsdsncy/IDP51rcwItZrXxBiOHFZJW1Nlp [email protected]рабочем столе
Мардж$ выход

настольные$ кот .СШ/id_rsa_marge.паб 
СШ-ОГА AAAAB3NzaC1yc2EAAAADAQABAAABAQCzuvv0smf+H7kwmEkJzXY1RqionS6DTtJiON3+9L6neKMaFb/FXc3UtK7oN/lsxNcHwv9s9GG4xp2UiUNk8NeT+/aFCjl7sMpDsW1+bn7sjhRFFw095qxvK52somSUKXlm9DP1pr0wj9r9kxdph3hynxrsmkdpnwk2lvghhzr3nh39mj/3Fwaejl+sYnO8wgPfZbqZTA1xubhIQilv0XI8YAWuom+Mn2QmyI12geTVKdD393wL0cDrkit/MXjMY6pimSFafrFJkaWV1BI4YOnkPRPo8oyom4ywxhcceb14jkomkdsacuwsdsncy/IDP51rcwItZrXxBiOHFZJW1Nlp [email protected]рабочем столе
настольные$ LS-Ла | грэп .СШ
-РВ------- 1 dotancohen dotancohen 689 12 августа 11:03 .lesshst
drwx------ 3 dotancohen dotancohen 4096 августа 12 11:05 .СШ
настольные$ LS-Ла .СШ | грэп канарейка
-РВ------- 1 dotancohen dotancohen 1675 11 августа 12:13 id_rsa_marge
-РВ------- 1 dotancohen dotancohen 398 авг 11 12:13 id_rsa_marge.паб
настольные$ грэп -в 5 Мардж .по SSH/config файл
Хозяин Мардж
 Пользователь я
 Имя 2.4.6.8
 IdentityFile ~/.СШ/id_rsa_marge.паб
 IdentitiesOnly да

Однако, когда я пытаюсь войти на сервер, он запрашивает пароль:

настольные$ СШ -в Мардж
OpenSSH_5.3p1, в OpenSSL 1.0.0-ФИПС 29 марта 2010 года
debug1: чтение данных конфигурации /домашний/рабочий стол/.по SSH/config файл
debug1: применение опционов для Мардж
debug1: чтение данных конфигурации в /etc/СШ/файле ssh_config
debug1: применение варианты *
debug1: подключение к 2.4.6.8 [2.4.6.8] порт 22.
debug1: установленное соединение.
debug1: идентичность файл /home/рабочий стол/.СШ/id_rsa_marge.тип паб 1
debug1: идентичность файл /home/рабочий стол/.СШ/id_rsa_marge.паб-Серт введите -1
debug1: Удаленная версия протокола 2.0, пульт дистанционного версия программы OpenSSH_5.9p1 в Debian-5ubuntu1.3
debug1: матч: OpenSSH_5.9p1 в Debian-5ubuntu1.3 ПЭТ пакет OpenSSH*
debug1: включение режима совместимости для протокола 2.0
debug1: локальное строке версия протокола SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT послал
debug1: SSH2_MSG_KEXINIT получил
debug1: KEX по: сервер->клиент aes128-CTR с помощью HMAC-MD5 и нет
debug1: KEX по: клиент->aes128-CTR для сервера код HMAC-MD5 и нет
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) отправил
debug1: ожидая SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT послал
debug1: ожидая SSH2_MSG_KEX_DH_GEX_REPLY
debug1: хост 2.4.6.8 известна и совпадает с ключевой узел ОГА.
debug1: найден ключ в /Home/рабочий стол/.СШ/если вы:2
debug1: ssh_rsa_verify: правильная подпись 
debug1: SSH2_MSG_NEWKEYS послал
debug1: ожидая SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS получил
debug1: SSH2_MSG_SERVICE_REQUEST послал
debug1: SSH2_MSG_SERVICE_ACCEPT получил
debug1: проверки подлинности, который может продолжаться: открытый ключ
debug1: Следующий способ проверки подлинности: открытый ключ
debug1: в публичный ключ в /Home/рабочий стол/.СШ/id_rsa_marge.паб
debug1: сервер принимает ключ: pkalg СШ-РСА м 277
debug1: PEM_read_PrivateKey не удалось
debug1: читать УГР закрытого ключа сделано: тип <неизвестно>
Введите пароль для ключа '/домашний/рабочий стол/.СШ/id_rsa_marge.паб': 
debug1: нет больше методов проверки подлинности, чтобы попробовать.
Отказано в доступе (открытый ключ).

Как видно, нет пароль для этого ключа. Кроме того, с рабочего стола я могу использовать этот ключ без ввода пароль! Почему это один сервер требую, чтобы меня ввести пароль, когда нет никого?

+334
Yagami Red Devil 27 июн. 2011 г., 18:12:36

Я подозреваю, что ты не делаешь совсем то, что ты делаешь. Запустить frobiz: , то ли это в вашей истории. Frobiz должна нормально не получиться - нет такой команды. Но это будет в вашей истории. Я подозреваю , что вы пытаетесь что-то как LS *![0-9], который завершится

ЛС !(*.[0-9])
база ![0-9]": событие не найдено

Дело в том; когда человек не такой, Баш никогда не пытается выполнить команду, чтобы он не попал в историю. IGNOREBOTH не имеет отношения к этому - он работает как рекламируется. Попробовать избежать ! (чего оболочка принимает ссылаться, по иронии судьбы, команды в истории) - например:

\ ЛС! ...

И это вероятно, будет работать, как ожидалось.

+324
Sayed Saleh Shojaei 28 апр. 2015 г., 03:30:46

Если вы дадите команду

ФК-список -в

он должен содержать для каждого шрифта символов имущество, которое представляет собой битовую маску, которая существует кодов символов в шрифте. Например, для простой шрифт, как ФК-список -в 'курьер 10 питч - это линии:

кодировка: 
0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
0001: 000c0006 61000003 00040000 00020000 00000000 00000000 00000000 00000000
...
00fb: 00000006 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Возьмите шестнадцатеричное число в первом столбце, как в последней строке 00fb, и сдвинуть его влево на 8 бит. Это начало значение Юникод. Маски 00000006 говорит, что существует символ для кодов 1 и 2 (6 = 2+4 = 1<<1 | 1<<2), которые вы добавить в первый столбец, чтобы получить 00fb01 и 00fb02. (Эти глифы, например, Латинская строчная лигатура в интернет.)

Так что в случае U1F32D вам нужно, чтобы grep для 01f3: и искать немного набор по индексу в строке, т. е. 00002000 00000000 ... (наверное!). Обратите внимание на 0 просто показывают положение 2. Фактические значения могут быть любыми-ричная цифра. (А команда grep шаблон может быть 01f3: ........ ....[2367abef]). Предыдущий файл: запись должна привести вас к пакету (использование РПМ-ФК именем).

Но я уверен, что там должен быть лучший способ чтобы найти глиф.

+254
turro 3 сент. 2012 г., 12:07:53

Я не знаю, как спросить об этом, но позвольте мне объяснить.

У меня есть текстовый файл (с именем БЛА) в моем ~/пользователей/в Dropbox папке. Я хотел бы, чтобы команда grep на нее из любой папки в терминале.

Например, я бы просто типа команда grep 'фу' бла вместо ~/пользователей/Dropbox и искать.

Я считаю, что некоторые символическая ссылка может помочь. Любая идея?

+232
Edwin A Merrick 11 авг. 2014 г., 00:40:22

Вы можете поместить пароль в файл и повторно использовать, что с ключом-файлом параметров. С помощью случайных ключей, а не пароль открытым текстом в том, что программа установки может быть предпочтительнее.

Эхо -N пароль > pwfile
для Лукс в МД1 МД2 md3 для
делать
 пакет cryptsetup luksOpen --ключ-файл=pwfile /разработки/"$Лукс" Лукс"$Лукс"
сделано

Лично я использовал немного другой подход с Лукс зашифрованные файлы ключей:

В этой схеме один пароль открывает файл ключей-магазина, который содержится в случайном порядке ключи для различных других Лукс контейнеров. Это особенно полезно для в/Boot на USB настроек, так что в/Boot не может быть подделан и аппаратный кейлоггер недостаточно, чтобы получить ключи для внутренних дисков.

+145
Guido Leenders 4 мая 2011 г., 10:11:50

Что эта команда делает компиляции mod_geoip модуль и связать его против заголовков версия Apache вы используете.

Если вы используете акций пакетами Debian, Apache для тогда вам просто необходимо установить Апач-разработчика пакета (вы, конечно, тоже нужно строить-тому, если вы не имеете его уже). Возможно, вам придется настроить эту команду на пути, что Debian использует (если они отличаются), но в остальном, что команда должна работать нормально.

+103
A Ail 22 нояб. 2017 г., 18:42:44

У меня есть каталог на удаленном сервере remote1 находится, установленные через sshfs. Я устанавливаю новые версии некоторых файлов в удаленный каталог, который достаточно большой (~50м).

В настоящее время я использую

в rsync- - в месте локального/файл.так remote1 находится/файл.так~новый

чтобы скопировать файлы на удаленный каталог, и затем

в rsync-а-в-места remote1 находится/.так~новый файл компьютере remote1/.так.

Второй rsync это медленнее, чем хотелось бы, и я подозреваю, что он загружает файл данных по SSH прежде чем повторно загружать их, а не копировать на удаленную систему.

Я бы предпочел, чтобы сохранить файл.так~новый файл в качестве резервной копии (я переключение между новым и исходным файлом), поэтому я не использую МВ.

У меня нет программы rsync на удаленный хост, который является, почему я не использую стандартные команды rsync, но я использую rsync, чтобы избежать копирование, когда файл находится уже на месте.

Есть параметры командной строки, что позволит повысить скорость копирования? Я бы лучше с помощью SCP или SFTP? Если да, то как я могу проверить, что файл не изменялся (время и размер), так что я не копирую т. к если файл уже существует.

Мое последнее улучшение-это загрузить две новые копии, а затем использовать МВ переименовать один из них. Неужели нет лучшего способа?

+79
user1728219 1 сент. 2011 г., 02:59:41

найти это простой способ. Если вы используете ЗШ, вы можете использовать его Глоб классификатором Ф (или куча других прилагательных для характеристики Разрешение биты по отдельности).

Эхо *(f521)
+60
malder58 24 апр. 2019 г., 11:48:35

Используя Баш:

присоединяйтесь к -т @ -1 2 -2 2 -О2.1,1.2 -в 1 -е значение null \
 <( вроде -Т @ -К2 <( СЭД 'ы/,/@/' Азбука.КШМ ) ) \
 <( вроде -Т @ -К2 <( СЭД 'ы/,/@/' АБВ.формате CSV ) ) | е с/@/,/'

С двумя файлами

TBL_NAME ОПЕРАТОР,SANDBOX_NAME,ИМЯ_СЦЕНАРИЯ
ccti_prod_attdnl_ext,abc_ext,101_ext_table.m_diag.pset
ccti_prod_attdnl_ext,abc_ids,101_ext_table.m_diag.pset
ccti_prod_attdnl_ext,xxx_ids,101_ext_table.m_diag.pset

(Азбука.КШМ от вопроса, с АБС заменить букварь и несовпадающие линии) и

ПИД,SANDBOX_NAME,ИМЯ_СЦЕНАРИЯ
11065,abc_ext,101_ext_table.m_diag.pset
11066,abc_ext,101_ext_table.m_diag.pset
11067,abc_ids,101_ext_table.m_diag.pset

(АБВ.КШМ от вопроса), это производит

ПИД,SANDBOX_NAME,ИМЯ_СЦЕНАРИЯ
11065,abc_ext,101_ext_table.m_diag.pset
11066,abc_ext,101_ext_table.m_diag.pset
11067,abc_ids,101_ext_table.m_diag.pset
Нуль,xxx_ids,101_ext_table.m_diag.pset

В присоединиться работает на результат замены первой запятой по @ (любой символ не присутствует в данных, по крайней мере, в первое поле) и последующей сортировки входного файла на втором @запятыми поля (которое в последних двух полей, разделенных запятыми). Он выводит первое поле из первого файла и второго поля из второго файла. Он также добавляет несовпадающие записи из первого файла и заменяет пустые поля со строкой нулевой.

В СЕПГ в конце то заменяет @ запятыми.

+32
Kenn Sat 8 нояб. 2012 г., 03:37:21

У меня есть большое количество скриптов, которые я должен изменить. Каждый сценарий, наверное, звонки от 5 до 10 другие сценарии, которые, в свою очередь, может вызвать ряд других скриптов, и кто знает, насколько глубока кроличья нора, что работает.

Есть ли способ, чтобы получить список сценариев, которые называются по определенному сценарию?

Я думаю что-то вроде:

/главная/корневой/ $ showscripts mytargetscript

на выходе будет что-то вроде:

/главная/корень/mytargetscript
/главная/корень/asubscript
/главная/корень/bsubscript
...

Если я обидел богов Unix, я предлагаю свою епитимью заранее. Я отвечаю на множество вопросов по дБА.ЮВ.

+18
ienex 28 дек. 2019 г., 20:43:07

Через ТР и грэп:

строка=Бу
Echo "Привет Бу Джигги" | тр '' '\п' | грэп -СЗ "$строка" | вырезать -д':' -Ф1

Обратите внимание, что в отличие от версии @Джесси, этот вариант не знаем. Так,

Эхо 'Привет
Бу Джигги' | тр '' '\п' | грэп -СЗ "$строка" | вырезать -д':' -Ф1

будет выход 2, в то время как версия @Джесси будет выдавать 1.
Я не знаю, если это важно для вас.

+14
Aline Nunes 13 дек. 2012 г., 11:46:10

Показать вопросы с тегом

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil