в Linux можно использовать
cat /proc/meminfo
видеть общую подкачку и бесплатную подкачку (весь Linux)cat /proc/swaps
видеть, какие устройства свопинга используются (весь Linux)swapon -s
видеть устройства свопинга и размеры (где swapon установлен),vmstat
для текущей статистики виртуальной памятив Mac OS X можно использовать
vm_stat
видеть информацию о виртуальной памяти (подкачка)ls -lh /private/var/vm/swapfile*
видеть, сколько файлов подкачки используется.в Солярисе можно использовать
swap -l
видеть устройства/файлы подкачки и их размерыswap -s
видеть, что общее количество подкачивает размер, используемый и бесплатныйvmstat
видеть статистику виртуальной памятиВ некоторых системах "виртуальная память" относится только к поддержанным диском запоминающим устройствам, и в других системах, как Солярис, Виртуальная память может относиться к любому адресному пространству пользовательского процесса, включая tmpfs файловые системы (как/tmp) и пространство общей памяти.
Если это относится к командам, выполненным просто недавно, более эффективный путь состоит в том, чтобы сослаться на них с отрицательными числами:
!-4; !-3; !-2; !-1
Кроме того, после того как Вы делаете это, Ваша последняя запись истории будет содержать целую цепочку команд, таким образом, можно будет повторить его с !!
.
Править: Если Вы уже не имеете, знакомитесь с большой встроенной функцией fc
, упомянутый Gilles. (Используйте help fc
.) Оказывается, что можно также использовать отрицательные числа с ним, таким образом, Вы могли сделать то же как выше использования
eval "`fc -ln -4 -1`"
Это имеет один протест, хотя: после этого eval
строка хранится в истории как последняя команда. Таким образом, при выполнении этого снова Вы попадете в цикл!
Более безопасный способ сделать это состоит в том, чтобы использовать значение по умолчанию fc
режим работы: передача выбранного диапазона команд редактору и выполнения их, после того как Вы выходите от него. Попробуйте:
fc -4 -1
Можно даже инвертировать порядок диапазона команд: fc -1 -4
Для просмотра диапазона команд в истории используют встроенное fc
команда:
fc -ln 432 435
Выполнить их снова:
eval "$(fc -ln 432 435)"
man fc
ничего не дает мне. Что делает fc
поддержать? Что другие опции там?
– Eric Wilson
17.11.2011, 05:00
help fc
... и также help help
....помощь: справка [-dms] [шаблон...] информация о Дисплее о встроенных командах.
– Peter.O
17.11.2011, 06:57
fc
обозначает, "находят, что команда" или "фиксирует команду".
– Slothworks
20.10.2015, 08:49
Существует хороший альтернативный способ последовательного выполнения ряда команд из истории Bash:
вместо использования подстановки истории (! 432
или ! -4
), вы можете искать в истории с помощью Ctrl + r , и как только вы найдете первую команду, которую хотите запустить, нажмите Ctrl + o ( operation-and-get-next ) вместо return key
Это запустит команду и предложить следующую из истории.
Вы можете нажимать Ctrl + o сколько угодно раз и завершить последовательность либо return ] для последнего или Ctrl + c для остановки без запуска.
Para ejecutar los comandos inmediatamente en lugar de editarlos,aquí hay una versión sintácticamente más delgada de Giles responde usando eval:
fc -e: 432 435
El argumento de dos puntos para -e es bash noop, que tiene el efecto de omitir el paso "abrir en un editor" que desea fc. Además, ahora el (historial reciente )contendrá los comandos reales del historial, en lugar de la instrucción eval.
fc
для петли иxsel
Это хорошо работает, когда я хочу объединить и повторно -запустить последние n команд несколько раз:
fcn() (
from="${1:-2}"
to="${2:-1}"
if [ "$from" -ne "$to" ]; then
for i in `seq "$from" -1 "$(($to + 1))"`; do
printf "$(fc -ln -${i} -${i}) && "
done
fi
printf "$(fc -ln -${to} -${to})"
)
Тогда:
$ echo a
a
$ echo b
b
$ echo c
c
$ fcn 3 1 | xsel -b
$ # Paste.
$ echo a && echo b && echo c
a
b
c
$ # Paste again if you feel like it.
$ echo a && echo b && echo c
a
b
c
Или для более крупных команд, которые могут потребовать некоторого редактирования:
fcn 3 1 >cmds.sh
vi cmds.sh
bash cmds.sh
bash cmds.sh