Переназначить Caps_Lock контролю в Солярис

Я имея трудное время, пытаясь понять, как параметр xmodmap работает. Я хочу переназначить Caps Lock для контроля.

В попытке emaulate ответы показанное здесь, я создал файл .xmodmaprc:

снимите блокировку
код 65 = Control_L 
# Я получил значение 65 от бега зев и нажав клавишу.

Затем я добавил следующее .kshrc:

экспорт XMODMAPRC="/Home/имя_пользователя/.xmodmaprc"
[ -Ф $XMODMAPRC ] && Echo с "ОК" && параметр xmodmap $XMODMAPRC

Когда я запускаю новый в xterm, я вижу "ОК" напечатано после входа в систему, но ключ до сих пор ведет себя как капс лок!

Как я могу сделать эту работу?

Я работаю на Солярис 10 и я не имеют корневой доступ.

+66
chukatee 16 мая 2019 г., 04:50:03
31 ответов

Я пытаюсь сделать Баш, чтобы имитировать поведение KornShell93 (КШ), когда снаряды в VI командной строки режима редактирования.

KornShell по умолчанию "В. нормальный режим" (а.к.a. в режиме "команда") и он также помещает курсор в самом начале командной строке, шагая назад по истории команд. Это в отличие от Баша, который ставит вас в "В. режим вставки" и в конце командной строки.

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

Это было более пяти лет назад, и мне интересно, если это изменилось с тех пор?

А насчет автоматического размещения курсора в начале командной строки? Там какой-то мне неизвестный с readline магии, которые могут помочь мне с этим?

Я использую Баш версии 4.4.5(1)-релиз составлен из источника (в OpenBSD оболочек/Баш порт) на OpenBSD-текущая (январь 2017).

+964
Rahma Alhajri 03 февр. '09 в 4:24

вы работаете много с printfS для этой работы. почему бы просто не сделать что-то подобное

кот бассейн.Сэм |\
 на awk '/./ {функции printf $1,7$+1,"\Т"$3,"\Т",($2!=16)?"+","-",$4,"\т",длина($10)+4$,"\Т1"}}'
+945
orakulrus 3 авг. 2010 г., 20:43:43
Другие ответы

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

162

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

Я нашел некоторые новые сведения здесь , который говорит, что ГПУ не требуется для кросс-компиляции режим или удаленной синхронизации проектном режиме.

Я установил на CUDA инструментарий 7.5 на Линукс Минт 17.3 версии Ubuntu 14.04 локальный файл деб. Установщик жаловался на недостающие GPU, но пошел до конца в противном случае.

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

+923
Pavol Rusnak 24 нояб. 2019 г., 09:29:35

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

СЭД -э:н -е'$!Н;\с/^(\([^-]*-\).*\)\н *\2/\1:::/;тн' -ЕР\;Д <в >из

Он рекурсивно добавляет Ндоб линии тока одна, и, если все персонажи во главе текущей строки до и включая первый - тире может соответствовать глава дописывается линии, соединяются и добавляется метка удаляется. Если это с///ubstitution ТЭБТ успешным, ООО позволит отрасли вернуться к метку для другого НРЭБ линии, остальное все в ожидании слилось данные Пrinted в stdout перед Дeleted и СЭД начинается сверху, чтобы попробовать снова.

Учитывая ваш пример данных, он печатает:

6/13/2015 12:00:47 АМ - { 562} запустить веб ::: просит веб-соединения от 123.125.71.103 [123.125.71.103], ИД=562
6/13/2015 12:01:24 АМ - { 563} начать протокол POP3 ::: просит подключение POP3 из 10.127.251.37 [10.127.251.37], ИД=563 ::: ( 563) [email protected] пользователь ::: POP3-соединения с 10.127.251.37 [10.127.251.37], закончился. Идентификатор=563 ::: { 563} конец протокол POP3::: { 564} начать протокол POP3 ::: просил POP3 в связи с 10.127.251.37 [10.127.251.37], ИД=564 ::: ( 564) пользователя [email protected] ::: POP3 в связи с 10.127.251.37 [10.127.251.37], закончился. ИД=564 ::: { 564} КОНЕЦ РОР3
6/13/2015 12:01:40 АМ - веб-соединение с 123.125.71.103 [123.125.71.103], закончился. Идентификатор=562 ::: { 562} веб

