Консольные команды: различия между версиями

Материал из Ай да Linux Wiki
Перейти к навигации Перейти к поиску
м (Новая страница: «==Основные команды== <source lang="bash">#Показать версию ядра Linux; uname -a # На экран выводиться информ...»)
(нет различий)

Версия 09:27, 20 апреля 2011

Основные команды

#Показать версию ядра Linux;
uname -a
# На экран выводиться информация о версии операционной системы Debian и оснваных на ней дистрибутивах;
lsb_release -a

# На экран выводится информация о версии операционной системы SuSE;
cat /etc/SuSE-release

# Описание иерархии файловой системы (для чего нужна каждая директория в linux);
man hier                                                     

# Очищение экрана терминала;
clear                                                        Очищение экрана терминала;

# Отправляет на терминалы других пользователей сообщение "Привет";
wall Привет                                                  

# Показывает текущую дату и время;
date                                                         

# Показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь);
cal -3                                                       

# Показать текущее время и работу системы без перезагрузки и выключения;
uptime                                                       

# Показать сетевое имя компьютера;
hostname                                                     

# Показать информацию о доменом имени linux.org;
whois linux.org                                              

# Изменить переменной окружения http_proxy, для использования интернета через proxy-сервер;
export http_proxy=http://your.proxy:port                     

# Скачать файл http://itshaman.ru/images/logo_white.png в текущую папку;
wget http://itshaman.ru/images/logo_white.png                

# Копирование сайта целиком и конвертирование ссылок для автономной работы.
wget --convert-links -r http://www.linux.org/                 Копирование происходит на 5 уровней в глубину;

# Создание и настройка Dial-Up соединения для выхода в Интернет по модему;
pppconfig                                                    

# Создание и настройка выхода в Интернет через ADSL-модем;
pppoeconf                                                    

# Выполнить последнюю команду;
!!                                                           

# Показать последние 50 набранных команд;
history | tail -50                                           

# Завершить сеанс текущего пользователя;
exit                                                         

# Меняет пароль текущего пользователя;
passwd                                                       

# Выход из Linux;
shutdown -h now                                              

# Выход из Linux;
poweroff                                                     

# Перезагрузка системы;
reboot                                                       

# Cтатистика перезагрузок;
last reboot                                                  

# Настройка Wine - НЕэмулятор WinAPI;
winecfg                                                      

# Показывает IP-адрес введенного сайта;
host itshaman.ru                                            


==Директории и файлы==
<source lang="bash">
# pwd                                                          Выводит текущий путь;
# ls                                                           Выводит список файлов и каталогов по порядку;
# ls -laX                                                      Выводит форматированный список всех файлов и директорий, включая скрытые;
# cd                                                           Переход в домашнюю директорию;
# cd /home                                                     Переход в директорию /home;
# touch /home/primer2                                          Создание пустого файла /home/primer2;
# cat /home/primer2                                            Показать содержимое файла /home/primer2;
# tail /var/log/messages                                       Выводит конец файла. Удобно при работе с логами и большими файлами;
# nano /home/primer2                                           Редактирование файла /home/primer2;
# gedit /home/primer2                                          Вторая команда Linux для редактирования файла;
# echo "Последняя строчка" | sudo tee -a /home/primer2         Добавление к концу файла "Последняя строчка" в файл /home/primer2;
# cp /home/Mut@NT/primer.txt /home/primer.txt                  Копирует /home/Mut@NT/primer.tx в home/primer.txt;
# ln -s /home/Mut@NT/primer.txt /home/primer                   Cоздает символическую ссылку /home/primer к файлу /home/Mut@NT/primer.txt;
# mkdir /home/Mut@NT/shaman                                    Создание директории с именем shaman;
# rmdir /home/Mut@NT/shaman                                    Удаление директории с именем shaman;
# rm -rf /home/Mut@NT/shaman                                   Удаление директории с вложенными фалами;
# cp -la /dir1 /dir2                                           Копирование директорий;
# mv /dir1 /dir2                                               Переименование директории;
# du -sh /home/Mut@NT/                                         Выводит на экран размер заданной директории. Можно использовать для определения размера файлов;
# locate primer                                                Поиск всех файлов с именем primer;

3.Права доступа:

# [sudo] chmod 0777 /home/                                     Изменение прав доступа к директории только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;
# [sudo] chmod -R 0777 /home/                                  Рекурсивное изменение прав доступа к директории /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;
# [sudo] chown Mut@NT:ITShaman /home/primer.txt                Изменение владельца и группы только для файла /home/primer.txt;
# [sudo] chown -R Mut@NT /home/                                Изменение владельца для всего содержимого директории /home;

4.Работа с архивами:

# tar cf primer.tar /home/primer.txt                           Создать tar-архив с именем primer.tar содержащий /home/primer.txt;
# tar czf primer.tar.gz /home/primer.txt                       Cоздать tar-архив с сжатием Gzip по имени primer.tar.gz;
# tar cjf primer.tar.bz2 /home/primer.txt                      Cоздать tar-архив с сжатием Bzip2 по имени primer.tar.bz;
# tar xf primer.tar                                            Распаковать архив primer.tar в текущую папку;
# tar xzf primer.tar.gz                                        Распаковать tar-архив с Gzip;
# tar xjf primer.tar.bz                                        Распаковать tar-архив с Bzip2;

5.Установка программ:

 Просмотр установленных:
  RPM - дистрибутивы:
# rpm -qa                                                      Показать список установленных пакетов RPM в системе;
  DEB - дистрибутивы:
# dpkg -l |more                                                Показать список установленных пакетов DEB в системе;
# apt-cache search имя пакета                                  Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
# apt-cache showpkg имя пакета                                 Полная информация о указанном пакете;

5.1Установка и удаление пакетов:

 RPM - дистрибутивы:
# [sudo] rpm -i pkgname.rpm                                    Установка RPM пакета pkgname.rpm;
# [sudo] rpm -e pkgname                                        Удаление RPM пакета pkgname;
# [sudo] dpkg -i *.rpm                                         Установка всех пакетов в директории;
 DEB - дистрибутивы:
# [sudo] apt-get update                                        Обновление списка доступных пакетов из Internet;
# [sudo] apt-get upgrade                                       Обновление доступной версии установленных пакетов в системе;
# [sudo] apt-get install pkgname                               Установка DEB пакета pkgname;
# [sudo] apt-get remove pkgname                                Удаление DEB пакета pkgname;
# [sudo] dpkg -i *.deb                                         Установка всех пакетов в директории;

6.Мониторинг работы и просмотр логов:

# top                                                          Информация в реальном времени о загруженных процессах, потребление ОЗУ;
# htop                                                         Более расширенная on line-статистика о загруженных процессах (разработчик http://htop.sourceforge.net);
# dmesg                                                        Показывает log-файл загрузки ОС и нахождения новых устройств;
# mpstat 1                                                     Показывает расширенную статистику потребления ресурсов системы в процентах (для некоторых дистрибутивов необходима установка пакета sysstat);
# vmstat 2                                                     Показать расширенную статистику по использованию виртуальной памяти;
# iostat 2                                                     Показать расширенную статистику прерываний по устройствам;

7.Информация об устройствах:

# lsdev                                                        Информация об уже установленных устройствах (в некоторых дистрибутивах требует доставить пакет procinfo);
# cat /proc/cpuinfo                                            Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.);
# cat /proc/meminfo                                            Показать расширенную информацию о занимаемой оперативной памяти (MemTotal, MemFree, Buffers, Cached, SwapCached,HighTotal, HighFree, LowTotal и т. д.);
# grep SwapTotal /proc/meminfo                                 Показать размер раздела выделенного под swap;
# watch -n1 'cat /proc/interrupts'                             Показать информацию о прерываниях;
# free -m                                                      Информация о используемой и свободной ОЗУ и Swap-файле (-m указывает, что отображать нужно в Мб);
# lshal                                                        Показать список всех устройств и их параметров;
# cat /proc/devices                                            Показать все устройства в системе (названия взяты из директории /proc/devices);
# lspci -tv                                                    Показать обнаруженные PCI-устройства;
# lsusb -tv                                                    Показать обнаруженные USB-устройства;
# [sudo] dmidecode                                             Показать информацию о версии BIOS компьютера;
# gtf 1024 768 75                                              Выводит строку ModeLine для Вашего монитора на параметрах экрана 1024x768x75Hz;

8.Жесткие диски и файловая система:

# fdisk -l                                                     Информация о всех подключенных жестких и сменных дисках;
# [sudo] hdparm -I /dev/sda                                    Полная информация о IDE/ATA жестких дисках;
# smartctl -a /dev/sda1                                        Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);
# [sudo] blkid                                                 Выводит UUID всех доступных накопителей информации в системе;
# [sudo] hdparm -tT /dev/sda                                   Показывает производительность жесткого диска;
# mount | column -t                                            Показывает полную информацию о примонтированных устройсвах;
# cat /proc/partitions                                         Показывает только примонтированные разделы жесткого диска;
# df                                                           Показывает свободное место на разделах;
# [sudo] mount /dev/sda1 /mnt                                  Монтирует раздел /dev/sda1 к точке монтирования /mnt;
# [sudo] mount -t auto /dev/cdrom /mnt/cdrom                   Монтирует большинство CD-ROM`ов;
# [sudo] mount /dev/hdc -t iso9660 -r /cdrom                   Монтирует IDE CD-ROM;
# [sudo] mount /dev/scd0 -t iso9660 -r /cdrom                  Монтирует SCSI CD-ROM;
# [sudo] mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt        Монтирование FreeBSD разделов в Linux;
# [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video  Монтирование сетевых ресурсов (SMB);
# [sudo] mount -t iso9660 -o loop /home/file.iso /home/iso     Монтирование ISO-образов;
# [sudo] mount /dev/sdb1 -t vfat -o rw /mnt                    Монтирование раздел с файловой системой FAT 16/32 (к примеру USB-накопитель) к точки монтирования /mnt с возможностью записи;
# [sudo] umount /mnt                                           Отмонтирует раздел от точки монтирования /mnt;

9.Сеть:

# ifconfig                                                     Показать параметры всех сетевых;
# ifconfig eth0                                                Показать параметры сетевого интерфейса eth0;
# [sudo] ethtool eth0                                          Показывает состояние сетевого интерфейса eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда ethtool применяется только для проводных подключений, не работает с беспроводными интерфейсами;
# [sudo] ethtool -s eth0 speed 100 duplex full autoneg off     Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;
# ifconfig eth0 192.168.50.254 netmask 255.255.255.0           Задать основной IP адрес сетевому интерфейсу eth0;
# ip addr add 192.168.50.254/24 dev eth0                       Задать основной IP адрес сетевому интерфейсу eth0;
# ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0         Задать дополнительный IP адрес сетевому интерфейсу eth0;
# ip addr add 192.168.51.254/24 dev eth0 label eth0:1          Задать дополнительный IP адрес сетевому интерфейсу eth0;
# [sudo] ifconfig eth0 up                                      Запустить сетевой интерфейс eth0;
# [sudo] ifconfig eth0 down                                    Отключить сетевой интерфейс eth0;
# ifconfig eth0 hw ether 00:01:02:03:04:05                     Смена MAC адреса;
# [sudo] /etc/init.d/dhcpd restart                             Перезагрузка DHCP клиента;
# ping 192.168.0.2                                             Проверка сетевого соединения. Пингуется IP адрес 192.168.0.2 (пинговать можно ya.ru);
# route -n                                                     Выводит на экран таблицу маршрутизации;
# netstat -rn                                                  Выводит на экран таблицу маршрутизации;
# netstat -an | grep LISTEN                                    Показывает список всех открытых портов;
# lsof -i                                                      Показывает список всех открытых портов в сеть Internet;
# [sudo] netstat -tup                                          Активные соединения с интернетом;
# socklist                                                     Показывает все открытые сокеты;
# [sudo] netstat -anp --udp --tcp | grep LISTEN                Список приложений, которые открывают порты;
# [sudo] iptables -L -n -v                                     Показывает статус firewall (статус iptables);
# [sudo] iptables -P INPUT ACCEPT                              Открывает доступ ко всем портам;
# [sudo] iptables -P FORWARD ACCEPT                            Открывает доступ ко всем портам;
# [sudo] iptables -P OUTPUT ACCEPT                             Открывает доступ ко всем портам;
# [sudo] iptables -X                                           Удаляет все цепочки;
# [sudo] iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  "Поднятие" NAT на интерфейсе eth0;
# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT --to 192.168.16.44:22  Перенаправление порта 20022, который использется для ssh;
# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995 -j DNAT --to 192.168.16.254:993-995   Перенаправление диапазона портов 993-995;
# iptables -L -t nat                                           Проверка статуса NAT;

10.ISO:

# cdrecord -scanbus                                            Показывает все доступные CD-ROM;
# dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc         Создание ISO образов с диска CD-ROM;

11.Пользователи и группы:

# id                                                           Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);
# finger Mut@NT                                                Показать информацию о пользователе Mut@NT;
# last                                                         Показывает последних зарегистрированных пользователей;
# who                                                          Показывает имя текущего пользователя и время входа;
# useradd Mut@NT                                               Добавление нового пользователя Mut@NT;
# groupadd ITShaman                                            Добавление группы ITShaman;
# usermod -a -G ITShaman Mut@NT                                Добавляет пользователя Mut@NT в группу ITShaman (для Debian-подобных дистрибутивов);
groupmod -A Mut@NT ITShaman                                    Добавляет пользователя Mut@NT в группу ITShaman (SuSE);
# userdel Mut@NT                                               Удаление пользователя Mut@NT;
# groupdel ITShaman                                            Удаление группы ITShaman;

Процессы

# Показать все загруженные процессы;
ps axjf                                                      
# Показать PID определенного процесса – sshd;
pgrep -l sshd                                                
# Показать PID вашей оболочки;
echo $$                                                      
# Показать PID процесса использующий порт 22;
fuser -va 22/tcp                                             
# Показывает PID процесса имеющего доступ к /home;
fuser -va /home                                              
# Показывает список процессы, которые используют /home;
lsof /home                                                   
# Выводит на экран текущее состояние процесса httpd;
killall 0 httpd                                              
# «Убить» процесс с PID 4712;
kil 4712                                                     
# Посылает процессу с PID`ом 4712 сигнал TERM - завершить процесс;
killall TERM 4712                                     
# Посылает процессу с именем httpd сигнал HUP - остановить процесс;
killall HUP httpd                                     
# “Убить” все процессы имеющие доступ к /home;
fuser -k -TERM -m /home                               
'''''Важные сигналы посылаемые процессам:'''''
*1 - HUP остановить процесс
*2 - INT прервать процесс
*3 - QUIT выйти
*9 - KILL “убить” процесс
*15 - TERM завершить процесс

Runlevels

'''''“Уровни загрузки” бывают:'''''
*Runlevels=0 Выключение компьютера;
*Runlevels=1 режим Single-User;
*Runlevels=2 Текстовый режим без поддержки сети;
*Runlevels=3 Текстовый режим с поддержкой сети;
*Runlevels=4;
*Runlevels=5 Графический режим;
*Runlevels=6 Перезагрузка компьютера.
  1. Показывает список всех скриптов с соответствующими им Runlevels;

chkconfig --list

  1. Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае udev;

chkconfig --list udev

  1. Выставление скрипту udev значений Runlevels по-умолчанию (для Debian-подобных дистрибутивов);

update-rc.d udev defaults

  1. Добавление скрипту udev Runlevels 3 и 5;

chkconfig udev --level 35 on

  1. Изменить параметры для скрипта udev (для Debian-подобных дистрибутивов);

update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6

  1. Отключение у udev всех Runlevels;

chkconfig udev off

  1. Отключение у udev всех Runlevel (для Debian-подобных дистрибутивов);

update-rc.d -f udev remove

  1. Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf);

