Команды в консоли linux. Основные команды Linux. Операции с файлами и не только

/usr/bin/lsb_release -ircd # Узнать версию дистрибутива Linux;

uname -a # Показать версию ядра Linux;

uname -m # Отобразить архитектуру компьютера;

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

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

shutdown # Выключение\перезагрузка. Примеры:
- shutdown -r now # Перезагрузка;
- shutdown -h 20:00 # Выключить питание в 20:00;
- shutdown -h now # Выключение;

init 0 # Выключение;

halt # Выключение;
logout # Выйти из системы; # Показывает log-файл загрузки ОС;
cat /proc/cpuinfo # Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.);
cat /proc/meminfo # Показать расширенную информацию о занимаемой оперативной памяти;

lshal # Показать список всех устройств и их параметров;
lspci -tv # Показать обнаруженные PCI-устройства;
lsusb -tv # Показать обнаруженные USB-устройства;
lsmod # Список всех модулей загруженных в ядро;
modprobe # Загрузка модулей в ядро, пример: # Пример смены root-окружения на /mnt: chroot /mnt . После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
ldd # Список библиотек, необходимых для конкретной программы. Вывести список библиотек, необходимых для работы ssh: ldd /usr/bin/ssh ;
whereis # Показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к конкретному файлу. Пример: whereis halt ;
crontab # Обеспечивает возможность выполнения определённых задач по расписанию. Подробнее по ссылке cron ;

swapoff # Отключение swap-разделов. Отключаем swap (данные перемещаются в оперативную память): swapoff -a ;

swapon # Включение swap-разделов. Включаем swap: swapon -a ;

date # Просмотр и изменение даты\времени. Примеры:

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

- date 041217002007.00 # Установить системные дату и время. Формат: ММДДЧЧммГГГГ.СС;

Файловые операции

pwd # Выводит текущий путь;
ls # Выводит список файлов и каталогов. Пример вывода форматированного списка всех файлов и директорий, включая скрытые: ls -laX ;
cd # Переход по директориям. Примеры:
- cd # Переход в домашнюю директорию;
- cd /home # Пример перехода в /home;
- cd .. # Переход в директорию уровнем выше;
- cd ~user # Перейти в домашнюю директорию пользователя user ;
touch # Создание пустого файла если нет. Пример: touch test.txt ;
rm # Удаление. Примеры:
- rm test.txt # Удаление файла;
- rm -rf temp # Удаление директории temp с вложенными файлами;
cp # Копирование. Примеры:
- cp test.txt /home/test.txt # Копирует test.txt из текущей директории в /home ;
- cp -la /dir1 /dir2 # Копирование директорий;
ln # Cоздание символической ссылки. Пример: ln -s /var/test.txt /home/test.txt - создать символическую ссылку к файлу /var/test.txt в директории /home;
mkdir # Создание директории. Пример: mkdir temp ;
rmdir # Удаление директории. Пример: rmdir temp ;
mv # Перемещение\Переименование. Пример переименования директории: mv /dir1 /dir2 (аналогично с файлами);
locate # Поиск. Пример поиска везде всех файлов с именем test.txt: locate test.txt ;
find # Поиск. Примеры:
- find /home/it -name test.txt # Найти файлы и директории с именем test.txt в /home/it и вложенных;
- find /home/it -name "*.txt" # Найти все файлы и директории в /home/it и вложенных, имена которых оканчиваются на ".txt";
- find /usr/bin -type f -atime +100 # Найти все файлы в "/usr/bin", время последнего обращения к которым более 100 дней;
- find /usr/bin -type f -mtime -10 # Найти все файлы в "/usr/bin", созданные или изменённые в течении последних 10 дней;
stat # Отображение всей доступной информации об указанном файле. Пример: stat test.txt ;
file # Определяет тип файла. Пример: file test.txt ;
chmod # Права доступа, подробнее по ссылке chmod ;
chown # Меняет владельца файла, пример: chown www:www test.txt ;
mc # Файловый менеджер ;

