Воскресенье 25 февраля 2018

Начинаем работать в консоли...

Рано и поздно каждый пользователь Linux обращает свой светлый взор к консоли.
Что такое консоль и зачем это нужно?

Понятие «консоль», «терминал» - означает оконечное устройство (экран и клавиатура), пришедшее к нам из далекого прошлого, когда компьютеры занимали целые комнаты а то и здания.
В нашем случае это не совсем консоль а ее эмулятор, то есть программное эмулирование работы оконечного устройства ввода-вывода информации (далее просто терминал).

При помощи терминала пользователь может управлять системой, посылать системе команды и контролировать их выполнение, получать результаты ит.д.

Использование терминала очень часто вызывает панический страх у неопытных пользователей и пользователей, которые перешли с операционной системы Windows на Linux. Каждый здравомыслящий человек задает себе вопрос : « зачем вручную вводить сложные и непонятные команды, запоминать их, если можно просто расставить галочки при помощи мышки и нажать Enter, как в Windows ?»

На первый взгляд вполне все очень логично, ведь на дворе XXI век!

Работа в терминале, в простом текстовом режиме, хотя и выглядит по- «дедовски» в сравнении с работой в продвинутых графических интерфейсах современных операционных системах и прикладных программах, имеет много преимуществ но требует определенных знаний и навыков.
Дело в том, что при помощи одной команды в терминале можно выполнить задачу, на которую Вы бы потратили целый день а может и больше.

Приведу следующий пример:

В папке, на жестком диске, содержится 200 фотографий. Все фотографии были сделаны при помощи разных цифровых камер, с разными размерами «ширина»Х»высота»,с разными именами.
Задача состоит в том, чтобы привести все фотографии к размеру 800x600 с сохранением пропорций и дать всем новые имена с порядковым номером для последующего размещения в интернете или виртуальном альбоме в сети.
С такой задачей часто сталкиваются контент-менеджеры сайтов, фронт-пейдж менеджеры да и просто любители фото.

На решение такой задачи «классическим» методом при помощи мышки и графического редактора будет потрачено огромное количество времени и немыслемое количество жестов и движений мышкой.

При использовании терминала данная задача решается вводом лишь одной команды!
Все рутинные операции выполнит сама система, быстро, точно и без ошибок, а Вы можете в это время выпить чашечку кофе и выкурить сигару ...

Вот пример такой команды: convert -resize 800x600 *.jpg newsize.jpg

где newsize.jpg — имена переконвертированных файлов с порядковым номером после названия «newsize» , то есть файлы будут иметь вид :newsize1.jpg, newsize2.jpg, newsize3.jpg ….... newsize199.jpg

Таким образом, при помощи терминала мы можем сделать то, что в графическом интерфейсе не всегда возможно реализовать.
Этот пример очень ярко демонстрирует преимущества использования терминала и командной строки. Следует отметить тот факт, что работа «консольных» программ гораздо эффективнее классических программ с графическим интерфейсом, так как система не задействует графическую оболочку а полностью «сосредотачивается» на выполнении конкретной задачи, не растрачивая свои ограниченные ресурсы на «украшательства».

В интернете можно найти много информации по командам и о том как их использовать, достаточно в «Гугле» задать поиск фразы : «команды linux».

Изучить и запомнить все команды это задача не для человека! Для этих целей существует система помощи, которая вызывается командами «help», «man», «info» в самой командной строке терминала и освещение которых выходит за рамки этой статьи.

Постараюсь привести наиболее часто используемые мною в повседневной работе команды.

-команда выполняется от имени суперпользователя (sudo) если носит системный характер и затрагивает всю систему или системные файлы.

Управление системой и сведения :

Действие

Команда

Пример

Перезапуск системы

reboot

sudo reboot

Выключение системы

( через 5 минут, параметр +5)

shutdown

sudo shutdown -h +5

Выключение системы

poweroff

sudo poweroff

Перезапуск графической оболочки

service lightdm restart

sudo service lightdm restart

Дата и время

date

date

Вызов календаря

(12 месяц 2013 год)

cal

сal 12 2013

Вывести сведения о температуре центрального процессора и прочую служебную информацию от сенсоров материнской платы компьютера

sensors

sensors

Просмотр версии релиза операционной системы

lsb_release -a

lsb_release -a

