BG, FG, %, &, JOBS, CTRL+Z, DISOWN

Запуск процесса в фоновом режиме
Амперсанд & после команды запустит ее в фоновом режиме.

cp -pR /home/ /mnt/bacup/ &

С работающей командой тоже самое можно сделать так: нажать CTRL+Z

:~$ cp -pR /home/ /mnt/backup/
^Z
[1]+  Stopped                 cp -pR /home/ /mnt/backup/
:~$ ps ax | grep cp | grep -v grep
4833  2.9  0.0  14184   872 pts/0    T    11:40   0:01 cp -pR /home/ /mnt/backup/

Как видим процесс находится в STAT T
Набираем bg для того, чтобы запустить команду в фоне

:~$ bg
[1]+ cp -pR /home/ /mnt/backup/ &
:~$ ps ax | grep cp | grep -v grep
 4833 pts/0    R      0:01 cp -pR /home/ /mnt/backup/
:~$

Процесс перешел в STAT R и выполняется в фоне, фоновый процесс называется job (задание)
Посмотреть список заданий можно командой jobs

:~$ jobs
[1]   Stopped                 cp -pR /home/ /mnt/sdb/
[2]   Stopped                 vim 1.txt
[3]-  Stopped                 vim 2.txt
[4]+  Stopped                 vim 3.txt
  • + — текущая задача.
  • — последняя задача
  • К остальным задачам можно обратиться по их идентификационному номеру.

Запустить задачу в foreground

  • Команда fg без параметров или fg + запустит текущую задачу (со знаком +) в foreground
  • fg +
  • Команда fg — запустит последнюю задачу (задача со знаком )
  • fg -
  • Запустить задачу можно по их идентификационному номеру
    fg 2
    fg %2
  • Вместо fg можно использовать просто знак процента %
    %+
    %-
    %2

Команда disown используется для отделения задачи от таблицы задач текущего shell. При отделении задачи от текущего shell, ее родителем становится INIT. После это можно завершить текущий shell, команда продолжит выполняться. На самом деле, если отправить команду в background, а потом завершить сессию, произойдет тоже самое, т.е. родителем станет INIT

:~$ disown %2
:~$ ps -fe | grep cp | grep -v grep
s0x90      5346     1  6 12:56 ?        00:15:24 cp -pR /home/ /mnt/backup/
:~$ yes > /dev/null &
[1] 6576
:~$ ps -f | grep yes | grep -v grep
s0x90      6576  6144 96 17:26 pts/0    00:00:10 yes
:~$ logout
:~$ ps -fe | grep yes | grep -v grep
s0x90      6576     1 91 17:26 ?        00:01:15 yes

Не забывайте про чудесную утилиту-мультиплексор screen

Информация о системе

    lsb_release -a
  1. Архитектура ОС
    uname -m
  2. Вся информация о ядре
    uname -a
  3. Количество свободной оперативной памяти в МБ
    free -m
  4. Вывести характеристики жесткого диска
    hdparm -i /dev/sda
  5. Тест производительности жесткого диска
    hdparm -tT /dev/sda
  6. Информация о процессоре
    cat /proc/cpuinfo
  7. Показать статистику по сетевым интерфейсам
    cat /proc/net/dev
  8. PCI устройства
    lspci -tv
  9. USB устройства
    lsusb -tv
  10. Информация о состоянии Raid массива
    cat /proc/mdstat
  11. Системная дата
    date
  12. Список процессов, которые запустили не вы
    ps aux | grep -v `whoami`
  13. Список из 10 процессов, которые запустили не вы и которые сильнее всего нагружают процессор
    ps aux --sort=-%cpu | grep -m 11 -v `whoami`
  14. Убить все процессы пользователя
    pkill -u <user_name>
    killall -u <user_name>
  15. Посмотреть кто в системе
    who
  16. Лимиты пользователя
    ulimit -a
  17. Настройки ядра
    sysctl -a
  18. Лимит на максимальное количество открытых файлов
    sysctl fs.file-max
  19. Активировать для ранлевела по умолчанию
    update-rc.d sshd defaults
  20. Как сбросить пароль root linux
    Во время загрузки grub выбираем следующую опцию

    init=/bin/sh

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

    mount -o remount,rw /
    passwd
    sync; mount -o remount,ro /
    reboot
  21. Список загруженных модулей ядра
    lsmod
  22. Загрузить модуль ядра
    modprobe 
  23. Синхронизация времени
    ntpdate ntp.blueyonder.co.uk
  24. Список пользователей
    cat /etc/passwd | awk "/bash/{print}"
  25. Подписать ключ
    $ gpg --recv-keys 64481591B98321F9
    $ gpg --armor --export 64481591B98321F9 | sudo apt-key add -