Архивация

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

Управление процессами

top # Диспетчер процессов;
ps # Показывает процессы. Примеры:

- ps axjf # Просмотр всех работающих процессов;

- ps -eF # Список процессов с полной строкой запуска;
- ps -U user # Cписок задач, порожденных пользователем user;
pgrep # Поиск процессов. Показать PID процесса sshd: pgrep -l sshd ;
lsof # lsof /home Показывает список процессов, которые используют /home;

fuser -m # Узнать, какой процесс занял устройство. Пример: fuser -m /mnt ;
kill # Убивает процесс. Примеры:

- kill 4712 «Убить» процесс с PID 4712:;

- kill -9 4712 # Принудительно завершает указанный процесс (выполнять если не помогает kill 4712 );

killall # Убивает процессы по имени. Примеры:

- killall x-www-browser # «Убить» процессы x-www-browser ;

- killall -u user # Завершить процессы, порожденные пользователем user;
nice # Позволяет отобразить или настроить приоритет задачи. Примеры:

- nice -4 mc # Запуск mc с приоритетом = текущий+4 ;

renice # Изменение приоритета процесса. Примеры:
- renice 4 -p 11597 # Установить значение приоритета для процесса mc (PID=11597) равным 4;

Оперативная память

free # Информация о состоянии памяти. free -m - показать состояние оперативной памяти в мегабайтах;
dmidecode # Информация о "железе". Информация о кол-ве разъемов оперативной памяти, и вставленных модулях: dmidecode --type 17 . Подробнее о dmidecode по ссылке dmidecode ;

Жесткий диск

du # Информация о размере директории. du -sh /home/it/ выводит на экран размер директории /home/it/ ;
fdisk # Информация о разделах жестких дисков. Информация о всех подключенных жестких и сменных дисках: fdisk -l . Подробнее: fdisk ;
blkid # Выводит UUID всех доступных накопителей информации в системе;
df # Показывает размер свободного места на разделах. Пример: df -h ;
mount # Монтирование. Примеры:
- mount # Показывает полную информацию о примонтированных устройствах;
- mount /dev/sda1 /mnt # Монтирует раздел /dev/sda1 к точке монтирования /mnt;
- umount /mnt # Отмонтирует раздел от точки монтирования /mnt;
badblocks # Проверка на бэд-блоки. badblocks -v /dev/sda1 проверить раздел sda1 на наличие bad-блоков;
fsck # Проверка файловой системы. fsck /dev/sda1 - проверить/восстановить целостность linux-файловой системы раздела sda1;
mkfs # Форматирование, подробнее по ссылке mkfs ;
smartctl # Проверка SMART. smartctl -A /dev/hda - контроль состояния жёсткого диска /dev/hda через SMART, подробнее по ссылке smart ;

hdparm # Информация о жестких дисках, Примеры:
- hdparm -I /dev/sda # Информация о диске /dev/sda ;
- hdparm -tT /dev/sda # Показывает производительность жесткого диска;

Сеть

ping # Пинг. Пропинговать ya.ru и вывести результат: ping ya.ru ;
ifconfig # Утилита настройки сети. Примеры:
- ifconfig # Показать параметры всех активных сетевых интерфейсов;
- ifconfig -a # Показать все сетевые интерфейсы;
- ifconfig eth0 up # Запустить сетевой интерфейс eth0;
- ifconfig eth0 down # Отключить сетевой интерфейс eth0;
- ifconfig eth0 hw ether 00:01:02:03:04:05 # Смена MAC адреса;
- ifconfig eth0 192.168.1.1 netmask 255.255.255.0 # Выставить интерфейсу eth0 IP-адрес и маску подсети;

- ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 # Задать дополнительный IP адрес сетевому интерфейсу eth0;
iwlist scan # просканировать эфир на предмет, доступности беспроводных точек доступа;
iwconfig # Утилита настройки беспроводных сетевых интерфейсов.
- iwconfig wlan0 # Показать конфигурацию беспроводного сетевого интерфейса wlan0;
- iwconfig wlan0 mode ad-hoc # Указываем тип сети - ad-hoc;
- iwconfig wlan0 channel 2 # Указываем частотный канал;
- iwconfig wlan0 essid inet # Указываем имя сети. Подробнее о настройке раздачи интернета по wi-fi здесь: iwconfig ;
route # Настройка маршрутов. Примеры:
- route -n # Выводит на экран таблицу маршрутизации;
- route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 # добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1 (для удаления меняем add на del);
netstat # Текущие сетевые соединения. Пример:

- netstat -tup # Отобразить активные сетевые соединения: ;

- netstat -an | grep LISTEN # Показывает список всех открытых портов;
- netstat -anp -udp -tcp | grep LISTEN # Посмотреть список приложений, которые открывают порты;
ethtool # Информация о текущем режиме сетевого соединения и поддерживаемых. Примеры:

- ethtool eth0 отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения;
- ethtool -s eth0 speed 100 duplex full autoneg off # Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;
tcpdump # Утилита сканирования сетевого трафика. Пример: tcpdump tcp port 80 отобразить весь трафик на TCP-порт 80;
iptables # Утилита настройки файервола;
ssh # Подключение к удаленному компьютеру по ssh. Пример: ssh 10.10.10.4 . Подробнее: ssh ;
wget # Утилита закачки. wget -c http://www.example.com/file.iso загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии;

whois # Узнать информацию о домене, пример: whois сайт ;

dig # Проверка доменных имён. Примеры по ссылке: dig ;

Текст

Печать

lpstat # Просмотр списка принтеров. Получить список всех доступных принтеров lpstat -a ;
lp # Команда отправки на печать. Подробнее: ;
lpr # Команда отправки на печать. Пример: lpr -P Kyocera_Kyocera_FS-4020DN test.txt ;

lprm - # Удаление очереди печати;

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

id # Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);

adduser # Добавление нового пользователя. Пример добавления пользователя it: adduser it ;

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

groupadd # Добавление новой группы. Пример: groupadd ITgr ;

usermod # Изменения настроек пользователя. usermod -a -G ITgr it добавляет пользователя it в группу ITgr;

userdel # Удаление пользователя. Пример: userdel it ;

groupdel # Удаление группы. Пример: groupdel ITgr ;

users # Отображает краткий список пользователей работающих в системе в данный момент;

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

last # Отобразить регистрации пользователей в системе;

Разное

watch # Каждые n-секунд команда watch запускает нужную комаду. Пример: watch -n 5 "cat /proc/loadavg" Каждые пять секунд будет выводится результат команды просмотра средней загруженности компьютера;

screen # Оконный менеджер. Подробнее по ссылке: screen ;
dc # Калькулятор;
cal # Календарь. Примеры:
- cal -3 # Покажет предыдущий, текущий и последующий месяц;
- cal 2015 # Календарь 2015-го года;
sleep # Задержка на указанный промежуток времени, в примере 10 сек: sleep 10 ;
history # Показывает пронумерованный список команд, которые выполняли в этом и предыдущем сеансе;

script # Cоздать журнал своей консольной сессии. Сохраняется все что вводили, и все, что выдавалось на экран. Пример: script history.txt . Чтобы прекратить запись, введите exit ;

which # Отобразить полный путь исполняемого файла, например which ifconfig ;

wall # Вывести сообщение на все терминалы пользователей, пример: wall hello ;

reset # Сбросить настройки терминала и очистить его;

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

beep # Воспроизвести звуковой сигнал;

Справка

man # Справка;
man ls # Справка по команде ls;

* Для некоторых команд нужны полные права;

** Для некоторых команд требуется установка дополнительного программного обеспечения.

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


