Команду curl экс

У меня есть команды curl, что я работаю на RedHat 7.3, подобные следующим:

завиток -х пост https://myserver:443/ -ч 'кэш-управления: нет-кэш' -ч 'тип контента: приложение/JSON'-д '{ "действие": "тест", "адрес": "192.168.1.1", "значение": "ложь", "окружающая среда": "myrealm" }' --неуверенно

Теперь мне нужно сделать то же самое на экс-7100. До сих пор я

завиток -х пост -д '{ "действие": "тест", "адрес": "192.168.1.1", "значение": "ложь", "окружающая среда": "myrealm" }' https://myserver:443

однако я по-прежнему получаю ошибку

Вы можете выбрать только один HTTP-запрос!

Когда я брошу -х пост, он работает, но он не делает пост больше, оно просто висит там, пока не будет отменен. Кто-нибудь есть идея, как я могу запустить первую команду curl на экс машина?

заранее спасибо!

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

Я в состоянии установить связь, как я могу справиться с

--небезопасно

в экс? Этот вариант не существует, похоже.

+792
mol3574710n0fN074710n 16 апр. 2010 г., 07:25:46
26 ответов

"стандарт" Ubuntu является версия гном. Есть Xubuntu в (рабочие столы Xfce), Кубунту (КДЕ), и переходный (легкий).

Это повлияет только на начальный набор пакетов, который устанавливается. После установки, вам просто иметь систему Ubuntu настроен для запуска одного или другого графического рабочего стола по умолчанию. Кубунту например установка кубунту-десктоп мета-пакет (который существует только зависит, и рекомендуем другие пакеты). Просто Убунту и Убунту-десктоп установлен из коробки, которая зависит от кучки гномов пакеты, как единство (а в GNOME оконный менеджер), Наутилус (гном файла управления), и языка менеджер входа. Плюс много других вещей.

Все ароматы в Ubuntu установить Убунту-стандартный и Убунту-минимальный , чтобы дать вам загрузочный и пригодны для использования в GNU/Linux системы под все графические оболочки, они запускаются по умолчанию.

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

Вы можете иметь часы веселья узнав о Debian пакет зависимостей и конфликтов, и настольных логин конфигурационные файлы и дерьмо, если вы решили очистить Убунту-десктоп и установить что-то еще... :) это должно работать, и возможно ли, но что-то смущает для Новый пользователей могут возникать.

+992
Morfinismo 03 февр. '09 в 4:24

У меня следующая архивных каталогов:

itunes20140618.ТБЗ

Я хочу, чтобы извлечь один файл из него называется:

itunes20140618/видео

Как бы я сделать это?

До сих пор я делаю

$ командой bzip2 -д /tmp/и itunes20140618.ТБЗ 

Но это, кажется, создать каталог дегтя все. Как бы я извлечь только один видео файл?

В настоящее время, если я извлечь один файл с помощью смолы требуется около 1 минуты, а затем 'зависает' в течение еще 20 минут, пока он закончит чтение архив tar. Любые идеи, как улучшить это?

+992
Rohit Prasad 25 февр. 2012 г., 23:26:48
Другие ответы

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


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

При условии, что нет ' одиночные кавычки в именах файлов, вы могли бы сделать это как:

я=0; --установить
для F в *
сделать набор -- "[email protected]" "$Ф" гг "$(в(I+=1))" "${F#в"${Ф%".*}"}
сделано
е "мВ 'на %S' '%ы%03д%ы'\п" "[email protected]" | Ш.

Таким образом, если имя файла содержит . затем он и все, что следует за ним сохраняется, то это поле пусто и функции printf печатает ничего нет.

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

я=0; --установить
для F в *
сделать набор -- "[email protected]" "$((я+=1))" гг "$я" "$я#\"\${$я%.*}\""
сделано
е МВ "${%д}" "%ы%03д${е%}"\п' "[email protected]" | ш-с ... *

...который, наверное, гораздо безопаснее в целом.

Но вы знаете, подумав об этом, я подозреваю, что оба слишком много работы. Единственная причина, почему я трубы либо список, чтобы не проводить проверки на ноль-обивка. Я предпочитаю, чтобы построить список в один подуровень и передавать его с одной написать() для одного подуровня при необходимости.

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

$((з/п=(м*=((я+=1)<$м?1:10))/$м))

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

комплект -- *; максимальная=$# з=1
пока [ "${#з}" -ГТ "${#Макс}" ]; у : "$((з*=10))"; сделано

Это полностью автоматизированный способ - это автоматически площадку, чтобы все наибольшее число это может увеличиваться. Но, честно говоря, просто должен быть номер, начинающийся с 1, и следуют только нули, так:

