Мне давным давно хотелось создать справочник команд линукс. Наконец я все таки сделал это. В этой публикации мне хотелось как то систематизировать команды linux и вроде у меня получилось. Иногда сам забываешь важные команды, а тут зашел, посмотрел и вспомнил. Может кому-то они тоже окажутся полезными. Все команды представлены в виде: команда # описание
1. Информационные команды Linux.
uname -a # Показывает версию ядра вашей копии linux;
lsb_release -a # Показывает дистрибутив вашей ОС и основаных на ней дистрибутивов;
cat /etc/SuSE-release # Если у вас установлен дистрибутив SuSe, эта команда покажет версию релиза;
man hier # Описание всех директорий Linux (для чего нужна каждая из них);
clear # Очищает терминал;
wall Привет # Отправляет на терминалы других пользователей сообщение "Привет";
date # Дата и время;
cal -3 # Показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь);
uptime # Сколько времени работает ОС, без выключения и перезагрузки;
hostname # Имя компьютера в сети;
whois shkola-linux.ru # Информация о домене shkola-linux.ru;
export http_proxy=http://your.proxy:port # Изменить переменной окружения http_proxy, для использования интернета через свой proxy-сервер;
wget http://shkola-linux.ru/templates/linux/images/logo.png # Скачать файл http://shkola-linux.ru/templates/linux/images/logo.png через терминал;
wget --convert-links -r http://shkola-linux.ru/ # Полное копирование сайта и конвертирование ссылок для оффлайн работы. Копирование происходит на 5 уровней в глубину;
pppconfig # Создание и настройка Dial-Up соединения для выхода в Интернет по модему;
pppoeconf # Создание и настройка выхода в Интернет через ADSL-модем;
!! # Выполнение повтора последней введной вами команды;
history | tail -50 # Команда выводит последние 50 команд;
exit # Выход из под данного пользователя;
passwd # Изменяем пароль вашего пользователя;
shutdown -h now # Завершаем работу и выключаем компьютер;
poweroff # Выход из Linux;
reboot # Перезагружаем компьютер;
last reboot # Показывает информацию о перезагрузках;
winecfg # Настраиваем Wine;
host shkola-linux.ru # Узнаем IP данного сайта;
2. Команды Linux: работы с файлами и каталогами
В этой части этого справочника представлены команды Linux предназначенные для: создания и удаления файлов и директорий, команды навигации между ними и команды для назначения владельца и прав доступа.
2.1 Каталоги и файлы
pwd # Выводит путь, где вы сейчас находитесь;
ls # Выводит список файлов и каталогов по порядку;
ls -laX # Выводит список файлов и директорий в форматированном варианте, в том числе показывает скрытые;
cd # Пермещает вас в домашний каталог;
cd /home # Переходим в каталог /home;
touch /home/pustoi-file # Создание пустого файла /home/pustoi-file;
cat /home/pustoi-file # Показывает содержимое файла /home/pustoi-file;
tail /var/log/messages # Показывает только конец файла. Удобно при работе с длинными логами и большими файлами;
nano /home/pustoi-file # Редактируем файл /home/pustoi-file в редакторе nano;
gedit /home/pustoi-file # Редактируем этот же файл в редакторе gedit;
echo "Последняя строчка" | sudo tee -a /home/pustoi-file # Добавляем в конец файла строку "Последняя строчка" в файл /home/pustoi-file;
cp /home/fire/text.txt /home/text.txt # Делаем копию файла /home/fire/text.tx в home/text.txt;
ln -s /home/fire/text.txt /home/text # Cоздадим символическую ссылку /home/text к файлу /home/fire/text.txt;
mkdir /home/fire/katalog1 # Создадим каталог с именем katalog1;
rmdir /home/fire/katalog1 # Удалем каталог с именем katalog1;
rm -rf /home/fire/katalog1 # Так удаляем каталог если в нем находятся файлы;
cp -la /kat1 /kat2 # Копируем каталоги;
mv /kat1 /kat2 # Переименовываем каталоги;
du -sh /home/fire/ # Информация о размере каталога: этой же командой можно посмотреть и размер файла;
locate linux # Ищем файлы с именем linux;
2.2 О правах доступа
sudo chmod 0777 /home/ # Меняем права доступа к каталогу только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;
sudo chmod -R 0777 /home/ # Рекурсивное изменение прав доступа к каталогу /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные каталоги и файлы будут иметь такие же права 0777;
sudo chown fire:shkola-linux /home/text.txt # Измененяем владельца, группы у файла /home/text.txt;
sudo chown -R fire /home/ # Изменяем владельца для всего содержимого каталога /home;
3. Команды Linux: работаем с архивами
tar cf text.tar /home/text.txt # Создаем tar-архив под именем text.tar содержащий в себе /home/text.txt;
tar czf text.tar.gz /home/text.txt # Запаковываем файл в tar-архив с сжатием Gzip по имени text.tar.gz;
tar cjf text.tar.bz2 /home/text.txt # Запаковываем файл в tar-архив с сжатием Bzip2 по имени text.tar.bz;
tar xf text.tar # Распаковываем архив text.tar в текущий каталог;
tar xzf text.tar.gz # Распаковываем и потом разжимаем tar-архив с Gzip;
tar xjf text.tar.bz # Распаковываем и разжимаем tar-архив с Bzip2;
4. Команды Linux: устанавливаем программы
4.1 Просмотр установленных пакетов
RPM - дистрибутивы
rpm -qa # Выводит список установленных пакетов RPM в вашей системе;
DEB - дистрибутивы
dpkg -l |more # Выводит список установленных пакетов DEB в вашей системе;
apt-cache search имя пакета # Поиск наличее этого пакета и выводит на экран важную информацию об этом пакете;
apt-cache showpkg имя пакета # Выводит всю информацию о данном пакете;
4.2 Установка и удаление пакетов
RPM - дистрибутивы
sudo rpm -i pkgname.rpm # Производим установку RPM пакета под именем pkgname.rpm;
sudo rpm -e pkgname # Производим удаление RPM пакета под именем pkgname;
sudo dpkg -i *.rpm # Производится установка всех пакетов в каталоге;
DEB - дистрибутивы
sudo apt-get update # Обновление списка доступных пакетов в репозитории Linux из Internet;
sudo apt-get upgrade # Происходит обновление доступной версии всех установленных пакетов в системе;
sudo apt-get install mc # Происходит установка DEB пакета mc;
sudo apt-get remove mc # Происходит удаление DEB пакета mc;
sudo dpkg -i *.deb # Установливаем все пакеты из данного каталога;
5. Команды Linux: мониторинг работы и просмотр логов.
Команды Linux которые позволяет проводить мониторинг работы операционной системы. Все данные выводятся на экран в реальном времени. Число, стоящее после команды означает интервал обновления вывода информации.
top # Информация о процессах, потребление оперативной памяти;
htop # Более расширенная Статистика о всех процессах;
dmesg # Показывает "логи" загрузки ОС и информацию об устройствах компьютера;
mpstat 1 # Показывает расширенную статистику потребления ресурсов системы в процентах (в некоторых дистрибутивов необходима доустановка пакета sysstat);
vmstat 2 # Показывает более расширенную статистику по использованию виртуальной памяти;
iostat 2 # Показывает более расширенную статистику прерываний по различным устройствам вашего ПК;
6. Команды Linux: информация об устройствах.
lsdev # информация об уже установленных устройствах (в некоторых дистрибутивах требует доставить пакет procinfo);
cat /proc/cpuinfo # Самая полная информация о вашем процессоре (частота, поддерживаемые инструкции и т.д.);
cat /proc/meminfo # Расширенная информация о занимаемой оперативной памяти;
grep SwapTotal /proc/meminfo # Информация о размере SWAP раздела;
watch -n1 'cat /proc/interrupts' # Информация о всех прерываниях;
free -m # Информация о используемой и свободной ОЗУ и Swap-файле (-m указывает, что отображать нужно в Мб);
lshal # Вывод списка всех устройств и их параметров;
cat /proc/devices # Выводит все устройства в системе;
lspci -tv # Выводит все PCI-устройства;
lsusb -tv # Выводит все USB-устройства;
sudo dmidecode # Вывод информации о вашей версии BIOS;
gtf 1024 768 75 # Выводит строку ModeLine для Вашего монитора на параметрах экрана 1024x768x75Hz;
7. Команды Linux: жесткие диски и файловая система.
7.1 Информация о вашей файловой системе и жестких дисках
fdisk -l # Информация о всех подключенных жестких и сменных дисках;
sudo hdparm -I /dev/sda # Наиболее полная информация о ваших IDE/ATA жестких дисках;
smartctl -a /dev/sda1 # SMART-информация о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);
sudo blkid # Выводит UUID всех доступных накопителей в вашей системе;
7.2 Производительность вашего жесткого диска
sudo hdparm -tT /dev/sda # Показывает производительность вашего жесткого диска;
7.3 Монтирование разделов вашего жесткого диска
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;
8. Команды Linux: настройка сети.
8.1 Конфигурация сети
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);
8.2 Маршрутизация
route -n # Выводит на экран таблицу маршрутизации;
netstat -rn # Выводит на экран таблицу маршрутизации;
8.3 Управление портами (брандмауэр)
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 # Удаляет все цепочки;
8.4 Управление NAT
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;
9. Команды Linux: создание и запись ISO образов.
cdrecord -scanbus # Показывает все доступные CD-ROM;
dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc #Создание ISO образов с диска CD-ROM;
10. Команды Linux: пользователи и группы.
Команды Linux необходимые для работы с пользователями и группами пользователей.
id # Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);
finger fire # Показать информацию о пользователе fire;
last # Показывает последних зарегистрированных пользователей;
who # Показывает имя текущего пользователя и время входа;
useradd fire # Добавление нового пользователя fire;
groupadd ShkolaLinux # Добавление группы ShkolaLinux;
usermod -a -G ShkolaLinux fire # Добавляет пользователя fire в группу ShkolaLinux (для Debian-подобных дистрибутивов);
groupmod -A fire ShkolaLinux # Добавляет пользователя fire в группу ShkolaLinux (SuSE);
userdel fire # Удаление пользователя fire;
groupdel ShkolaLinux # Удаление группы ShkolaLinux;
11. Команды Linux: работа с процессами.
Все запущенные процессы имеют уникальные номера - PID.
ps axjf # Показать все загруженные процессы;
pgrep -l sshd # Показать PID определенного процесса – sshd;
echo $$ # Показать PID вашей оболочки;
fuser -va 22/tcp # Показать PID процесса использующий порт 22;
fuser -va /home # Показывает PID процесса имеющего доступ к /home;
lsof /home # Показывает список процессы, которые используют /home;
killall 0 httpd # Выводит на экран текущее состояние процесса httpd;
kil 4712 # «Убить» процесс с PID 4712;
sudo killall TERM 4712 # Посылает процессу с PID`ом 4712 сигнал TERM - завершить процесс;
sudo killall HUP httpd # Посылает процессу с именем httpd сигнал HUP - остановить процесс;
sudo fuser -k -TERM -m /home # “Убить” все процессы имеющие доступ к /home;
Важные сигналы посылаемые процессам:
1 - HUP остановить процесс
2 - INT прервать процесс
3 - QUIT выйти
9 - KILL “убить” процесс
15 - TERM завершить процесс
12. Команды Linux: Runlevels.
После загрузки ядра Linux начинают загружаться различные демоны и программы, такие как NetworkManager, Evolution и т. д., результат которых мы видим у себя после загрузки на рабочем столе. Загрузка каждой службы осуществляется скриптом. Все скрипты лежат в /etc/init.d.
Runlevels – это целое число, которое определяет “уровень загрузки”.
“Уровни загрузки” бывают:
Runlevels=0 Выключение компьютера;
Runlevels=1 режим Single-User;
Runlevels=2 Текстовый режим без поддержки сети;
Runlevels=3 Текстовый режим с поддержкой сети;
Runlevels=4;
Runlevels=5 Графический режим;
Runlevels=6 Перезагрузка компьютера.
То есть скрипты, которые должны загружаться только в текстовом режиме с поддержкой сети, имеют Runlevels равный 3.
Более простой вариант настройки:
sudo sysv-rc-conf #Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf);
Ручной вариант настройки:
chkconfig --list # Показывает список всех скриптов с соответствующими им Runlevels;
chkconfig --list udev # Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае udev;
sudo update-rc.d udev defaults # Выставление скрипту udev значений Runlevels по-умолчанию (для Debian-подобных дистрибутивов);
sudo chkconfig udev --level 35 on # Добавление скрипту udev Runlevels 3 и 5;
sudo update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6 # Изменить параметры для скрипта udev (для Debian-подобных дистрибутивов);
sudo chkconfig udev off # Отключение у udev всех Runlevels;
sudo update-rc.d -f udev remove # Отключение у udev всех Runlevel (для Debian-подобных дистрибутивов);
13. Команды Linux: Работа с ядром и модулями.
13.1 Работа с ядром системы
uname -a # Показать версию ядра Linux;
13.2 Работа с модулями ядра
lsmod # Список всех модулей загруженных в ядро;
sudo modprobe isdn # Загрузка модуля на примере isdn;
make # Создание сжатого образа ядра системы;
make modules # Компиляция модуля;
sudo make modules_install # Установка модуля;
sudo make install # Установка в ядро системы;
14. Команды Linux: работа с LiveCD.
sudo chroot /mnt # смена root-окружения на /mnt. После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
15. Команды Linux: конвертирование различной информации;
15.1 Конвертирование текста
iconv -l # Выводит список всех доступных кодировок;
iconv -f cp1251 -t UTF-8 -o file_cp1251.txt > file_utf8.txt # Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8;
15.2 Конвертирование PDF в JPEG
convert name.pdf name-%03d.jpg # Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick);
convert *.jpeg name.pdf # Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick);
15.3 Конвертирование видео
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
15.4 Конвертирование аудио
cdparanoia -B # Копирование треков с AudioCD в текущую директорию wav-файлами;
lame -b 256 in.wav out.mp3 # Конвертирование wav-файлов в mp3 с качеством 256 kb/s;
oggenc in.wav -b 256 out.ogg # Конвертирование wav-файлов в Ogg Vorbis с качеством 256 kb/s;
6. Команды Linux: печать на принтере.
export PRINTER=lbp2900 # Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;
lpr #2 name.txt # Распечатать на принтере Canon LBP-2900 две копии файла name.txt;
lprm - # Удаление всех задач с принтера по-умолчанию;
Некоторая информация взята здесь.
- 15/08/2013 08:08 - Обзор дистрибутивов Linux для нетбуков
- 06/09/2012 13:12 - Вышел комплект дистрибутивов для образовательных учреждений Информика 6.0 Школьный
- 28/07/2012 03:42 - Не хватает зла! Или всем на все пофиг!
- 28/05/2012 02:05 - Скоростное цветное сканирование Ricoh под Linux
- 25/01/2012 09:26 - Скачиваем и устанавливаем ОМС плеер в Ubuntu и других подобных дистрибутивах
- 13/01/2012 00:48 - Проблемы инновационного развития технического обеспечения образовательного процесса
- 05/01/2012 04:49 - Восстановление загрузчика Windows 7 после установки Ubuntu
- 30/12/2011 01:54 - Поздравляем с Новым 2012 годом!
- 30/12/2011 01:24 - Итоги конкурса журналистских материалов "Shkola-Linux.Ru"
- 20/12/2011 13:25 - Linux - настройка сети в командной строке