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

Сделать скриншот в Linux очень просто:

import screenshot.jpg

Как узнать десять наиболее сильно “пожирающих процессор” программ:

ps -eo pcpu,pid,args | sort -k 1 -r | head -10

Перемонтировать диск в режим чтения-записи

mount -o remount,rw /media/folder

Сделать линк файлов в UNIX - не сложно с помощью команды ln, а вот как создать линк каталогов? Например, на 2 сайтах используется одна база изображений, которая постоянно пополняется и нужно, чтобы данные появлялись и там и там? Это можно сделать с помощью mount. Например:

/bin/mount –bind /путь.каталог /путь/к пустому каталогу

В FreeBSD это делает немного по-другому:

В ядре должно быть:

options NULLFS

после этого:

mount_nullfs /dir1 /dir2

Если надо, чтобы линки монтировались при загрузке операционной системы, достаточно вышеуказанную команду добавить в файл /etc/rc.local перед exit 0

Cписок открытых пользователем файлов. Лучше использовать с GREP, т.к. будет просто очень большой список.

lsof

Например:

lsof -Pni4 | grep LISTEN #покажет список открытых портов в системе

Выводит файл на стандартный вывод с добавлением номера строки.

nl

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

Синтаксис: nl [OPTION]… [FILE]…

Пример:

$ nl hello.txt

1 Hello World 2 This is a test

  • pgrep и Pkill – Поиск процессов, основываясь на их именах.

Синтаксис:

pgrep [OPTIONS] [PATTERN]

pkill [OPTIONS] [PATTERN]

Пример:

1
2
3
 $ pgrep vim
 2747
 $ pkill vim
  • pstree - Показать дерево процессов для конкретного пользователя.

Синтаксис: pstree [OPTIONS] [PID] [USER]

Пример:

1
2
3
4
 $ pstree # Покажет все процессы пользователя
 $ pstree 2747 # Покажет один процесс на основе его PID
 kdm───startkde─┬─kwrapper4
                      └─ssh-agent
  • watch – Периодический запуск команды и вывод.

Синтаксис: watch [OPTIONS]

Пример:

1
 $ watch ls -lah #Позволит раз в 2 секунды видеть изменения файлов.

опция -n позволит задать интервал:

1
 $ watch -n 30 ls -lah #Позволит видеть вывод команды раз в 30 секунд
  • lshw – Покажет детализированную информацию об оборудовании.

Синтаксис: lshw [OPTIONS]

Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
 $ lshw -C display # Gives information only about the display.
  *-display               
       description: VGA compatible controller
       product: C68 [GeForce 7025 / nForce 630a]
       vendor: nVidia Corporation
       physical id: 12
       bus info: pci@0000:00:12.0
       version: a2
       width: 64 bits
       clock: 66MHz
       capabilities: bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:20 memory:fd000000-fdffffff memory:d0000000-dfffffff(prefetchable) memory:fc000000-fcffffff memory:febc0000-febdffff(prefetchable)
  • wc – просто подсчет слов, строк, символов.

Синтаксис: wc [OPTIONS] [FILE]

Пример:

1
2
 $ wc hello.txt
 2  6 27 hello.txt
  • split – делит большие файлы на более мелкие. Например, для пересылки по почте

Синтаксис: split [OPTIONS] [INPUT] [PREFIX]

Пример:

1
 $ split -b 1M bigfile.tar.gz big_ # Будет разбит bigfile.tar.gz на файлы с размером 1MB и префикс файлов будет "big_"

  • chardet – Покажет кодировку файла.

Синтаксис: chardet [OPTIONS] [FILE]

Пример:

1
2
 $ chardet links 
 links: ascii (confidence: 1.00)
  • chattr и lsattr – Вывод или смена атрибутов файла.

Синтаксис:

1
2
chattr [OPTIONS] [+-=modes] [FILE]
lsattr [OPTIONS] [FILES]

Пример:

1
2
3
4
 lsattr links 
 -----------------e- links
 chattr +A links 
 -------A---------e- links
  • ss - выводит список активных сетевых соединений

  • /usr/bin/lsb_release -ircd - выводит версию установленного дистрибутива. (Для Ubuntu и производных…)

Пример:

1
2
3
4
5
 $ /usr/bin/lsb_release -ircd
 Distributor ID:  LinuxMint
 Description: Linux Mint 9 Isadora
 Release: 9
 Codename:    isadora

Узнаем параметры запуска ядра системы (то есть то, что было прописано в загрузчик)

  • cat /proc/cmdline

Получаем что-то типа:

1
 BOOT_IMAGE=/boot/vmlinuz-2.6.35-23-generic root=UUID=9f7a7c29-da23-4600-b5d6-846ff4af999c ro quiet splash