комплект -- *; з=1000

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

время тире <<\КМД
 стр=100000 Z=1 м=1 Я=0 
 ул. до [ "${#з}" -ГТ "${#}" ]; у : "$((з*=10))"; сделано
 а : "$((з/п=(м*=((я+=1)<$м?1:10))/$м))" &&
 дело "$I" в (*[2-8]*|*9*[10]*|*1*[19]*) продолжить;;
 ([019]*) комплект -- "[email protected]" "з: $з м: $м я: $я" "${з#?}$я";;эсок
 сделать [ "$я" ул.="$" ] & & Е %З\\П "[email protected]" && разрыва; сделать
УМК

Большая часть этого является фильтрация выходных, потому что я хотел быть уверен, что он будет продолжать работать для большого числа элементов, но я не хочу читать 100000 результатов.

Выход

з: 100000 М: 10 я: 1
000001
з: 100000 М: 10 я: 9
000009
з: 10000 м: 100 я: 10
000010
з: 10000 м: 100 я: 99
000099
з: 1000 м: 1000 я: 100
000100
з: 1000 м: 1000 я: 999
000999
з: 100 м: 10000 я: 1000
001000
з: 100 м: 10000 у меня: 9999
009999
з: 10 м: 100000 мне: 10000
010000
з: 10 м: 100000 я: 99999
099999
з: 1 м: 1000000 мне: 100000
100000
система приборов <<<" 0.32 пользователей с 0.00 с 99% процессора 0.320 общая

должен быть инициализирован первым этапом, на котором вы хотите, чтобы ведущие нули, чтобы начать раздеваться - я просто сделал М=1 выше. , как уже упоминалось, магазины верхней порядку величины. И $у меня на счету петли, так что я=0 - это, вероятно, безопасная ставка. В любом случае, остальное просто происходит. Идея просто полосы ведущих 1 от и прикрепить его на любом месте.

комплект -- $(сл 1000); м=1 Я=0 з=10000
в то время как [ "$#" -ГТ 0 ] && : "$((з/п=(м*=((я+=1)<$м?1:10))/$м))"
сделать е МВ "%s" в "lead_string_%С"\П' "$1" "${з#1}$я${1#"${1%.*}"}"
сдвиг; сделано

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

МВ "1" "lead_string_0001"
МВ "2" "lead_string_0002"
МВ "3" "lead_string_0003"
...
МВ "9" "lead_string_0009"
МВ "10" "lead_string_0010"
МВ "11" "lead_string_0011"
...
МВ "15" "lead_string_0015"
...
МВ "96" "lead_string_0096"
...
МВ "99" "lead_string_0099"
МВ "100" "lead_string_0100"
МВ "101" "lead_string_0101"
МВ "102" "lead_string_0102"
...
МВ "998" "lead_string_0998"
МВ "999" "lead_string_0999"
МВ "1000" "lead_string_1000"

И это делает никакой разницы, будет ли это для или в то время как петли вы используете. Так с файлами, вы могли бы просто сделать:

М=1 Я=0 и Z=10000
для F в *; у : "$((з/п=(м*=((я+=1)<$м?1:10))/$м))"
МВ -- "$F" и "lead_string_${з#1}$и${ф#"${ф%.*}"}"
сделано
+991
sincorchetes 12 июн. 2018 г., 15:45:54

Следует отметить, что, когда в папке есть, двигаться Б на С, папку разрешения , а определить, что можно сделать.

В данном случае, разрешения на . будет самым важным.

Заметим, что разрешения являются более сложными, чем просто права доступа rwx. Ваши музыкальные папки @ в конце концов . папки + в конце.

  • Использовать xattr -ч для определения комплексных разрешений для символа@.
  • Воспользуйтесь помощью getfacl определить ACL для + символ.
+922
Si Wilkins 9 окт. 2013 г., 20:08:52

У меня есть странная проблема, что я просто не могу выяснить. У меня Windows 7 виртуальной машине, что изначально физический компьютер, который был понижен до ВМ некоторое время назад. Я использовал, чтобы загрузиться с нее

в QEMU-система-x86_64 с опцией --enable-KVM переключатель VGA и СТД -м 4Г-СМП ядер=4 /Путь/к/образу 

Это изменило мою информацию об оборудовании достаточно, чтобы вызвать какие-либо активации Windows. Недавно я начал использовать libvirt и virt-менеджер. Все шло гладко, пока я не спустился к импорту Windows-машины. Когда я, наконец, получил его для загрузки, это вызвало активации Windows бред.