Вообще, консольных утилит существует превеликое множество, но здесь мы вкратце, в качестве примера, рассмотрим лишь две из них, но очень важные и часто используемые. Утилита Apt-get , предназначенная для работы с программными пакетами. Для тех же, кто совершенно не признает консоль, может воспользоваться замечательной графической оболочкой для Apt-get , под названием Synaptic (имеется в официальном репозитории).

Как пользоваться утилитой?

//основная формула

sudo apt-get команда

//в качестве примера обновим все пакеты

sudo apt-get upgrade


Основные команды apt-get при работе с пакетами.

apt-get update //обновление информации о пакетах из репозитариев
apt-get upgrade //обновление всех пакетов
apt-get dist-upgrade //обновление системы в целом
apt-get clean //чистит локальное хранилище, кроме файлов кэша
apt-get autoclean //тоже, что и clean , с удален. кэш-файлов
apt-get check //обновляет кэш и провер. неудовл. зависимости
apt-get autoremove //удаление ранее скачаных, но ненужных пакетов
apt-get remove //удаление пакета с сохран. конфигурац. файлов
apt-get purge //удаление пакета со всеми зависимостями
apt-get install //установка пакета
apt-get build-dep //устанавл. все для сборки исходных пакетов
apt-get source //скачивает пакеты с исходниками


Параметры:

-h, --help //справка
-q, --quiet //скрыть индикатор процесса
-qq //не показывать ничего кроме ошибок
-d, --download-only //только получить пакеты и выйти
-s, --simulate //выполнить симуляцию событий
-y, --yes //автом. отвечать "Да" на все вопросы
--reinstall //переустановить пакеты
-f, --fix-broken //исправить нарушенные зависимости
-m, --ignore-missing //игнорировать отсутствующие пакеты
-u, --show-upgraded //показать обновленные пакеты
--no-upgrade //не производить обновления пакетов
-b, --compile, --build //собрать пакет после получения
-D //при удалении, удалить зависящие компоненты
-V //подробно показывать номера версий пакетов
--no-remove //если пакеты отмеч. к удален., то apt-get выкл.
--force-yes //принудительное выполнение заданной операции


Прикол.

apt-get moo

Должны увидеть корову, которая спрашивает: "Вы мычали сегодня?"

Утилита "aptitude".

Рассмотрим еще одну очень хорошую утилиту под названием "aptitude ", фактически это тоже самое, что и "apt-get ", но считается лучше, а также имеет псевдо-графический интерфейс. Принцип работы точно такой же, только вместо "apt-get ", нужно вводить значение "aptitude ". Сначала установим саму утилиту:

sudo apt-get aptitude

Теперь, если набрать: aptitude , то попадете в интерфейс программы.

Рассмотрим некоторые команды:

// Установка пакета.

sudo aptitude пакет1 пакет2 пакет3

Как видите, устанавливать можно сразу неограниченное количество пакетов одновременно. Сколько бы вы их не устанавливали, aptitude автоматически разрешит все зависимости, вам останется только согласится (y) и нажать(enter) . Так же, по аналогии можно удалять пакеты:

sudo aptitude remove имя_пакета1
или
sudo aptitude purge имя_пакета1

Первая команда удаляет только файлы пакета, не трогая настройки, вторая удаляет полностью все. Посмотреть описание пакета можно так:

aptitude show имя_пакета

Вообщем, эта утилита абсолютный аналог "apt-get ", но при установке и удалении пакетов, желательно использовать ее, нежели "apt-get ". Во всяком случае, на официальном сайте Ubuntu дают именно такие рекомендации.

Другие команды консоли.

Список команд, относящихся к информации.

hostname //сетевое имя машины
whoami //имя текущего пользователя
uname -m //покажет архитектуру машины
uname -r //версия ядра
sudo dmidecode -q //информ. об аппарат. обеспечении системы
cat /proc/cpuinfo //информация о процессоре
cat /proc/interrupts //прерывания
cat /proc/meminfo //вся информация о памяти
cat /proc/swaps //вся информация про swap
cat /proc/version //версия ядра и другая информация
cat /proc/net/dev //сетевые интерфейсы и статистика
cat /proc/mounts //смонтированные устройства
cat /proc/partitions //доступные разделы
cat /proc/modules //загруженные модули ядра
lspci -tv //PCI устройства
lsusb -tv //USB устройства
date //текущая дата
cal //календарь и текущий месяц
cal 2012 //покажет весь 201х год


