Школа Linux

Ищи, здесь еще очень много интересного:


Команды Linux

Мне давным давно хотелось создать справочник команд линукс. Наконец я все таки сделал это. В этой публикации мне хотелось как то систематизировать команды 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 - # Удаление всех задач с принтера по-умолчанию;

 

Некоторая информация взята здесь.



Newer news items:
Older news items:

 

Авторизация



Наши друзья

Теги