sysv-rc-conf </source>

Работа с ядром и модулями

# Показать версию ядра Linux;
uname -a                                                     
# Список всех модулей загруженных в ядро;
lsmod                                                        
# Загрузка модуля на примере isdn;
modprobe isdn                                         
# Создание сжатого образа ядра системы;
make                                                         
# Компиляция модуля;
make modules                                                 
# Установка модуля;
make modules_install                                  
# Установка в ядро системы;
make install

Pабота с LiveCD

# Cмена root-окружения на /mnt. После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
chroot /mnt

Конвертирование

# Выводит список всех доступных кодировок;
iconv -l                                                     
# Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8;
iconv -f cp1251 -t UTF-8 -o file_cp1251.txt > file_utf8.txt  
# Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick);
convert name.pdf name-%03d.jpg#                              
# Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick);
convert *.jpeg name.pdf                                      
# Конвертируем видео
mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI
# Копирование треков с AudioCD в текущую директорию wav-файлами;
cdparanoia -B                                                
# Конвертирование wav-файлов в mp3 с качеством 256 kb/s;
lame -b 256 in.wav out.mp3                                   
# Конвертирование wav-файлов в Ogg Vorbis с качеством 256 kb/s;
oggenc in.wav -b 256 out.ogg

Печать

# Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;
export PRINTER=lbp2900                                       
# Распечатать на принтере Canon LBP-2900 две копии файла name.txt;
lpr #2 name.txt                                              
# Удаление всех задач с принтера по-умолчанию;
lprm -