====== Полезные консольные команды Linux ======
===== Информация о системе =====
* Посмотреть, кто залогинен в систему в данный момент: ''who''
* Свободное место на жестких дисках: ''df -h | grep /hd''
* Наблюдать за свободной памятью (выход -- Ctrl+C): ''watch free''
* Uptime + кто залогинен: ''w''
* Данные с [[linux:temperaturemonitoringinlinux|температурных датчиков]]: ''sensors''
* Информация о <<железе>>: ''hwinfo'' (о конкретной части: ''hwinfo cpu'' или, к примеру, ''hwinfo memory'')
* Информация DMI ([[wp>SMBIOS]]) в читабельном виде: ''dmidecode'' (в <<нечитабельном>>: ''sudo dd if=/dev/mem bs=64k skip=15 count=1 | strings | less'')
* Информация о процессах, памяти, диске и сетевых интерфейсах на одном экране: ''saidar''
===== Работа с файловой системой =====
* Создание нескольких вложенных директорий: ''mkdir -p tmp/a/b/c'' или даже так: ''mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}''
* Вывод листинга текущей директории с описанием содержимого файлов: ''ls -1 | xargs file''
* Фильтр файлов за определенную дату: ''ls -l | awk \'$6 == "2006-12-24"\'''
* Посмотреть, какой процесс мешает размонтировать устройство: ''sudo lsof /dev/sda1''
* Удалить MBR диска hda: :!: ''dd if=/dev/zero of=/dev/hda bs=512 count=1'' :!:
* Управление и мониторинг RAID-массивов: ''mdadm'' (читайте ''man mdadm'')
* Преобразование кодировок в названии файлов: ''convmv'' (удобно при скачивании виндовых торрентов/архивов)
==== Поиск файлов ====
* Поиск файлов с именем filename в текущей и всех вложенных директориях и вывод их листинга: ''find ./ -name "filename" -print | xargs ls -alp''
* Поиск и подсветка цветом строки ''text'' в папке ''/home/gluek/Documents'' в выводом имени найденных файлов: ''grep -EHnr --color text /home/gluek/Documents''
==== Запись дисков ====
* Найти пишущий привод: ''sudo cdrecord -scanbus dev=ATAPI''
==== RAID ====
* Создаем RAID 1:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hdb1 /dev/hdc1
* Смотрим статус RAID 1: ''cat /proc/mdstat''
* Создаем файловую систему на RAID разделе: ''mkfs.ext3 /dev/md0''
* Проверка диска в массиве **(запускать от root)**: ''mdadm -E /dev/hdb1''
* Отправка отчета в случае сбоя на почту **(добавить в crontab root'а)**: --- [[http://www.opennet.ru/tips/info/881.shtml|Мониторинг и восстановление программного RAID в Linux]]
*/30 * * * * root mdadm --monitor --scan -1 --mail=mrgluek@gmail.com
===== Работа с архивами и образами =====
* Запаковать папку /home в архив file.tar.gz: ''tar zcvf file.tar.gz /home''
* Распаковать архив file.zip: ''unzip file.zip''
* Распаковать архив file.tar.gz: ''tar zxvf file.tar.gz''
* Распаковать архив file.tar.bz2: ''tar jxvf file.tar.gz''
* Подключить iso образ myiso.iso в файловую систему: ''sudo mkdir /mnt/myiso/; sudo mount myiso.iso /mnt/myiso/ -o ro,loop=/dev/loop0'' --- [[ConvertingVariousImageFormatsToISO|Преобразование различных образов дисков в формат ISO]]
* Создать загрузочную дискету с FreeDOS: ''makebootdisk'' //(удобно для обновления прошивок железа)//
* Перенести файлы с сервера на сервер: ''tar -cf - path_to_archive | gzip - | ssh login@domain "cat - > archive.tar.gz"'' --- [[http://xpoint.ru/forums/computers/os/unix/thread/40371.xhtml|источник]]
==== Работа с образами дисков ====
* Сделать упакованную резервную копию всего диска: ''sudo dd if=/dev/sda | gzip -cn > image.gz''
* Восстановить обратно: ''sudo gzip -cd image.gz | sudo dd of=/dev/sda''
Проверить статус работы команды ''dd'' в ходе её выполнения можно, отправив сигнал ''SIGUSR1'' (зависит от системы, иногда ''SIGINFO''), например вот так: ''kill -s SIGUSR1 12345'' (где ''12345'' --- PID ''dd'')
===== Работа в графической среде =====
* Информация о X сервере: ''xdpyinfo''
* Узнать, какой шрифт будет использован, если приложение запросило serif: ''fc-match serif'' (подробнее: [[http://gq.net.ru/2007/11/08/fontconfigs-fonts-priority/|Задание приоритета шрифтов в fontconfig at GQ’s blog]])
==== Работа в KDE ====
* Свернуть приложение в трей (в примере --- Konsole): ''ksystraycmd --window 'Konsole' --hidden''
* Для поиска нужного окна можно пользоваться такой командой: ''sleep 3; xwininfo'' //(пауза 3 секунды сделана специально --- чтобы успеть переключиться из консоли в нужное окно, а затем кликнуть на него; информация об окне будет в консоли, нам нужен Window id, а точнее то, что находится в кавычках)//
===== Работа в сети =====
* Статистки сетевых соединений: ''iptraf'' (см. http://iptraf.seul.org/)
* Информация о сетевой карте (скорость и тип соединения): ''sudo ethtool eth0''
* Смена мак-адреса сетевой карты (до перезагрузки): ''sudo ifconfig eth0 hw ether xx:xx:Xx:xx'' [[http://mydebianblog.blogspot.com/2007/02/blog-post_24.html подробнее...]]
* Список windows shares в сети: ''nmap -p 139 192.168.1.1-255''
* Список доступных shares на машине: ''smbclient -N -L 192.168.1.1''
===== Ссылки =====
* [[http://www.allcommands.com/|Universal Command Guide for Operating Systems]] --- действительно большой справочник по командам различных ОС.