Я взял скриншоты из заявленных спецификаций оборудования (команду msinfo32), закрыли, потом загрузились обратно не проблематично команды и сравнил сообщила оборудования. Все выглядело точно так же. Так я начал играть вокруг с wmic, чтобы увидеть, если я могу получить более подробную информацию. Единственное, что я заметил, что поле ProcessorID процессора отличается в два сапога. Я перепробовал всевозможные хитрости, чтобы моя конфигурация (в первую очередь, процессор параметров (матч= "точное", режим='хост-модель, режим='хост-сквозной', и т. д.)) С помощью вирш редактировать имя_компьютера, но безрезультатно.

С помощью команды ps, я вижу libvirt-это, выполнив следующую команду (разбита на несколько строк для удобочитаемости):

в QEMU-систему-архитектуру x86_64 -включить-КВМ -именем Win7 -з \
-машина для PC-i440fx-верный,разг=КВМ,USB=от -М 4096 \ 
-в реальном времени вызов mlock=выкл -СМП 4,розетки=4,Количество ядер=1,нитки=1 \
-идентификатор UUID 71ca9116-a4a1-b799-dab5-01a483bce024 \
-нет-пользователей-настройка-nodefaults \
-гнездо chardev,ИД=charmonitor,путь=файл/var /lib в/в libvirt/qemu Для/с Win7.монитор,сервер,как NOWAIT \
-пн chardev=charmonitor,ИД=монитор,режим=\Контроль 
-РТК база=UTC-нет-отключение загрузки строгий=о \
-устройство piix3-с USB-ними,ИД=USB-кабеля,шины=ЧКВ.0,значение addr=0х1.0х2 \
-файл диск=/медиа/пол/VirtualMachines/с Win7.файл VMDK,если=нет,ИД=диск-ide0-0-0,формат=файл VMDK \
-устройства IDE-HD,в автобусе=язя.0,единица=0,диск=диск-ide0-0-0,ИД=ide0-0-0,bootindex=1 \
-netdev крана,ФД=25,ИД=hostnet0 \
- \устройства 
 rtl8139, \
 netdev=hostnet0, \
 идентификатор=net0, \
 Мак=52:54:00:БФ:2С:В2,автобус=ЧКВ.0, \
 значение addr=0х3-chardev Пти,ИД=charserial0 \
-устройства ISA-серийный,chardev=charserial0,ИД=serial0 \
-устройства USB-планшета,ID=input0 -коммуникационных 127.0.0.1:0 \
-устройство VGA,ИД=video0,автобус=ЧКВ.0,значение addr=0х2 \
-Интел-хда устройства,идентификатор=sound0,автобус=ЧКВ.0,значение addr=признаки 0x4 \
-устройстве HDA-дуплекс,ИД=sound0-codec0,автобус=sound0.0,САПР=0 \
-устройство, обычно-шар-PCI,то ИД=balloon0,автобус=ЧКВ.0,в addr=0x5

Вот мой конфиг файл: http://pastebin.com/0e2Mf4RE

Я все еще можете загрузить с помощью простой команды и нет никаких проблем. Команда в libvirt и QEMU, должно быть, изменилось что-то о том, как мой скобяными сообщается на гостевую машину. Я заметил параметров, которые выглядят как они могут быть настройка MAC-адреса и жесткого диска UUID, но это не важно. Я уверен, что оборудования для Windows замок в первую очередь основывается на комбинации материнской платы и/или процессора.

Кто-нибудь есть идея, почему это может происходить и как это исправить?

Обновление

Я попытался запустить команду, что libvirt и QEMU работает выше напрямую, извлекая аргументы, пока он загрузится, а потом, пока Windows не показал, он был активирован. Кажется, что -UUID и вызвало проблему. Я не уверен, почему. Я думал, что аргумент UUID был только на профиль безопасности (в моем случае, то AppArmor), но это, кажется, также изменить некоторые идентификатора оборудования на гостевой?

На успешной загрузки, я побежал с wmic csproduct вам девайс в Windows, скопировал его, и выключение. Тогда я сделал следующее:

помощью virsh dumpxml с Win7 > win7.xml
вирш сбросить с Win7
[Отредактировано win7.xml -> изменить UUID, чтобы соответствовать один я скопировал]
вирш определить win7.xml

Я открыл Вирт-менеджер и обут. Он работал! Выглядит девайс установка материнской платы серийный номер? Интересно, что с моей стороны это была строка из 0 по (видимо, много досок не сообщают идентификатор UUID), так что это не было действительно уникальным, что делает вся эта авантюра довольно глупо.

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

+887
C0nverter 25 июл. 2010 г., 10:15:05

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

Cmnd_Alias OD_DBA_2 = \
 /ОГРН/РМ /*/приложения/*, \
 /ОГРН/РМ -[а-з]* /*/приложения/*, \
 /usr/местные/Бен/убить, \
 /usr/Бен/убить, \
/бин/Су

Cmnd_Alias = \NOEXEC_OD_DBA_2 
 /ОГРН/ви /корня/*, \
 /usr/Бен/ВИМ /корня/*



ipsqpx все = (корень,администратора,maq по) \
 OD_DBA_2, \
ПАРАМЕТРОМ NOEXEC:NOEXEC_OD_DBA_2

Однако, после использования флага с параметром noexec только для двух команд я.е VI и vim, пользователь ipsqpx не в состоянии использовать команду sudo /ОГРН/Су. Команда возвращает ошибку.

/бин/Су: /Бин/Баш: разрешение отклонено

Если я удалите строку с параметром noexec:NOEXEC_OD_DBA_2 затем пользователь может сделать /Бен/Су. Я не в состоянии исправить.

Мне нужно понять такое поведение флага с параметром noexec.

+846
fiorix 9 мая 2013 г., 13:32:22

Пока это не монтирования через ядра Linux, КИО диске (частью KDE) позволяет КИО-совместимых приложений (таких как Дельфин файлового менеджера, редактора или просмотра изображений Gwenview) чтобы открыть, просматривать и редактировать файлы на Google Диске.

КИО-диске доступен как пакет в нескольких дистрибутивов Linux. Если установлено, файловый менеджер Dolphin получите запись "Google Диск" в разделе "Сеть". Там, непривилегированный пользователь рабочего стола "гора" учетная запись Google Диск через управляемые графические конфигурации (в течение которого браузере по умолчанию будет открыта, где нужно дать KAaccounts в KDE разрешение на доступ к учетной записи Google Диск).

Этот метод не обеспечивает доступ к Google Диск через терминал, но оно интегрирует красиво с графическим рабочим столом.

+836
MargoRittka 11 янв. 2015 г., 04:46:06

Я установка СУБД PostgreSQL-9.4 га окружающей среды в дистрибутивах RHEL 7, когда я инициализировать Postgres БД - это создает данных каталога и в каталог данных идет в PostgreSQL.конф & файл pg_hba.конф файлов. Здесь, я предполагаю создание конфигурационные файлы в каталог данных создает столкновение, так как он получает переопределен в ходе мастер репликации.

Так, я пытаюсь перевести Постгреса.конф и файл pg_hba.конф файлы из данных каталога и сделать Постгреса услуг использовать переселены конфигурационных файлов. Откуда я обновил путь к файлам конфигурации?

Обновление: я обновил PGDATA ПО в каталоге/usr/lib в/systemd в/системы/СУБД PostgreSQL-9.4.обслуживание в момент передислоцирован conf файлов. В новом Постгреса.файл conf, обновлены данные справочника и hba_file пути. И я пытался перезапустить службу, то он возвращает сообщение об ошибке

Работа для PostgreSQL-9.4.службе не удалось. Видеть статус systemctl в PostgreSQL-9.4.обслуживание и journalctl -xn с Подробнее.
+771
Niket Kandya 15 окт. 2016 г., 00:27:37

Добро пожаловать на Темную сторону Мистера Janiqua ;-).

Отвечая на ваши вопросы по одному:

./настроить

То, что люди называют "команды" в Linux или Unix, как правило, две вещи:

  • либо оболочка построить (а встроенной, в оболочке функция, это псевдоним),
    и т. д.
  • или исполняемый файл

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

Когда вы вводите текст в оболочке, а затем нажмите клавишу Ввод, примерно следующее происходит:

  • Входной оболочки разбивает, производящих лексем соответствующего вклада. Например, считайте, что вы типа НКУ она.С в оболочку. Это позволит произвести следующие маркеры ССЗ и она.с
  • После токенизации, Shell попытается понять, что первый токен (в нашем случае ССЗ). Он сначала увидеть, если это оболочка построить (функция, псевдоним, или встроенные) или если это абсолютный путь (расположения относительно корневого каталога) в исполняемый файл (что-то вроде /usr/Бен/ССЗ)
  • Если ни один из описанных выше, оболочка начнет поиск в каталогах, перечисленных в пути переменную среды, чтобы увидеть, если он может найти файл с таким же именем.
  • Если удастся найти его, он обычно выполняется[4] с остальными маркерами, переданные ему в качестве аргументов. Если это не так, он обычно выводит сообщение об ошибке[5]:

[23:25:59] [email protected]Марса : [~] $ лелос Баш: лелос: команда не найдена...

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

Теперь, если вы пишете программу на C и скомпилировать его к Здравствуйте исполняемый файл, у вас есть два способа его выполнения. Первый-переместить или скопировать его в директорию, которая находится в переменной$PATH (или при добавлении в папку, в переменной$PATH, но по соображениям безопасности это не очень хорошая идея) или выполнение его прямо из папки вы. Чтобы сделать последнее, вы используете точка тире (./) перед командами, которые вы хотите, чтобы раковина для выполнения и просмотра в папку, которую вы в настоящее время.

нано /что-то/something2

Это something2 файл? Это похоже на каталог, я не понять, как его можно редактировать? Же самое для ./настроить. Что это значит?

В мире Unix, универсальная абстракция за все что файла. Это означает, что все (или почти все по этому вопросу), даже если это изображение, текстовый файл или даже устройство, как правило, может быть прочитать() и записать() любой программой, которая пожелает этого. Что касается операционной системы, это может быть что угодно, но в пользовательское приложение будет представлен как последовательность байтов, то есть до приложения, чтобы выбрать, как представить или манипулировать.

Хороший способ понять что-то, с помощью ЛС команду, используя флаг тоже. Это позволит производить продукцию, похожую на эту:

[23:38:58] [email protected]Марса : [~] $ LS с Л
-РВ-р--р--. 1 nlightnfotis nlightnfotis 280906037 24 января 16:30 OpenSPARCT2.1.3.тар.bz2, что
drwxrwxr-х. 4 nlightnfotis nlightnfotis 4096 11 января 16:53 опт

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

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

Если вы все еще видите файл, и не знаете о его природе, вы можете использовать инструменты программы, называемые файл, что попытки классифицировать файл, основываясь на его магическое число, как правило, несколько байтов, сохраненных в или около начала. Например, запуск файла на что bzip2 файл результатов:

[23:45:54] [email protected]Марса : [ ~ ] файл $ OpenSPARCT2.1.3.тар.bz2, что 
OpenSPARCT2.1.3.тар.bz2 файл: bzip2 сжатых данных, размер блока = 900к

Текстовый файл, выход, похожий на этот:

[23:45:57] [email protected]Марса : [~] $ файл отчета
доклад: текст ASCII 

Не стесняйтесь экспериментировать с файлом и различного рода файлов.

Теперь, чтобы ответить конкретно на ваш

Я не понимаю, как его можно редактировать?

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

Если это текстовый файл, откройте его в текстовом редакторе, Изменить букву, а затем сохранить. Это соответствует текстовом редакторе найти смещение в файле, где этот символ находится, и изменять его байт в байт, которые представляют нового персонажа.

Насколько бинарные (я.касается не текста) файлы, ответ довольно простой: Опять вы используете какой-то программного обеспечения, либо части программного обеспечения, которая предназначена специально для обработки этого типа файла, или вы просто использовать HEX-редактор (или просто обычный текстовый редактор) для редактирования. Например, вы можете использовать ВИМ, текстовый редактор, чтобы отредактировать двоичные данные, такие как питон такой: в Vim /usr/Бен/Python для. Это приведет к такой экран:

Python in vim

Много странных персонажей там просто байты, которые не представимы символа в ASCII. Для ввода шестнадцатеричного представления в Vim, просто тип, а внутри :%!команда xxd. Вам будет представлен с экраном, как это:

Vim in hex

Затем продолжить редактирование файла, сохраните (команду), а затем выйдите из шестнадцатеричного представления введите :%!команда xxd-Р. Только будьте осторожны, чтобы не мусорить важным бинарных экспериментируя, или проводите свои эксперименты внутри виртуальной машины, и вы все хорошо.

Еще один полезный инструмент, который можно использовать для просмотра байт любой файл вывести. На самом деле, не попробовать создать пустые файлы или файлы с помощью всего нескольких символов, шестнадцатеричного представления -с ними, и проверки выходных данных и таблица ASCII в момент просветления :)

Если вы хотите увидеть (сборка) код, который соответствует эти байты (когда речь идет о EXE-файл), можно также использовать другое средство, называется objdump , чтобы проверить их, также objdump -d в /usr/Бен/Python для. На моем экране он производит такой:

Objdump python

Надеюсь, что все это было полезно, и может Источник быть с вами :)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Сноски:

[4] конкретные механизмы, которые включают два семейства Unix системные вызовы, известным как вызов fork() и exec()делает. В коде, оболочку вилкой()с себя, чтобы создать дочерний процесс, который затем продолжает вызывать метод exec() с первого токена в качестве первого аргумента, заменить его сердечник изображения (код) с бинарных, что его метод exec()'ы.

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

пид = вызов Fork(); // PID-это идентификатор процесса, возвращаемое `вилка()`
если(пид == 0) // в дочерний процесс, PID-это ноль
 метод exec(argv[0] в аргумент argv[1]); // если мы дочернего процесса, выполнять аргумент, который был приведен

[5] Так, что вся раковина объяснение было немного упрощенно, так как есть многое, что панцирь, как анализ, например, потому что команда дана она может быть больше, чем просто исполняемый файл с какие-то аргументы, и включают перенаправления вывода, труб и т. д., которые следуют специальные курсы действий, но все равно общее описание того, что оболочка не довольно точный. Для малого и рабочей оболочки, проверить xv6 оболочки реализации

+753
Jim Saiya 16 авг. 2013 г., 10:13:25
  • Я на 99,9% уверен, что проверка файла/proc/ПИДсуществует (и каталог) - это 98% так же надежно, как убить 0 техника. Почему 98% не 100% есть пункт, что Стивен Харрис коснулся (и отскочил) в комментарии— а именно в/proc файловая система не может быть смонтирована. Оно может быть оправдано утверждать, что система Линукс без в/proc поврежденная, деградировала система — ведь такие вещи, как ПС, топ, и как lsof , вероятно, не работа — и так это не может быть проблемой для производственной системы. Но это (теоретически) возможно для него никогда не были установлены (хотя это может предотвратить систему от прихода в нормальное состояние), это определенно возможно, для того, чтобы быть размонтирован (Я проверил это1), и я считаю, что нет никакой гарантии, что она будет существовать (т. е., это не требуется в POSIX). И, если система полностью обливали, убивать будут работать.
  • Комментарий Стефана рассказывает о “выход в файловую систему” и “используя собственные системные вызовы”. Я считаю, что это в большей степени отвлекающий маневр.
    • Да, любая попытка получить доступ к /ТР требует чтения корневой каталог, чтобы найти в файле/proc файловой системы. Это верно для любой попытки получить доступ к любой файл, абсолютный путь, в том числе в /бин, /Т.и /Дев. Это происходит так часто, что корневой каталог-это, безусловно, кэшируются в памяти в течение всего срока эксплуатации (безотказность) системы, поэтому этот шаг может быть сделано без каких-либо дискового ввода-вывода. И, если у вас есть инф из файла/proc, все остальное, что происходит в памяти.
    • Как вы в/proc? С стат, открытые, вызове readdirи т. д. которые являются носителями системных вызовов каждый бит столько, сколько убить.
  • Вопрос о процесс работает. Это скользкая фраза. Если вы на самом деле хотите проверить, является ли процесс запущен (т. е., в очереди; может быть, нынешний процесс по некоторым процессора; не спит, ждет, или остановился), возможно, вам придется сделать ПС ПИД и читать выходные данные, или посмотреть в/proc/ПИД/стат. Но я не вижу никаких намеков в ваш вопрос или комментарии что вы обеспокоены этим.

    Слон в комнате, однако, заключается в том, что Зомби2Процесс может быть трудно отличить от процесса, который жив и здоров. убить 0 работает на зомби, и в/proc/ПИД существует. Вы можете определить зомби с помощью методов, перечисленных в предыдущем пункте (делает ПС ПИД и чтение, или смотреть в/proc/ПИД/стат). Мои очень быстрые и случайные (т. е. не очень тщательной) проверки свидетельствует о том, что вы можете также делаю это с помощью более ранних версий или lstat в файле/proc/ПИД/Дов, в/proc/ПИД/корень, или в/proc/ПИД/ехе — это не зомби. (Однако, они будут также не на процессы, которыми вы не владеете.)

____________
1 Если (форце) вариант не работает, попробовать (лазы).
2 т. е., процесс, который вышел/умер/прекращено, но родитель которого еще не сделали ждать.

+709
Ruletech 28 июн. 2012 г., 22:29:35

Вы можете использовать СЭД

СЕПГ -я с#dockerCmd#докер запустить -в /не/имеются:/фу-ж /Фу-у-Т Убунту файлов bash#г' 

Варианты

редактирование файлов на месте

с#

Замещения, используемый для замены

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

+678
M King 3 мая 2014 г., 00:15:07

Возможные Дубликаты:
Извлечение регулярное выражение сопоставляется с 'СЭД' без печати окружающих персонажей

Как я могу сделать это только распечатать тест:

Эхо "atestb" | СЭД -н 'с/\(тест\)/\1/р'
+674
Ed de Almeida 12 окт. 2018 г., 10:57:40

Я обернул код Стефана в сценарии и несколько улучшило трубы.

#!/бин/Баш 
комплект -е 
набор -у 
набор -о pipefail

старт=$секунд

расширению=$("ЛС" - ДП *.*| команда grep -v с / | СЭД с/^.*\.//' | вроде -у) # не папки
игнорировать=""

в то время как команде getopts ':е::я:флаг ч'; сделать
 случае "$флаг" в
з)
 Эхо "такого рода скрипт файлы из текущего каталога в папки того же типа файлов. Определенные типы файлов могут быть заданы с помощью -Ф".
 Эхо "флаги:"
 Эхо-Ф (строковые типы файлов для сортировки, например -Ф "в формате PDF в формате CSV МР3")'
 Эхо '-я (строковые типы файлов в игнор, например -я "в формате PDF")'
 выход 1
;;
е)
расширению=$OPTARG;;
я)
игнорировать=$OPTARG;;
 :) 
 параметр Эхо "отсутствует аргумент для -$OPTARG" >&2; 
 выход 1;;
\?)
 параметр Эхо "недействительным: -$OPTARG" >&2
 выход 1
;;
эсок
сделано

для Ext в $расширению 
делать 
 если [[ "${ignore}, а " == *" ${ВН} "* ]]; затем
 Эхо "пропуск ${ВН}"
далее
интернет
 обработка Эхо "$ВН"
 команды mkdir -Р "$ВН"
 МВ -ВН *."$вн" "$вн"/
сделано

продолжительность=$(( секунд - старт ))
Эхо "--- завершено в $продолжительность секунд ---"
+636
Sarren basa 5 авг. 2010 г., 08:06:12

Драйверы встроены в модуль ядра для поддержки доступа на уровне пользователей для определенного устройства,...ничего общего с началом процессов. Главное здесь то, что это имя демона, чтобы начать с, так как это, что демон, который говорит с вашего wifi с помощью устройства, представленного ядра в пространстве пользователя.

Стартовый порядок-это, как я указал в моем ответе на ваш предыдущий вопрос, определенными ?? в ссылке это имя с??<имя_скрипта> в файле/etc/rc автомобиль?.дкаталог. Изменить ?? конкретного сценария, чтобы изменить свой порядок исполнения.

+631
John Trentacosta 13 окт. 2014 г., 12:46:52

Я считаю, что первый аргумент GETAUXVAL() говорит что-то,

getauxval(31, 9, 5, 0x7fe0d034ea67)

Открываем файл/usr/включать/x86_64 с-линукс-дистрибутив GNU/биты/auxv.чя вижу, что

#определить AT_EXECFN 31 /* имя исполняемого файла. */

Так они пытаются получить имя исполняемого файла-на самом деле путь в документации и примере ниже. В данном случае это путь трейсера, а не цель. Они тогда называть реального пути , чтобы убедиться, что пути одинаковы. Вы можете увидеть, что getauxval(),

$ LD_SHOW_AUXV=1 трассированием сна 1
AT_SYSINFO_EHDR: 0x7ffd6d96f000
AT_HWCAP: bfebfbff
AT_PAGESZ: 4096
AT_CLKTCK: 100
AT_PHDR: 0x5640b6cad040
AT_PHENT: 56
AT_PHNUM: 9
AT_BASE: 0x7fc9ce4fc000
AT_FLAGS: от 0x0
AT_ENTRY: 0x5640b6d09440
AT_UID: 1000
AT_EUID: 1000
AT_GID: 1000
AT_EGID: 1000
AT_SECURE: 0
AT_RANDOM: 0x7ffd6d909669
AT_HWCAP2: от 0x0
AT_EXECFN: /usr/Бен/трассированием
AT_PLATFORM: архитектуру x86_64
+619
gawicks 16 авг. 2018 г., 08:43:15

Я обновил с версии SUSE SLES с 11 до SLES 12 и обнаружили, что некоторые пользователя/группы команд (например, команды useradd, программам groupadd, groupmod ... ) больше не принимаю -п (--путь) возможность определенного каталога в passwd, тень, группа файлов.

В SLES 11, эти команды обеспечиваются pwdutils оборотах. С другой стороны, в SLES 12, они приходят из теневых оборотов.

Кто-нибудь знает, если есть обратная совместимость для этой опции? Или любым другим способом, который я могу сделать такой же, как опция-P?

+529
Absolutejam 13 июл. 2018 г., 19:08:00

Зомби не потребляют никаких системных ресурсов. Они уже освобожденную память. Таким образом, вы не должны быть обеспокоены.

+524
Shelby Bolden 5 июн. 2012 г., 00:19:51

Для справки, в Chromebook модель снег Фремонт А-Е 0878

Я использовал крутон установить Убунту на моем нетбуке. При этом у меня был мой компьютер в "режим разработчика" и не смогла сохранить то, что было на моем компьютере до этого. В итоге я перешел обратно на Хром ОС с помощью команды Ctrl+Альт+вперед/назад , чтобы попробовать и скачать скрипт Python, я интересно играть вокруг с моего класса. Я вошел на свой аккаунт Google, и с тех пор я не смог получить доступ к Убунту.

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

Так как пытаясь поставить его в режим восстановления, я остался желтый восклицательный знак, что хром ОС отсутствует или поврежден; я вставил в USB я использовал изначально, когда прошли через весь процесс. Другой экран показывает вверх, что говорит устройство, я вставил не содержит хром ОС (не дух). Сочетание клавиш Ctrl+Д - это очередная попытка, но не преобладают, как я застрял с желтым восклицательным знаком.

+500
Davin Salo 3 июл. 2010 г., 02:32:11

Можно использовать, вставлять тоже

найти . -тип F -имя "path.txt" остается вставить -д'- с {} \; > path.txt
+475
metal4people 2 нояб. 2017 г., 02:25:30

Как насчет

на awk 'НР == 1 {Дельта = $0} {$0 = ($0 - Дельта) * ВСК; ВСК печати}'=627.509 файл
+445
NI N 23 февр. 2017 г., 04:06:15

В крон странице (cronie)

-P позволяет хрон принимать любого пользователя набор crontables.

Я узнал, что хрон демон будет подспудно искать и запускать cron рабочих мест, определенных в файле/etc/crontab-файл, файл/etc/cron-а.д/* и в/var/катушка/хрон/cronstabs/*.

Что используется?

Это явно скажет хрон для поиска и запуска cron рабочих мест, определенными в кронтаб-файл, который хранится в каком-то месте, за исключением упомянутых выше?

Или это копия файла crontab файл, который хранится в каком-то месте, за исключением упомянутых выше в одном из упомянутых выше?

Влияет ли хрон на Debian или его производных у -п вариант? Я не нахожу -п на странице в хрон на Ubuntu.

Спасибо.

+413
Manokaran K 16 июл. 2013 г., 02:15:10

Вы можете использовать evalхать команду:

ивала "Общ $pipedargument"

или еще лучше определить функцию как:

отсортированный() { "[email protected]" | сортировка -Н; }

и позже назвал это с нужные аргументы:

отсортированный Общ /ТМП
+387
rulletor 2 нояб. 2016 г., 07:41:38

С помощью SSH есть четкое решение:

  1. на локальном компьютере настройте свой ~/.СШ/конфиг такой, что он имеет следующие:

    хозяин WhatYouWillCallTheConnection
     имя the.gateway.server.address.com
     YourUsernameOnTheGateway пользователей 
    
  2. И на шлюзе и сервере вы хотите подключиться, убедитесь что у вас есть локальный клиента открытые ключи, расположенном в ~/.по SSH/authorized_keys

  3. На шлюзе нужно изменить ~/.по SSH/authorized_keys , так что в начале строки указывает, что вашего клиента открытого ключа, добавить принудительную команду следующим образом:

    команда="SSH-на [email protected]" ...yourPublicKey....
    

Интернет -это направит агенту, если вы не хотите отправлять пароли все время...

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

+327
Arun Balakrishnan 24 дек. 2016 г., 14:20:31
#!/бин/Баш 
сенсорный /script_logs/тест.журнал
Параметра maxfilesize=2048
а правда
делать
 ш test.sh >> /script_logs/тест.журнал
#Получаем размер в байтах** 
 размер_файла=`дю-б /script_logs/тест.войти | тр -ы '\т' ''| вырезать -д' ' -F1`для
 если [ $размер_файла -ГТ $параметра maxfilesize ];тогда 
 дата типа timestamp=`+%s`в
 МВ /script_logs/тест.журнал /script_logs/тест.журнал.$метки
 сенсорный /script_logs/тест.журнал
интернет

сделано

Я снял "&", как это может привести к проблеме.

+237
Glenux 6 нояб. 2019 г., 07:02:53
на awk '/Айова/, файл/Монтана/' 

Заменить строки A и B для вашего собственного.

+161
Jonathon Hill 31 окт. 2016 г., 03:42:28

Файловая система только для чтения, буду сама по себе очень вероятный итог драйвера файловой системы ошибок. Вы можете увидеть ошибки=перемонтировать-РО опция в выход на гору. Он делает это, чтобы защитить файловую систему от дальнейших вопросов. (Альтернативы продолжить работу и игнорировать ошибки, или паниковать системы, см. в ext4(5)). Вы должны, вероятно, увидеть что-то об ошибке в файл dmesg.

Если это неоднократно происходит, это признак аппаратной будет плохо. Проверить, по крайней мере, на диске и в памяти, и сделать резервные копии, пока вы можете.

+146
Nikhil Kaushal Suryavanshi 14 февр. 2018 г., 11:37:07

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