Имя системы с подробными сведениями, дата компиляции ядра

uname -a

uname -a

Состояние оперативной памяти (в мегабайтах -m,

в гигабайтах -g)

free

free -m

free -g

Вывести список всех примонтированных дисков c подробностями

mount

mount

Вывести список всех примонтированных дисков и их степень использования

df -h

df -h

Узнать свое имя в терминале

whoami

whoami

Вывести информацию о всех запущенных процессах в системе

ps aux

ps aux

Вывести информацию о всех запущенных процессах в системе в виде дерева

pstree

pstree

Вывести информацию о процессах в "топе"

top

top

«Убить» процесс под номером 2456

Kill (PID процесса)

kill 2456

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

Действие

Команда

Пример

Перечень сетевых интерфейсов

ifconfig

ifconfig

Данные о IP адресе компьютеров в локальной сети, типе сети и MAC адресе сетевых карт компьютеров

arp

arp -a

Таблица маршрутизации хоста

route

route

Пинг хоста, проверка работоспособности

-c -количество запросов

-s -размер пакета

адрес хоста

ping

ping -c5 -s64 192.168.10.103

5 запросов по 64 байт

для IP адреса 192.168.10.103

Работа с файлами:

- символ «~» означает домашнюю папку, то есть cd ~ <=> cd ~/ <=> cd /home/user/

-некоторые действия над файлами требуют права суперпользователя (sudo)

Действие

Команда

Пример

Просмотр данных о файле/папке

stat

stat fileName/folderName

Сравнить два файла по содержанию

cmp

cmp fileName1 fileName2

Просмотр каталога с описанием файлов

ls

-l подробно о файлах

-a кратко о файлах

-al полная информация

-i сведения о INODE

ls, ls -l, ls -al, ls -a

ls /home/user/folderName

ls -a /home/user/folderName

ls -al /home/user/folderName

ls -i /home/user/folderName

Cоздать папку

mkdir

mkdir /home/user/folderName

Удалить папку(пустую)

rmdir

rmdir /home/user/folderName

Удалить папку/файл любую

rm -f

rm -f /home/user/folderName

Удалить папку/файл любую рекурсивно

rm -r

rm -r /home/user/folderName

Самая страшная команда

(молча укдалит ВСЕ !!!! )

rm -fr

rm -fr /home/user/folderName

Копировать файл/папку

Файл1 → Файл2

cp

cp FileName1 FileName2

Переместить/Переименовать

Файл/Папку

mv

mv /path/FileName1 /path/FileName2

Скопировать папку с содержимым (рекурсивно)

cp -r

cp -r FileName1 FileName2

Просмотр содержимого файла c возможностью пролистывания

less, more

less FileName

Просмотр содержимого файла

cat

cat fileName

Создать пустой файл

touch

touch fileName

Создать пустой файл

- > с перезапсыванием содержимого

- >> с дописыванием

echo

echo >filename

echo >>fileName

Найти файл

find [критерий поиска]

найти все файлы jpg

find /home/user/ -name *.jpg

Изменение размеров фотографий при помощи ImageMagic

convert

- изменить размер на 800х600

convert -resize 800x600 *.jpg newsize.jpg

Изменение размеров фотографий при помощи ImageMagic

convert

- изменить размер на 25%

convert -resize 25% *.jpg newsize.jpg

Права доступа к файлам:

Действие

Команда

Пример

Изменить права доступа к файлу/Папке

chmod

sudo chmod 0775 FileName

установить права 0775 на файл

Изменить владельца файла/Папке

chown

sudo chown user FileName

установить владельцем файла пользователя user

Данный список команд можно продолжать очень долго. Как уже было сказано, запомнить их все не представляется возможным, для этого была создана система помощи, которая всегда подскажет как использовать команду и ее синтаксис.
Для вызова справки необходимо просто набрать в терминале man ls -если хотим узнать больше о команде «ls» или help ls, info ls.
Вся информация представлена на английском языке (к сожалению :-)) ).

Для более глубокого изучения всех прелестей и преимуществ рекомендую к прочтению следующие статьи и ресурсы:
Cправочник по командам
Команды по работе с файлами

Поделиться информацией в социальных сетях:

Комментарии  

+1 #1 Женя 21.10.2013 13:25
Кратко и полезно. :-)
Цитировать