Но это не очень хорошо, видимо. Похоже, вы хотите объединить на ИД - сожалею об этом. Следующие работы - это также удаляет повторяющиеся временные метки и идентификаторы, как происходит на входе.

СЭД -е ы/)},={/(((((/' \
 -е/-\([^(я]*\)[^0-9]*\([0-9]*\)[( ]*/- \2 -\1/;=' |
вставить -д- - - |
вроде -Т- -нк3,3 -nk1,1 |
СЭД -е/^[^-]*-//;:н-е'х;$!Н' \
 -э/\(-\([^-]*-\).*[^ ]\) *\н\([^-]*-\)\{2\}\2/\1 - \\3/;Теннесси' 
 -экс\;:т-е/\(\([^-]*-\)[^/]*\)- *\2/\1:::/;ТТ-е ПРОМАЛЬП;Г;Д'

6/13/2015 12:00:47 АМ - 562 - запуск web ::: просит веб-соединения от 123.125.71.103 [123.125.71.103] - 6/13/2015 12:01:40 Я - веб-соединение с 123.125.71.103 [123.125.71.103], закончился. ::: Веб
6/13/2015 12:01:24 АМ - 563 - старт протокол POP3 ::: просит подключение POP3 из 10.127.251.37 [10.127.251.37] ::: пользователь [email protected] ::: POP3-соединения с 10.127.251.37 [10.127.251.37], закончился. ::: КОНЕЦ ПРОТОКОЛА POP3
6/13/2015 12:01:24 АМ - 564 - старт протокол POP3 ::: просит подключение POP3 из 10.127.251.37 [10.127.251.37] ::: пользователь [email protected] ::: POP3-соединения с 10.127.251.37 [10.127.251.37], закончился. ::: КОНЕЦ ПРОТОКОЛА POP3
+878
Ravi Shenoy 27 авг. 2013 г., 23:12:40

Попробуйте поставить

вернуться 301 $по схеме://тест.пример.орг/мониторинга;

внутри

расположение / {
}
+859
DemiurgA 12 дек. 2015 г., 09:56:14

Когда я начинаю он в GNOME как сверху, так и заголовок окна исчезают, оставляя только IDE, а также, когда я пытаюсь переместить окно, чтобы сломать этого он не позволил. я уже пробовал переустановить редактор с apt-get и глядя через инструмент настройки гнома, но ни работал. here is a screen shot of my whole screen я под управлением Debian.

+802
Amit Raja 29 янв. 2017 г., 06:39:51

Замена команда ы не у д флаг.

Есть Д (удалить) команда, хотя:

СЭД '/ (.*)$/file.txt д' 

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

Вместо этого, бросить флаг и сделать обычный замена разбитого корыта:

СЭД с/ (.*)$//' file.txt

Чтобы ограничить удаление только круглые скобки, содержащие четыре цифры:

file.txt СЭД с/ ([0-9]\{4\})$//' 
+780
Jackie Marchington 1 сент. 2010 г., 11:16:18

Общая рекомендация: Если оперативной памяти более 1 ГБ, размер свопа должен быть как минимум равен квадратный корень из оперативной памяти размер и в большинстве удвоить размер ОЗУ

Можно также найти похожие руководства от RedHat.

Что делать, если у вас просто есть система, которая имеет 512 ГБ или больше оперативной памяти DDR4 и установить Linux на один небольшой диск, 500 ГБ или 300 ГБ или 80 ГБ?

определением своп (кто-то пожалуйста, поправьте, если ошибаюсь) - это раздел на диске , которые служили еще в тот день, когда системе не хватает оперативной памяти (когда там был только 32 Мб или 1 ГБ это), то система может использовать своп, чтобы остаться в живых, когда оперативная память была полна; тогда это имело смысл, так как на диске зачастую всегда больше, экономичнее, и более доступно, чем оперативная память, и он может быть легко работать из 32 МБ оперативной памяти.

Перенесемся в 21-м веке, оперативная память сейчас недорогая и домашнего компьютера может иметь 16 ГБ ОЗУ или более; и сервера может иметь 256 ГБ или больше оперативной памяти; простые серверы Dell (и многие другие) предлагают варианты объемом до 3 Тбайт оперативной памяти в наше время например. RAM может легко превысить доступное дисковое пространство.

Мое мнение, основанное на опыте и некоторых фактов:

  • любая установка для подкачки является теперь устаревшим с вычислительной системой 21 века.
  • есть ли телефон на Android (Linux) имеют подкачку? рассмотрим вычислительную мощность и производительность смартфонов с 16,32,64 ГБ (флэш?) памяти по сравнению с ноутбуками/ПК ? лет назад [с подкачки секционированных].
  • вы можете установить многие Linux дистрибутив на различные виды носителе
  • вам не требуется иметь раздел подкачки для Linux в
  • важно то, сколько оперативной памяти есть, и понимание границ системы на основе объема доступной оперативной памяти.
  • Поведение = ядру параметр, который определяет, сколько и как часто ваши ядра Linux скопировать содержимое памяти в своп. Вы хотите, чтобы сообщить операционной системе, что угодно, все в пределах оперативной памяти; если памяти никогда не достигает 100%, то этот параметр практически бессмысленно, так как ничего никогда не будет написано, что определяется как своп.
  • если у вас есть 256 ГБ оперативной памяти и вы кончатся, любой размер подкачки, бессмысленно на три точки... 2 ГБ подкачки на HDD или SSD не имеет смысла иметь 256 ГБ оперативной памяти... С П ГБ подкачки на диске, то просто пустое место, если у вас есть Н ГБ свопа система будет по-прежнему душить и стал, по сути, не отвечает ОЗУ должны получить до 100% (это почти всегда было так)
  • Если вы думаете, что нужно поменять, то вам нужно больше оперативной памяти. Если ваша система не позволяет достаточно оперативной памяти, то вам нужен новее/лучше система, которая будет обеспечивать достаточную емкость оперативной памяти.
  • ваш вопрос просто должен быть , что это правильный размер для свопа?. будет ли это в Hadoop, Linux или Windows, не должен иметь никакого значения, если мы согласны с определением своп как в подкачки, это некоторые дискового пространства, который только привыкает к операционной системе, когда оперативная память заполнена.
  • также посмотреть дисковое кэширование и понимаю... Линукс съел мою ОЗУ. Всегда используют ОЗУ (так как можно больше) для лучшей производительности. Используйте бесплатную команду в Linux и наблюдать значения для кэширования в дополнение к используемой и свободной.
  • Я ненавижу своп.
+769
Vulchi Vijaya Kumar Raju 3 янв. 2010 г., 13:33:31

По крайней мере, в можно пропустить mkfifo , используя процесс замещения:

команда -параметр1 -параметр2 аргумент | тройник >(cmd1) >(cmd2) >(cmd3)

или принять Arcege примеру

тройник >(туалет, умывальник -л) >(душ, туалет -з) >(туалет, умывальник -в) < /и т. д./пароль >/dev/нуль
+733
user69816 5 июн. 2015 г., 06:26:27

Все внешние команды выполняются в групповом процессе отличается от оболочки. Оболочка является лидером сессии и, таким образом, это единственный процесс в его группу процессов.

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

+697
the hatter 7 нояб. 2010 г., 15:57:03

У меня установка простой скрипт, как показано ниже:

sshpass -P $по пароль SSH -Т $имя_пользователя@$ір_адрес -п 30007 <<- ВФ > $save_file.на PCAP
ш
 тсрйитр -я eth5.1 -с 0 -н-В -У -Ш -
ВФ

СЕПГ -я '1д' $save_file.на PCAP

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

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

Проблема я бегу в том, что после того, как скрипт получает в разделе tcpdump для этого скрипта, мой терминал выход, как ниже, и, как я ожидал при запуске утилитой tcpdump в файл:

нарисовала@Дрю-Убунту-18:~/рабочий стол$ ./Script.sh 
тсрйитр: слушать на eth5.1, Ссылка-тип EN10MB (локальные сети), площадь захвата 65535 байт
Получил 665

И конечно, что "получил" счетчика увеличивается по мере увеличения пакетов фиксируются и передаются в мой локальный файл. К сожалению, единственный способ я нашел до сих пор, чтобы остановить это и вернуть мои терминала инициируют сочетание клавиш Ctrl+с.

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

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

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

тсрйитр -я eth5.1 -с 0 -н-В -У -Ш - &
чтение -Н 1 -с; убить $!

Мыслительный процесс здесь заключается в том, что мои исходные данные, которые все равно будут проводки в stdout, и поэтому по-прежнему отображаться в мой локальный файл захвата. Однако, кажется, что когда я пытался запустить захват таким образом, С &, это на самом деле не позволю себе запостить еще что-нибудь в терминал (не уверен, что просто слишком много всякой дряни летит на все времена или что). Я даже попытался это локально и, кажется, пытается запустить сырьевой tcpdump для размещения в stdout не позволит что-нибудь еще случится.

Основываясь на этой информации, единственное, что я могу думать в этот момент, если есть, каким образом я могу использовать сочетание клавиш Ctrl+С , чтобы закрыть из tcpdump на удаленном компьютере, но держать мой скрипт по-прежнему работает. Какие-либо предложения, я могу попробовать? Или других способов идти об этом, что было бы гораздо логичнее?

+686
RU29 8 дек. 2011 г., 23:20:56

Вы не можете вычесть две даты пишутся в формате ГГГГММДД. Например 20150907 - 20140907 явно дает 10000 вместо 365.

20150907 - 20150907 ли выход 0 — это действительный способ проверки на равенство, за исключением того, что вы могли бы просто проверить равенство непосредственно вместо вычисления вычитание. Если вы получаете -20150907, это потому, что код не то, что вы показали, и v_sysdate содержит дополнительные символы (кроме пробела и цифры).

Вменяемый способ манипулировать датами, чтобы преобразовать их в простом числовом формате: число единиц времени с фиксированной происхождение ( эпохи). В мире Unix, стандартный блок секунд (как в СИ) и эпохи 1970-01-01.

ГНУ утилиты, такие как дата и стат печатать даты в секундах с начала эпохи с %S в формате. Используйте этот формат, пока вам надо довольно распечатать его. Для прохождения дата дата в таком формате, ставьте @ перед количество секунд.

v_date=$(стат -с '%Z' в файл)
v_sysdate=$(дата +%с)
v_date_difference=$((v_sysdate-v_date))
дата -д "@$v_date" +'файл чтимы: %м%м%д'
дата -д "@$v_sysdate" +'текущее время: %М%м%д'
Эхо "$v_date_difference секунд прошло"
Эхо "$((v_date_difference / 86400)) прошедших дней"

Обратите внимание, что это вычисляет количество дней между двумя раз. Например, вчера между 23:59 и сегодня в 00:01, это показывает разницей в 0 дней. Если вам нужна разница между двумя датами, не обращая внимания на время суток, вы можете использовать определенное время в течение дня.

file_midday_time=$(дата +%з -д "$(дата+%г-%м-%д 12:00-Д "@$(стат -файл c %з)")")
current_midday_time=$(дата +%з -д "Сегодня 12:00")
day_difference=$(((file_midday_time - current_midday_time + 7200) / 86400))

Добавление номера между 3601 и 86399 гарантирует, что однажды приходится даже на сутки часы перейти от нормальное время для дневного света экономия времени (что день длится 23 часа).

+684
Adnan Alisa 11 июл. 2012 г., 09:16:18

Назвав программа dhclient как корень прекрасно работает на моей машине Debian. Однако, я хотел бы, чтобы некоторые пользователи также исполнять программа dhclient,. До сих пор я пробовал эти два примера:

Пример 1: Когда обычный пользователь звонки

@пользователя:~$ программа dhclient

..., в результате:

Баш: программа dhclient: команда не найдена

Пример 2: я также попытался

@пользователя:~$ командой /sbin/программа dhclient

... и получил

[...]

не могу создать /var/lib в/dhcp3/программа dhclient.аренда: разрешение отклонено
SIOCSIFADDR: разрешение отклонено
SIOCSIFFLAGS: разрешение отклонено
SIOCSIFFLAGS: разрешение отклонено
Открыть сокет для ФНЧ: операция не допускается

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

+679
Devin Larsen 10 дек. 2018 г., 05:27:39

У Archlinux64 на виртуальной машине VirtualBox.

Если я объявляю радиоразведки ловушки такой:

ловушка 'Эхо х' ИНТ

внутри СШ сессии (бег Баш) и нажмите сочетание клавиш CTRL+C в несколько раз, только несколько раз делает что-то появляется в терминале. Вот более сложный пример. После нажатия CTRL-C в 21 раз:

[Ир@vmarch ~]$ н=0; "капкан" Эхо "$н'\’е ИНТ"; Н=$((П+1))' ИНТ
[Ир@vmarch ~]$ ^с 0-го ИНТ

[Ир@vmarch ~]$ ^с 7-го ИНТ

[Ир@vmarch ~]$ ^с 8-го ИНТ

[Ир@vmarch ~]$ ^с 9-го ИНТ

[Ир@vmarch ~]$ ^с 18-го ИНТ

[Ир@vmarch ~]$ ^с 21-го ИНТ

Только нажав сочетание клавиш CTRL+C и имеет этот эффект; если я отправить сигнал SIGINT явно (через убить), я получаю все сообщения, которые я жду. Воспроизводимые в нескольких эмуляторов терминала. Никогда не возникает в текстовой консоли (например, /dev/tty1). Подобные симптомы в ЗШ и черточкой: в ЗШ результаты почти те же. В тире ловушка не сработает, но и без него строку и строке отбрасываются, а также.

Ничего не делать в течение 5-10 секунд, прежде чем нажать сочетание клавиш CTRL+C и повышает вероятность появления данные удаляются.

$ команды uname -а
Vmarch Линукс.Лан 4.0.4-2-арка #1 СМП упредить Пт 22 мая, 03:05:23 по UTC 2015 x86_64 с ГНУ/Линукс
+600
Elegant King 19 июл. 2012 г., 19:02:35

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

с-гвоздь есть !

электронная почта=ФОО@база

почта -В-С учетом ФОО@бар-file.txt -вопрос - <<ВФ 
$(на awk '
 Начать{печати "<таблица>"}
{
 печати "<тр><тр>";
 Для(я=1;я<=НФ;я++) {
 печати "<тд><тд>" я"</ТD></ТD>";
 печать "</ТR></ТR>";
}
}
 Конец{печать "</таблица>"}' input1.txt
)

.
ВФ

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

+570
Jan Willems 25 янв. 2011 г., 03:36:34

Вы можете изменить его через конфиг

судо ВИМ /и т. д./По умолчанию/жратву

Просто установите GRUB_HIDDEN_TIMEOUT_QUIET к истинной.

После этого запустите обновление судо-жратвы для него, чтобы забрать обновленный конфиг

+558
Sebastian Vom Anthropischen Pr 13 мар. 2011 г., 04:20:55

Ваш getsubstr $var0 проходит 5 аргументов в функцию.
Кроме того, $* и [email protected] испытаний каждого $1 $2 и т. д.. арг против # patttern.

По поводу regex в Баш: я добавил некоторые примеры в конце, и кстати, ' * ' - это лишь особое выражение типа char , когда он используется в regex контексте, т. е.. при использовании =~. В первое использование * в ${*, звездочка специального использования в качестве (псевдо)имя из переменной, которая заменяется на объединение всех Варс: $1 $2 $...и т. д...
Ваш второй вариант использования звездочкой, в #*"${2}", означает "$2", которой предшествуют все, включая ничего, чтобы быть сопоставляется каждой пройденной $1 и т. д арг отдельно/индивидуально.

Следующий сценарий может помочь с [email protected] и $* (пример)...

#!/бин/Баш
# 
getsubstr() {
 Эхо-N "${#@} аргументы";
 [[ "$1$2$3$4$5$6" == *\ * ]] && эхо " (с пробелы)" || Эхо " (без пробелов)"
 Эхо ' "${*}" '\|"${*}"\|
 Эхо ' ${*} '\|${*}\|
 Эхо ' "${@}" '\|"${@}"\|
 Эхо ' ${@} '\|${@}\|
 Эхо ' "${*#*"${2}}" '\|"${*#*"${2}"}"\|
 Эхо ' ${*#*"${2}} '\|${*#*"${2}"}\|
 Эхо ' "${@#*"${2}}" '\|"${@#*"${2}"}"\|
 Эхо ' ${@#*"${2}} '\|${@#*"${2}"}\|
 Эхо ' ${*#Б} '\|${*#Б}\|
 Эхо ' "${*#Б}" '\|"${*#Б}"\|
 Эхо ' ${@#б} '\|${@#ь}\|
 Эхо ' "${@#Б}" '\|"${@#Б}"\|
}
var0="А Б "
Эхо
Эхо -Н "проходящий "; getsubstr "$var0" ; Эхо
Эхо -Н "проходящий "; getsubstr $var0 ; Эхо
Эхо -Н "проходящий "; getsubstr "$var0" "$var0" ; Эхо
Эхо -Н "проходящий "; getsubstr var0 $$var0 ; Эхо
Эхо
выход 
###################################################################

Regex в Баш

# Проверяет регулярное выражение: "=~" использует расширенные регулярные выражения
#+ Скобки подвыражений в регулярном выражении сохраняются
#+ в переменной массива BASH_REMATCH
#+ $BASH_REMATCH / ${BASH_REMATCH[0]} - это строка, соответствующая всему регулярному выражению. 
#+ ${BASH_REMATCH[П]} - это суб строки с энной скобки подвыражения

 [[ "абвгде" =~ (.)(.)(.) ]] && Эхо "# $BASH_REMATCH"
# АВС

 [[ "абвгде" =~ (.)(.)(.) ]] && Эхо "# ${BASH_REMATCH[0]}"
# АВС

 [[ "абвгде" =~ (.)(.)(.) ]] && Эхо "# ${BASH_REMATCH[2]}"
# б

 [[ "абвгде" =~ (.)(.)(.) ]] && Эхо "# ${BASH_REMATCH[@]}"
# букварь а б в

+511
Anomalous Awe 19 окт. 2019 г., 02:24:39

Этот набор правильно:

$ кот swar_test.sh
 #! /Бен/ш

 . $HOME/tools/init.sh
 . В $Home/<мля>профиль
 если [ "${ENCRYPT_ALL_PWD}" != "Да" ]; затем
 если [ ! -з $SA_USER ]; тогда
DBAUSER=$SA_USER
 $Эхо "Яху!!!!!!!!!!!!"
еще
 $Эхо "пожалуйста, определить переменную SA_USER в $Home/aaaprofile и снова выполните этот скрипт..."
 выход 1
интернет
интернет
 выход 0
+439
user3440483 29 июн. 2013 г., 15:16:14

Я создаю видео-USB и не точно понять: что происходит, когда я копирую файл (или даже файловой системы) непосредственно к узлу устройства (в отличие от файловой системы)?

+427
user92976 20 июн. 2011 г., 19:38:33

Я использую:

 Эхо $столбцов

вместо того, чтобы действовать до его закрытия. Может быть, это работает для вас тоже. Может это зависит от действовать до его закрытия.

+422
user565 22 авг. 2017 г., 05:50:14

В bash, предположим, у меня есть эти команды:

$ Пыть вкладку [] [вкладка]
pytest
питон
питон-конфиг
питон-ДБГ

99% времени, я бы выбрал питон. Это так раздражает, что pytest выскочить и мешает мне печатать только Пыть вкладку [] [возврат] , чтобы вызвать на языке Python. Могу ли я скрыть pytest из Баш завершения?

Мои ограничения:

  1. Я знаю, что я могу удалить pytest двоичный файл в /usr/Бен/pytest , чтобы предотвратить предложение в bash. Но что делать, если у меня нет корневой доступ? Что если pytest - важный скрипт, который должен существовать для того, чтобы другой скрипт работать правильно?

  2. Хотя я могу удалить pytest бинарных (и я делал это раньше), какое-то время, когда я обновление моего программного обеспечения, этот скрипт вновь возвращается.

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

Так, во всяком случае, чтобы скрыть некоторые команды из автодополнение bash? Ответ в другом корпусе (ЗШ, рыбы и т. д.) приветствуется, так как bash не ускорить в последнее время мой рабочий процесс.

+418
patrick fogarty 9 дек. 2016 г., 06:05:25

Я заметил, что некоторые версии Linux не позволяют ext4 файловые системы для использования в качестве каталога /Boot. Я считаю, что именно поэтому на многие системы Linux вы увидите перегородки что-то вроде следующего:

 на /dev/sda1, поскольку -- в /Boot с ext3-около 1ГБ
 на /dev/sda2 -- своп -- 1* памяти, но может быть меньше
 на /dev/sda3 в качестве -- / в ext4 -- остальной части диска

Это также позволяет / раздела будет чем-то кроме раздела с ext4 ... как в Btrfs, ZFS или, например, файловую систему XFS, которая, скорее всего, не жратвы совместимы.

В частности, это проблема с RHEL 5/CentOS в 5.

+416
Steve Bramer 12 дек. 2012 г., 00:51:43

Глядя на дельфина с Балу специально, кажется, для поиска метаданных каждого файла в поиск домена, даже если вы делаете простой поиск по имени файла. Когда я трассировки в файл.так что процесс, я вижу призывы к lstat, getxattr и getxattr раз для каждого файла, и даже для .. записи. Эти системные вызовы получение данных о файле, который хранится в другом месте от имени файла (имя файла хранится в каталоге содержание, но и метаданных в индексных дескрипторов). Запросы метаданных в файл несколько раз-это дешево, т. к. данные будут в кэше на диске, но там может быть существенная разница между запрашивание метаданных и не запрашивание метаданных.

найти гораздо более умно. Он пытается избежать ненужных системных вызовов. Его не назовешь getxattr , потому что это не поиск, основанный на расширенных атрибутов. Когда это обход каталога, он может понадобиться вызов lstat на несовпадающие имена файлов, так что может быть подкаталог рекурсивный поиск (lstat - системный вызов, который возвращает файл метаданных, в том числе тип файла, такие как регулярные/каталог/ссылки/...). Однако найти и оптимизации: он знает, сколько подкаталогов в каталоге есть от его ссылке графа, и он останавливается вызов lstat как только он знает, что он прошел все подкаталоги. В частности, в лист каталога (каталог без подкаталогов), найти проверяет только имена, а не метаданных. Кроме того, некоторые файловые системы сохранить копию файла тип в каталоге записи, так что найти даже не нужно вызов lstat если это единственная информация, которую он должен.

Если вы запустите найти варианты, которые требуют проверки метаданных, это сделает более lstat звонки, но это все равно не сделать lstat звонка на файл, если он не нуждается в информации (например, потому что файл исключен предыдущие условии соответствия наименования).

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

+361
Rezwan Rakib 26 февр. 2013 г., 16:27:57

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

+355
Hope800 31 янв. 2015 г., 18:02:59

После установки Java в Linux , где Java будет магазин какой путь я должен дать ?

+350
John Flurkey 26 мар. 2013 г., 07:36:43

У меня есть этот файл

127.0.0.1 localhost в

# Следующие строки желательно с поддержкой IPv6
::1 ип6-локальный ип6-петлевой
fe00::0 ип6-localnet
ff00::0 ип6-mcastprefix
виде FF02::1 ип6-allnodes
виде FF02::2 ип6-всех маршрутизаторы

и я хочу использовать awk, чтобы добавить строку после/перед шаблон 127.0.0.1. Узор и линия переменных на bash.

#!/бин/Баш

файл="test.txt"
шаблон='127.0.0.1'
строка='cent.centurian.com 127.0.1.1 "Центурион"'

на awk -vpattern="$шаблон" -vline="$строка" '/рисунок/{печати;линии печати;далее}1' "$файл"

Не работает...

+310
Ben Cann 11 июн. 2010 г., 14:16:06

Почему это говорю на чтение и выполнение команды "из Первый аргумент, не являющийся опцией", а не "от варианта аргумент "?

Например, в

Баш-с mycommand

это mycommand' аргумент опция опция-c Баш, или аргумент, не являющийся опцией на баш?

Это аргумент, не являющийся опцией на баш, как видите, просто добавив больше вариантов между:

Баш-с-я 'Эхо 1'

В

Баш-с mycommand арг1 арг2

верно ли, что аргументами arg1 и arg2 на баш передаются по Bash для mycommand и используются в качестве аргументов командной строки для mycommand?

Нет. Опять же, попробуйте это:

Баш-с Эхо арг1 арг2

Следующие две команды эквивалентны? В чем разница между ними?

Баш-с mycommand арг1 арг2
Баш-с 'mycommand арг1 арг2' 

Они не эквивалентны. В одном, mycommand арг1 арг2 работает. В других, mycommand работает, Баш называет себя арг1, а $1 - это аргумент2.


Все это, казалось бы, вопросы, которые бы выиграли от небольшого усилия эксперемента.

+186
zattacks 30 июн. 2013 г., 14:37:34

базовое имя и каталог работы хорошо для URL-адреса тоже:

> URL-адрес="http://www.test.com/abc/def/efg/file.jar"
> и basename "$URL-адрес"; базовое имя -ы .банку "$URL-адрес"; каталог "$URL-адрес"
file.jar
файл
http://www.test.com/abc/def/efg
+148
Priyavrat 30 авг. 2018 г., 07:15:19

С GNU СЕПГ:

СЭД -е 'ы/^([^_]*)(_[^\т]*\т)([^\т]*)<файл/\1\2\1/' 

POSIXly:

Вкладка=$(printff '\Т')
СЭД -е "/^\([^_]*\)\(_[^${вкладка}]*${вкладка}\)\([^${вкладке}]*\)/\1\2\1/" <файл
+66
embo 5 сент. 2011 г., 16:16:10

сдвиг - это Баш встроенный, какой удаляет аргументы из начала списка аргументов. Учитывая, что 3 аргументов скрипта доступны в $1, $2, $3, то звонок сдвиг внесет $2 Новый $1. В шифт 2 будет смещаться по двум делая новый $1 Старый $3. Для получения дополнительной информации, см. здесь:

+42
Jeosh Kurian E J 26 апр. 2017 г., 02:48:56

На момент написания этой статьи кроме показывает два ядра примерно 50% каждый в потоки ядра (красные бары). Из предыдущих сапоги я знаю, что это будет увеличить до 3 и даже 4 ядра по 50% у каждого с течением времени. Нет потока, который кроме показывает есть любое использование процессора выше 1%. Это довольно странно, не так ли?

Я пытался исследовать ее дальше и через перфорации записи -это как корень, я обнаружил, что 11.3% всех образцов были в ядре потока команд подкачки в функции intel_idle.

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

  • чем это вызвано? Это ошибка или что-то с моими настройками?
  • это влияет на общую производительность моей системы?
  • как я могу избавиться от этого?

некоторые подробности о моей системе:

$ команды uname -а
В Linux [...] 4.8.0-0.алгоритм RC2.git2.2.fc26.архитектуру x86_64 #1 СМП Ср Авг 17 22:16:04 по Гринвичу 2016 архитектуру x86_64 архитектуру x86_64 архитектуру x86_64 GNU/Линукс
$ lscpu
Архитектура: x86_64 с
ОП-режим процессора(ов): 32-бит, 64-бит
Порядок Байтов: С Обратным Порядком Байтов
Процессор(ы): 8
На линии CPU списка(ы): 0-7
Тема(ы) на ядро: 2
Ядро(ы) в гнезда: 4
Разъем(ы): 1
Узел NUMA(ы): 1
Идентификатор поставщик: GenuineIntel
Семейство процессора: 6
Модель: 94
Название модели: Интел(Р) ядро(ТМ) и7-процессор 6700K процессора @ 4.00 ГГц
Шагая: 3
Процессора МГц: 799.804
Процессора МГц: 4200.0000
Процессора минимальная МГц: 800.0000
BogoMIPS: 8016.00
Виртуализация: VT-х
Кэш L1d: 32К
Кэш L1i: 32К
Кэш L2: 256К
Кэш-памяти L3: 8192K
Нума процессора node0(ы): 0-7
Флаги: [...]

обновление: под нагрузкой поведение немного отличается. (заметим сначала, что я теперь на три ядра по 50% каждый и perf сообщит 27% внутри intel_idle) Я положил мой процессор под нагрузкой с sysbench --тест=ЦП-число потоков=8-макс-запросы=1000000 запустить и проверил при и производительности снова. Кроме сообщали, 3 ядра на 100% в ядре (такие же ядра, которые показывают на 50% во время простоя) и 5 на 100% загрузка. Перфорация сообщил, что sysbench заняли 85% моего процессора и не объясняет оставшиеся 15%... я не знаю, что это значит. Мой процессор эффективно уменьшено до 85% производительности?

+33
bud 13 мар. 2015 г., 11:08:55

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