Команды, относящиеся к процессам перезагрузки и выключения.

shutdown -h now //выключить систему
init 0 //выключить систему
telinit 0 //выключить систему
shutdown -h hours:minutes & //запланировать выключение системы
shutdown -c //отменить запланированное выключение
shutdown -r now //перезагрузить систему
reboot //перезагрузить систему
logout //завершить сессию


Операции с файлами и не только...

cd /home //перейти в домашний каталог
cd .. //перейти на уровень выше
cd ../.. //перейти на 2 уровня выше
cd - //перейти в предыдущий каталог
pwd //показать путь к текущей директории
ls
ls -F //показать файлы и директории
ls -l //показ. подробности о файлах, директориях
ls -a //показать скрытые файлы
mkdir dir1 //создать директорию с именем dir1
mkdir dir1 dir2 //создать директории dir1 и dir2
mkdir -p /tmp/dir1/dir2 //создать директорию в указанном месте
rm -f file1 //удалить файл с именем file1
rmdir dir1 //удалить директорию с именем dir1
rm -rf dir1 //удалит директорию dir1 и всё её содержимое
rm -rf dir1 dir2 //удалить директории dir1 \dir2 и содержимое
mv dir1 new_dir //переименовать / переместить директорию
cp //копирование файлов/папок
ln -s //cоздать символическую ссылку
chmod //присвоение прав файлам
find / -user user1 //искать файлы, директ. с user1 find /home/user1 -name \*.bin //искать файлы .bin в / home / user1 find /usr/bin -type f -atime +100 //иск. бин. файлы, незап. 100 дн. find /usr/bin -type f -mtime -10 //иск. файлы созд./изм. за 10 дн. find / -name \*.deb -exec chmod 755 "{}" \; //иск. файлы (.deb) и измен. права locate \*.ps //найти файлы с расширением .ps whereis halt //показать путь к программе halt which halt //показ. полн. путь к програм. halt


На первый взгляд, все это может выглядеть несколько устрашающе, но это только на первый взгляд. Не стоит сразу бросаться в панику и сразу же, возвращаться к Windows (у). Современные дистрибутивы Linux , а Ubuntu в особенности, вполне позволяет вам обходиться без командной строки. Тем не менее, командная строка, в отдельных случаях намного бывает удобней, чем графический интерфейс. Также, совсем необязательно заучивать все эти команды наизусть, достаточно будет создать текстовый файл, скопировать в него все содержимое и держать его поблизости, как шпаргалку, которой при необходимости можно воспользоваться.

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

Whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep:searchd #процессы с пояснением параметров сверху netstat -lnp | grep:9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Здесь я только в кратце опишу основные команды. Про большинство команд можно узнать подробнее в интерактивном режиме, обратившись к справочной системе Linux с помощью команды man. Чтобы легче запомнить, от слова man ual:

Man <имя изучаемой команды>

Для выполнение некоторых команд, например задание прав доступа на системные файлы и многое другое, нужны права суперпользователя . Что бы выполнить команду от имени суперпользователя , нужно перед названием команды написать sudo (например: sudo service nginx restart). В некоторых debian системах, sudo может не быть установлен по умолчанию (но его можно установить apt-get install sudo). Для установки sudo нужно авторизоваться по root `ом:

На запрос пароля нужно ввести пароль суперпользователя. После чего любая команда будет выполняться от суперпользователя root.

Eugene@PCname:~$ su - Пароль: root@PCname:~# <команда, которая выполнится от имени root>

Общие команды Linux

Тут представлен список полезных команд, которые не вошли в другие разделы.

Sudo shutdown -h now #выключить компьютер сейчас sudo shutdown -h 90 #выключить компьютер через 90 мин. sudo reboot #перезагрузить компьютер wget --convert-links -r http://www.linux.org/ #копирование сайта целиком и конвертирование ссылок для автономной работы #копирование происходит на 5 уровней в глубину!! #выполнить последнюю выполненную команду history | tail -50 #показать последние 50 набранных команд passwd #меняет пароль текущего пользователя cal -3 #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь)

Работа с файлами и директориями Linux

ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd [каталог] #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www*index.php #найти все файлы с названием, заканчивающимся на index.php #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R - рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла

Команды Linux, дающие информацию о системе

whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep:searchd #процессы с пояснением параметров сверху netstat -lnp | grep:9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено

PID to kill:

нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.

Работа с архивами Linux

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 xf primer.tar #распаковать архив primer.tar в текущую папку tar xzf primer.tar.gz #распаковать tar-архив с Gzip tar xjf primer.tar.bz #распаковать tar-архив с Bzip2

Примеры поиска текста и файлов в Linux

grep -rl "что_ищем" /путь #искать файлы рекурсивно с текстом #"что_ищем" по пути "/путь" less ~/Документы/http.txt | grep -A 2 "skype" #поиск по файлу ~/Документы/http.txt, #выведет строку совпадения + 2 следующие строки tail -f -n100 ~/logs/php-error.log #очень удобная фича для прочтения логов #в реальном времени выводит 100 последних строк файла find . -name "*.php" -mtime -1 -print #рекурсивный поиск файлов по паттерну (маске) "*.php" #которые изменялись за последние сутки find /var/www/ -mtime -10 #поиск файлов которые были изменены за последние 10 дней find /var/www/ -mtime -10 > filename.txt #записать вывод в файл find . -perm 777 | xargs rm #найти все файлы с правами 777 и удалить их find . -name cache | xargs chmod -R 777 #найти каталог cache и задать ему права 777

Выполнить куски кода в командной строке (php, python):

Php -r "var_dump(strlen("hello"));" python -c "print("hello");"

Это неполный список команд, которые уже очень пригодились мне. По мере изучения linux пост будет пополняться другими командами.

Операционная система Linux очень нравится программистам и любителям «поковыряться», потому что в ней предусмотрено активное использование консоли, содержащей сотни команд. Мы с вами уже разобрали и конечно же после этого надо изучить основные команды в консоли, этим мы сегодня и займемся.

С помощью команд для консоли пользователь может оперативно совершать массу действий: открытие, перемещение и копирование файлов, просмотр различной информации и статистики, мониторинг и отладка, получение подробной информации о системе, видоизменение программной и визуальной части системы и многое другое.

Помните, что для полноценной работы с консолью вам нужны права администратора. Ниже представлен список основных команд в консоли Linux и их расшифровка.

Системная информация:

arch или uname -m - отобразить архитектуру компьютера
uname -r - отобразить используемую версию ядра
dmidecode -q - показать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hda - вывести характеристики жёсткого диска
hdparm -tT /dev/sda - протестировать производительность чтения данных с жёсткого диска
cat /proc/cpuinfo - отобразить информацию о процессоре
cat /proc/interrupts - показать прерывания
cat /proc/meminfo - проверить использование памяти
cat /proc/swaps - показать файл(ы) подкачки
cat /proc/version - вывести версию ядра
cat /proc/net/dev - показать сетевые интерфейсы и статистику по ним
cat /proc/mounts - отобразить смонтированные файловые системы
lspci -tv - показать в виде дерева PCI устройства
lsusb -tv - показать в виде дерева USB устройства
date - вывести системную дату
date 041217002007.00* - установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w - сохранить системное время в BIOS

Остановка системы:

shutdown -h now или init 0 или telinit 0 - остановить систему
shutdown -h hours:minutes & - запланировать остановку системы на указанное время
shutdown -c - отменить запланированную по расписанию остановку системы
shutdown -r now или reboot - перегрузить систему
logout - выйти из системы

Работа с сетью:

ssh - обеспечивает безопасное вхождение в удаленный сеанс работы с другой машиной, а также позволяет выполнить заданную команду на удаленной машине без вхождения в сеанс работы.
scp - обеспечивает безопасное копирование файлов в сети.
telnet <имя_удаленной_машины> - связаться по telnet с другой машиной. Войдите в сеанс работы после установления связи с помощью вашего пароля.
ftp <имя_удаленной_машины> - связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
hostname -i - показывает IP адрес компьютера, на котором Вы работаете.

Немного команд администрирования:

alias ls=»ls -Fskb -color» - создать alias-псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд.
kapasswd - команда для изменения пароля для доступа к файловой системе AFS. При работе на базовом Linux-кластере ЛИТ следует пользоваться только этой командой для изменения пароля для вхождения в кластер.
passwd - изменить свой пароль на каком-либо локальном компьютере.
chmod <права доступа> <файл> - изменить права доступа к файлу, владельцем которого вы являетесь.
chown <новый_владелец> <файлы> - изменить владельца файлов.
chgrp <новая_группа> <файлы> - изменить группу для файла.

Файлы и директории:

cd /home - перейти в директорию ‘/home’
cd .. - перейти в директорию уровнем выше
cd ../.. - перейти в директорию двумя уровнями выше
cd - перейти в домашнюю директорию
cd ~user - перейти в домашнюю директорию пользователя user
cd – - перейти в директорию, в которой находились до перехода в текущую директорию
pwd - показать текущую директорию
ls - отобразить содержимое текущей директории
ls -F - отобразить содержимое текущей директории с добавлением к именам символов
ls -l - показать детализированное представление файлов и директорий в текущей директории
ls -a - показать скрытые файлы и директории в текущей директории
ls ** - показать файлы и директории содержащие в имени цифры
tree или lstree - показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 - создать директорию с именем ‘dir1’
mkdir dir1 dir2 - создать две директории одновременно
mkdir -p /tmp/dir1/dir2 - создать дерево директорий
rm -f file1 - удалить файл с именем ‘file1’
rmdir dir1 - удалить директорию с именем ‘dir1’
rm -rf dir1 - удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2 - удалить две директории и рекурсивно их содержимое
mv dir1 new_dir - переименовать или переместить файл или директорию
cp file1 file2 - скопировать файл file1 в файл file2
cp dir/* . - копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . - копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 - копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* - создать символическую ссылку на файл или директорию
ln file1 lnk1 - создать «жёсткую» (физическую) ссылку на файл или директорию

Контроль процессов:

ps axu | grep <Ваше_имя_пользователя> - отобразить все процессы, запущенные в системе от имени пользователя
kill - «убить» процесс. Для начала определите PID Вашего «убиваемого» процесса при помощи ps
killall <имя_программы> – «убить» все процессы по имени программы
xkill (в терминале X window) - «убить» процесс, на окно которого укажите курсором

Встроенные в Linux программные утилиты и языки:

emacs (в X терминале) - редактор emacs. Очень многофункционален, но весьма сложен для неопытных пользователей
gcc - GNU C компилятор
g++ - GNU C++ компилятор
perl - очень мощный скриптовый язык. Чрезвычайно гибкий, но с довольно сложным синтаксисом. Очень популярен среди продвинутых пользователей.
python - современный и довольно элегантный объектно-ориентированный интерпретатор
g77 - GNU FORTRAN компилятор
f2c - перекодировщик из FORTRAN в C
fort77 - компилятор FORTRAN. Выполняет f2c, а затем использует gcc или g++
grep - поиск фрагмента текста в файлах, удовлетворяющего набранной маске. Маска определяется с помощью стандартной системы обозначений, называемой «регулярные выражения»
tr - translation utility (замена букв в текстовом файле)
gawk - GNU awk (используется для обработки форматированных текстовых файлов)
sed - утилита для обработки текстовых файлов.