sonyps4.ru

Команды консоли в linux. Команды Linux

Современные пользователи персональных компьютеров привыкли к графическому интерфейсу. Однако иногда приходится использовать интерфейс командной строки, то есть вводить определенные команды вручную. Например, в случае отсутствия графической оболочки, при восстановлении и настройке системы и т. д. Более того, с помощью командной строки некоторые действия выполнять быстрее и удобнее, чем с помощью привычного графического интерфейса.

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

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

Чтобы получить доступ к консоли, находясь в графическом режиме, нужно нажать комбинацию клавиш Ctrl+Alt+F1 . Далее нужно будет ввести логин и пароль, как при загрузке системы. Можно открыть несколько консолей, с помощью комбинаций клавиш Ctrl+Alt+F2 , Ctrl+Alt+F3 и т.д. (до F6) и запускать в них различные программы одновременно. Для возврата в графическое окружение нужно нажать Alt+F7 , при этом консоли остаются открытыми и программы, запущенные в них, будут продолжают работать.

Рис. 1. Эмулятор терминала Konsole

Команды в Linux состоят из нескольких частей: собственно самой команды, ключей (опций) и параметров, которые могут быть обязательными и необязательными. Например, в команде ls -la /var/www (далее команды будем выделять жирным шрифтом): ls - это команда, la - это ключи, которые чаще всего отделяются знаком минус «-», а параметром в данном случае является каталог /var/www. Ключи бывают короткие и длинные: короткие состоят из одной буквы и отделяются одним минусом «-», длинные ключи отделяются двумя минусами «--». Короткие ключи можно объединять в один, например команды ls -l -a -t -r и ls -latr идентичны. Наиболее популярные длинные ключи: --help и --version. Набрав ключ --help после любой команды (например ls --help), мы получим краткую справку о ней. Ключ --version служит для вывода версии программы.

Обратите внимание, что команды, ключи, имена файлов в Linux зависят от регистра. То есть, LS и ls - это разные команды, если вместо ls набрать LS , то эффект будет неожиданным. Длинные команды удобно набирать, используя клавишу «Tab», которая служит для автодополнения, достаточно набрать первые буквы из названия команды и нажать эту клавишу. Если есть несколько команд, которые начинаются с введенных символов, то они отобразятся на экране, в этом случае нужно набрать еще один или несколько символов и опять нажать «Tab». Аналогично клавиша «Tab» может быть использована для быстрого набора параметров, имен длинных файлов и т.д. C помощью курсорных клавиш можно просматривать и редактировать уже введенные команды.

Также можно использовать следующие сочетания клавиш:

Ctrl+C - прервать работу программы (обратите внимание, что в графическом окружении эта же комбинация клавиш используются для копирования).

Ctrl+Shift+C - скопировать выделенную информацию в буфер, для выделения можно использовать мышь.

Ctrl+Shift+V - вставить информацию из буфера. Для вставки текста также удобно использовать среднюю кнопку мыши (колесо прокрутки), предварительно выделив текст.

Ctrl+S - приостановить вывод на терминал.

Ctrl+Q - возобновить вывод на терминал. Хотя обычно для этого можно использовать любую клавишу. Иногда помогает если терминал «завис».

Ctrl+Z - остановить работу программы. Для продолжения нужно набрать команду fg (либо bg для продолжения работы программы в фоновом режиме).

Ctrl+D - выход из терминала, закрытие консоли, разрыв соединения с удаленным компьютером.

Теперь перейдем непосредственно к рассмотрению команд Linux.

Информационные команды

man команда - выводит подробную информацию о команде Linux, ключах и т.д. Например: man date .

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

date - выводит текущую дату и время.

uname -a - выводит информацию о системе.

who - выдает список пользователей, которые сейчас находятся в системе. Не стоит пугаться, если будет найдено несколько пользователей на персональном компьютере, это вовсе не означает, что его взломали хакеры. Обратите внимание на их имена. Каждый открытый терминал, включая графический, система считает отдельным пользователем.

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

free - вывод информации об оперативной памяти.

top - выводит информацию о процессах, о загрузке процессора, о распределении памяти.

df -h - выводит информацию о жестких дисках.

uptime - отображает время работы системы, количество пользователей, загрузку процессора.

pwd - показывает текущий каталог.

time - измеряет время работы программы, например time ls .

echo - выводит строку текста на стандартное устройство вывода. echo Привет - выведет слово «Привет», echo * - отобразит список файлов текущей директории. echo $ - выведет сумму чисел 2 и 3.

Команды для работы с файлами

ls - выводит список файлов в текущем каталоге. Чтобы отобразить список файлов в любом каталоге, нужно набрать путь к каталогу после команды, например: ls /usr/bin . Некоторые ключи команды ls:

A - показать скрытые файлы;

S - указать размер файлов в блоках;

T - сортировка по времени модификации файлов, сначала новые файлы;

X - сортировка по расширению названия файлов, файлы без расширения выводятся вначале;

L - расширенный формат вывода: показывает атрибуты, владельцев и группу файлов, размер, дату и время их создания;

R - изменить порядок сортировки на обратный. Например, команда

ls -lat /etc выведет содержимое каталога /etc в расширенном виде и с сортировкой по времени создания файлов.

cp - копирование файлов. cp doc1 doc2 - создаст копию файла doc1 под именем doc2.

rm - удаление файлов. rm doc - удалит файл doc. rm * - удалит все файлы в текущем каталоге. rm *doc - удалит все файлы, которые заканчиваются на doc. Ключ -i используется для подтверждения удаления каждого файла, ключ -r для удаления каталогов и файлов внутри этих каталогов.

rmdir - удаление директории. rmdir alex - удалит каталог alex.

Нужно быть очень осторожным с командами rm и rmdir , особенно в режиме суперпользователя, поскольку можно удалить не только свои, но и системные файлы, что может привести к краху системы.

pwd - вывод текущей директории.

mkdir - создание новой директории. mkdir alex - создаст каталог alex.

mv - перемещение или переименование файлов. mv new old - переименует файл new в old.

cat - соединение файлов или вывод файлов на стандартное устройство вывода. cat doc - выведет файл doc.

cat /proc/cpuinfo - выдаст подробную информацию о процессоре, cat /proc/version - о версии ядра Linux.

touch - создание пустого файла.

touch doc - создаст файл doc. find - поиск файлов. find / -name "doc*" - найдет все файлы, которые начинаются с doc.

tar - программа для работы с архивами. tar -zxvf file.tar.gz - распакует архив file.tar.gz. tar -cvf my.tar myfile - заархивирует файл myfile, создав архив my.tar.

more - вывод файлов с остановкой для просмотра, в отличие от cat, который выводит весь файл сразу. Можно прокручивать текст построчно, с помощью клавиши ввода или постранично с помощью пробела.

less - программа для просмотра файлов аналогичная more , но позволяет прокручивать текст вверх и управлять с помощью курсорных клавиш.

nano - простой полноэкранный текстовый редактор. Рекомендуется для новичков, поскольку содержит минимум функций и основные команды отображаются на экране.

vi - довольно мощный текстовый редактор, но он имеет свою нестандартную систему команд, поэтому требует время на освоение.

mc (Midnight Commander) - мощный файловый менеджер, аналог Norton Commander для DOS или FAR для Windows. Позволяет удалять, копировать, переименовывать, просматривать, редактировать файлы, менять их атрибуты и т. д. Midnight Commander обычно не входит в стандартный набор системных программ, поэтому его нужно устанавливать отдельно. Но он настоятельно рекомендуется к использованию, поскольку сильно упрощает работу с файлами.

Установка и удаление программ

Для установки и удаления программ используются различные утилиты, в зависимости от версии дистрибутива Linux. В основанных на Debian дистрибутивах (Ubuntu, Linux Mint и т. д.) для этой цели используются команды apt-get или aptitude . Первый вариант упрощенный, второй имеет большую функциональность. Некоторые действия, например, установку и удаление, нужно выполнять от root, либо использовать команду sudo .

sudo apt-get update - получение нового списка пакетов.

sudo apt-get upgrade - обновить программы, перед этим нужно обновить список пакетов, выполнив предыдущую команду. Обе команды желательно выполнять периодически (часто это делается автоматически), а также перед установкой новых программ.

sudo apt-get install mc - установка программы mc.

sudo apt-get remove mc - удаление программы mc. В дистрибутивах, основанных на Red Hat, где используются RPM-пакеты, часто используют менеджер yum .

yum update - обновление системы.

yum install mc - установка программы mc.

yum remove mc - удаление программы mc. Есть и другие пакетные менеджеры и варианты установки программного обеспечения.

Сетевые команды и работа с удаленными компьютерами

ping - проверка связи с определенным адресом в сети. ping google.com - проверка доступности сайта google.com, также можно использовать IP-адрес: ping 192.168.1.5 . Если ответа нет, то это не означает на 100%, что нет связи, иногда работу этой команды блокируют в сети.

traceroute - показывает маршрут прохождения трафика. Например: traceroute google.com . Позволяет определить, на каком участке сети возникают проблемы.

telnet - подключение к удаленному компьютеру. Дает возможность выполнять команды на другом компьютере. В основном используется во внутренней сети, поскольку трафик не шифруется. Пример: telnet 192.168.1.1 .

ssh - подключение к удаленному компьютеру по шифрованному каналу. ssh - подключение к серверу site.com пользователя alex. Для подключения через нестандартный порт используется ключ -p, например

ssh -p 12345 - подключение к серверу 111.222.123.123 пользователя root через порт 12345.

ftp - подключение к удаленному компьютеру по протоколу передачи файлов. ftp site.com - подключение к серверу site.com.

sftp - команда аналогична ftp, но соединение происходит по шифрованному протоколу.

route -n - показывает таблицу маршрутизации.

ifconfig - информация о сетевых соединениях и их настройка.

hostname - отображает или изменяет сетевое имя компьютера.

whois сайт или IP-адрес - выводит информацию о домене, владельце доменного имени или IP-адреса, например whois google.com или whois 8.8.8.8 .

dig - выводит информацию о DNS, например dig google.com . Можно обратиться к любому DNS-серверу, указав его следующим образом: dig @8.8.8.8 google.com . Для получения информации с DNS-сервера можно также воспользоваться программами host и nslookup , указав после них доменное имя или IP-адрес, но эти утилиты имеют урезанную функциональность, по сравнению с dig .

wget - программа для загрузки файлов, страниц, сайтов из интернета. wget http://site.com - загрузить главную страницу site.com. wget -r -l 10 -k http://site.com - загрузит сайт полностью.

lynx , links , links2 (3 отдельные команды) - текстовые браузеры, позволяют просматривать сайты прямо из консоли.

Команды администрирования

su - смена пользователя. su alex - сменит пользователя на alex. Набрав su без параметров, вы получите права суперпользователя (root), при этом символ подсказки $ сменится на # .

В этом режиме не стоит находиться постоянно, а лучше вообще его не использовать, а пользоваться командой sudo .

Для выхода из сессии и возврата к предыдущему пользователю нужно набрать exit .

sudo - позволяет выполнять другие программы с правами суперпользователя, набирается перед другой командой, например

sudo rm file - удалит файл, созданный любым пользователем.

sudo -i или sudo -s - аналоги команды su .

Использовать команду sudo нужно также очень внимательно и только в случае необходимости.

passwd - смена пароля текущего пользователя. passwd alex - смена пароля пользователя alex.

adduser или useradd - добавить нового пользователя. adduser katya - добавит пользователя katya. После набора команды нужно ввести пароль. Для выполнения команды нужно быть суперпользователем.

userdel - удалить пользователя. userdel vasya - удалит пользователя vasya.

groupadd - создание новой группы. groupadd students - создаст группу students.

groupdel - удаление группы. groupdel students - удалит группу students.

chmod - изменить права доступа файла или каталога. chmod 644 file - установит права 644 на файл. chmod +x file - даст файлу права на выполнение.

chown - изменить хозяина файла. chown alex file - в результате выполнения этой команды хозяином файла станет alex.

chgrp - изменение группы файла. chgrp students laba1 - смена группы файла laba1 на students.

Команды для работы с процессами

ps - вывести список процессов. ps axu - посмотреть все процессы. ps axu | grep win - отобразить все процессы, где встречаются символы «win».

kill - убить программу, после команды указывается номер программы (идентификатор процесса - PID), который можно узнать с помощью команды ps. Пример: kill 1234 .

killall команда - завершает все процессы, запущенные с помощью указанной команды.

bg - продолжить работу программы в фоновом режиме, например после комбинации клавиш Ctrl+Z . После команды может быть указан PID:

bg 1234 .fg - продолжить выполнение программы в обычном режиме, также может быть указан PID.

Прочие команды Linux и языки программирования

Некоторые команды из этого списка могут отсутствовать в стандартных дистрибутивах, их можно установить отдельно.

sed - мощная утилита для обработки текста.

awk - язык для обработки текста.

grep - утилита поиска текста с использованием регулярных выражений, часто используется в связке с другими командами. grep "^a" "text.txt" - покажет все строки в файле text.txt, которые начинаются с буквы а.

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

gcc - компилятор языка C, с помощью которого можно получить исполняемые файлы программ, которые распространяются в исходных кодах. Или откомпилировать свои программы.

gcc hello.c -o privet - компиляция программы hello.c, результатом компиляции будет программа с названием privet. По умолчанию (без опции -o) выходной файл будет называться a.out. GCC - это целый набор компиляторов (GNU Compiler Collection). Кроме C есть поддержка программ на C++, Fortran, Ada, Objective-C, Java и Go.

g++ - компилятор языка C++ из GCC. perl - мощный скриптовый язык.

python - вызов интерпретатора языка Python. Это современный и мощный язык, который может быть рекомендован начинающим.

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

shutdown -h now - команда завершения работы системы, выключения компьютера. Аналогом является команда halt . Если вместо ключа -h использовать ключ -r, то произойдет перезагрузка системы. Можно указать время, через которое будет выполнена команда. Now означает сейчас.

shutdown -r +10 - перезагрузка компьютера через 10 минут. Ключ -с отменяет выполнение команды. Для выполнения команды нужно иметь права root.

reboot - перезагрузка компьютера, аналог shutdown -r .

Операционная система 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 - утилита для обработки текстовых файлов.

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

Запустить консоль Linux можно запустив терминал (Ctrl+Alt+T зависит от сборки), находится он в
Пуск (Меню) → Администрирование → Терминал (Или слева при раскрытии меню, зависит от оболочки..)
Для KDE: Пуск (Kickoff) → Система → Терминал. Или в файловом менеджере Dolphin он всегда под рукой горячая клавиша F4.

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

Например перейдём в папку и напишем./start-tor-browser

В Линуксе расширение файла может не быть, исполняемым может быть любой файл у которого стоят разрешения на выполнение (можно выставить правой клавишей в свойствах или chmod +x ./start-tor-browser ) в Виндовс обычно исполняемые только.exe и ещё некоторые файлы.

Управление консолью Linux

Часто понадобится запрашивать привилегии суперпользователя root для многих действий связанных с установкой, изменением файлов итп. Для этого предусмотрен механизм предоставления необходимого количества привилегий, но не более - sudo . Эта команда следует перед другими и вводится пароль пользователя для разрешения на запуск, вообще в Линуксе везде где производятся существенные изменения запрашивается пароль.

Имейте ввиду, в целях безопасности консоль Линукс не отображает вводимые пароли, но по факту они вводятся.

В редких случаях и это не советуется, можно запросить права суперпользователя и что-то сделать под ним не вводя каждый раз sudo , если поставить Debian или разные серверные дистрибутивы, в консоли нужно прописать su , но поскольку в сборках пароль суперпользователя не задан, то можно получить доступ к суперпользователю написав
sudo su

Если ввести любую команду, напрмиер, apt , то можно увидеть описание или apt и 2 раза TAB и увидеть только список функций. Если написать man apt попадаем в описание (мануал) к текущей функции. Ещё помощь можно получить в утилитах, к примеру если ввести ls --help ..

При работе в консоли(терминале) в текстовым редактором nano , чтоб сохранить изменения нажмите закрыть Ctrl+X и подтвердите сохранение, отмена Ctrl+C (во многих случаях прервать любое действие эта команды Ctrl+C или q ).

Ctrl+D отключиться (отлогиниться) от текущего пользователя, сервера. Повторное нажатие закрывает консоль..

В любой ситуации не теряйтесь обычно есть подсказки на экране, что жать..

Для копирования используется сочетание Ctrl+Shift+C , для вставки Ctrl+Shift+V (альтернатива мышка или Ctrl+Insert с Shift+Insert).

Можно ещё не мучить себя и использовать любой текстовой редактор с графическим режимом:

# решётка/диезик означает, что всё что дальше не выполнять - это комментарий kate ~/.config/pulse # открыть под суперпользователем: kate sudoedit ~/.config/pulse

Kate умеет сохранять системные файлы по факту сохранения, т.е. просто открывайте в нём любые интересующие файлы и при сохранении вводите пароль и в дамках, консоль не нужна...

Историю команд можно посмотреть введя history , если нажимать стрелки вверх вниз, будут подставляться прошлые введённые команды. Повторить команду можно введя !! (два восклицательных знака, но стрелку вверх и энтер(ввод) быстрее..)

Команды консоли Linux

Никогда не выполняйте команд, назначения которых не понимаете. Команды консоли Linux , дают огромную власть, в том числе и удалить все файлы 1 командой..

Sudo rm -rf / # равноценно echo "text" | perl -e "$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see"

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

Типичное использование консоли:

Было несколько раз на старых сборках, после обновления заглючивало оболочку и компьютер отказывался перезагружаться или выключаться , но из консоли подчинился:

# Выключить компьютер: sudo halt или sudo init 0 или telinit 0 или shutdown -h now # Перезагрузить: sudo reboot или shutdown -r now

Изменение прав и/или владельца можно осуществить через Действия root (Root Actions Servicemenu). Подробнее права Линукс chmod описаны в соседней статье.. (-R рекурсивно пройти по всем файлам/каталогам внутри)

Sudo chmod -R 755 /path/to/dir sudo chown -R $USER:$USER /path/to/dir # корректней, но группа может отдаваться пустой и она совпадает с пользователем: sudo chown -R $USER:$GROUP /path/to/dir

Иногда нужно выяснить какой дистрибутив , название и прочие данные:

Cat /etc/*release # посмотреть архитектуру: arch или uname -m

Посмотреть диски в системе:

Fdisk -l # покажет названия с отказом в доступе sudo fdisk -l # выведет полную информацию

Установка, удаление программ:

# уствновить пакет/программу: sudo apt install -y name # удалить пакет/программу: sudo apt remove -y name # удалить пакет/программу вместе с его конфигурационными файлами: sudo apt purge -y name # ещё можно явно указанные неиспользуемые зависимости удалить: sudo apt -y autoremove

Y - соглашаться со всеми вопросами установщика, он там обычно сообщает всякие глупости, мол нужно дополнительно будет поставить связанные библиотеки или приложение займёт столько то места на диске.. В основном используются install и remove . Можно перечислить сразу несколько пакетов для установки sudo apt install -y name1 name2...

Дописать в конец файла:

Echo -e "my \n text \n info \n" >> ~/.config/my.conf

Если вместо >> поставить > , то файл перезапишется.

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

# перезаписать файл: echo "значение" | sudo tee /путь/к/файлу/файл.sh # дописать в конец: echo "значение" | sudo tee -a /путь/к/файлу/файл.sh # параметр -i игнорировать ошибки. #eщё вариантик: sudo sh -c "echo 127.0.0.1 localhost >> /etc/hosts"

echo может иметь иметь опции/параметры:

E - включить поддержку вывода Escape последовательностей -E - отключить интерпретацию Escape последовательностей -n - не выводить перевод строки

Если включена -e, Escape последовательности для вставки специальных символов:

\b - удалить предыдущий символ \c - удалить перевод строки \n - перевод строки \r - символ возврата каретки в начало строки \t - горизонтальная табуляция \v - вертикальная табуляция

Внутри sh скрипта флаг echo -e не нужен если указан интерпретатор для исполнения сценария(скрипта) #!/bin/sh, консоль использует более новый #!/bin/bash..

Скопировать фалы rsync:

Как-то словил проблему при копировании на диск с 5900 оборотов и меньшей максимальной скоростью диска, на 7200 оборотов (он на порядок быстрее), видимо переполнение буферов идёт или ещё что-то, винт разгоняет копирование свыше 120-160мб/с и принимающий начинает щёлкать головкой, в то время как на 5900 скоростей свыше 90мб/с не замечал. В итоге помогло ограничение скорости копирования. Выставил чуть меньше 90мб/с и вуаля никаких щелчков. Утилита очень полезна если необходимо передать файл на другой сервер или для передачи файлов с ломающегося диска с условием наличия бэкапа.

# rsync [опции] [источник] [приемник] sudo rsync -a --progress /from/ /to/ sudo rsync -aPv --bwlimit=90000 /media/$USER/disk1/Music/ /media/$USER/disk2/Music/

В случае присутствия пробелов будут ошибки - возьмите в кавычки, я обычно такой формой пользуюсь:

Sudo rsync -aPv --delete --bwlimit=140000 "/media/$USER/disk1/Подборка книг/" "/media/$USER/disk2/Подборка книг/" # или sudo rsync -aPv --delete --bwlimit=140000 "/media/$USER/disk1/Подборка книг/" "/media/$USER/disk2/Подборка книг/"

A, --archive - работа в режиме архивирования, сохраняются права доступа и информация о владельцах.
--partial - сохранять частично переданные файлы.
--progress - показать % выполнения во время передачи.
-P - эквивалент для --partial --progress (сохранять недокаченные файлы, показывать прогресс).
--ignore-existing - пропускать уже существующие на приёмнике disc2 (так можно немного ускорить, например для видео, они точно не меняются).
--delete - удалять те, которых нет на источнике disc1.
--bwlimit=KBPS - ограничение скорости копирования.
-v - показывать подробности.
-c - сравнивать файлы при помощи подсчёта контрольных сумм (по умолчанию по дате и размеру). Выполняется очень долго..
-n - ничего не делать, только показать что будет скопировано.

Линукс постоянно радует такими мелочами, в системе по умолчанию есть большинство нужного, а Виндовс беги ищи, устанавливай - трать время..

Навигация и операции с файлами

Возможно пригодится и знание базовых команд для перемещения и управления файлами..

  • pwd - показывает директорию в которой находитесь, иногда бывает нужна в случае сокращения в консоли, напрмиер домашняя папка отобразится как ~..
  • cd - переходит в указанную папку, например cd ~ ; cd /home/$USER
  • ls - линейно выводит список папок и файлов в текущей директории или указанной
    ls /home . Чтоб вывести построчно с указанием прав и владельца необходимо добавить аргумент -l . Чтоб увидеть скрытые файлы и папки -a . Отсортировать по размеру -S . Отсортировать по расширению -X .
    В итоге имеем команду ls -la или ls -la /путь/к/каталогу .
  • du * - считает размер директории, например du -hs * или du -hc /путь .
    Аргументы:
    -h - human-readable показывает вес файлов в Кб, Мб итд..
    -с - подсчитывает сумму..
    -s - показать только общий вес файлов..
    А вот как можно вывести в отсортированном виде du -hc * | sort -rn
  • find - Поиск файлов и директорий
    # найти в папке /home файлы по имени абрикос: find /home -name "абрикос" # найти файлы принадлежащие пользователю user1: find /home -user user1 # найти файлы оканчивающиеся на txt: find /home -name "*.txt" # найти файлы с правами 000 исключая имя public_ftp и удалить их: find /home/ -perm 000 -not -name "public_ftp" -exec rm -rf {} \; # найти все папки и назначить права по умолчанию: find /home - type d -exec chmod 755 {} \; # найти все файлы и назначить права по умолчанию: find /home - type f -exec chmod 644 {} \; # найти только файлы по имени и выставить права: find /home/ -name "xmlrpc.php" -type f -exec chmod 000 "{}" \; # скопировать все файлы в текущей директории содержащие в имени только цифры # - регулярное выражение указывающие на массив из диапазона от 0 до 9: find . -name -exec cp {} ~/ todir \; # удалить пустые файлы: find /home -type f -empty -exec rm {} \; # удалить пустые папки: find /home -type d -empty -exec rmdir {} \; # удалить файлы *.gz в папках logs, по неопределённому пути в /home/: find /home/*/logs -type f -name "*.gz" -delete # удалить файлы старше 365 дней find /home -type f -mtime +365 -exec rm -f {} \; # вывести список файлов в которых встречается текст: grep -rl "строка" ./ # или find ./ -type f -exec grep -l "строка" {} + # заменить текст в файлах: find ./ -type f -readable -writable -exec sed -i "s/старый/новый/g" {} \; #g - заменяем не только первое вхождение # функция понимает регулярные выражения, заменим все где число вначале: find ./ -type f -readable -writable -exec sed -i "s/\dстарый/новый/g" {} \; # заменить текст в файле: sed -i "s/старый/новый/g" file.txt # заменить текст в файле только в строках с 1 по 10: sed -i "1,10 s/старый/новый/g" file.txt # заменить текст в файле везде кроме строк с 1 по 10: sed -i "1,20 !s/старый/новый/g" file.txt

    Думаю примеров достаточно, за остальным в man find..

    Бывает необходимо найти где находится в системных папках та или иная утилита

    Whereis find # или which find

  • cat - выводит содержимое файла, например cat /proc/bus/input/devices .

    Ещё можно заниматься извращениями, например, копирование содержимого файла Linux в другой файл cat файл1 > файл2
    Если файл был не пустым, он будет перезаписан, если воспользоваться >> будет дописан в конец файла2. Можно склеить два отдельных файла в один: cat файл1 файл2 > файл3

  • mkdir - создаёт директорию, например mkdir -p /путь/к/папке -p создаст рекурсивно все каталоги, если их нет иначе будет выдавать сообщение об ошибке, мол старшего каталога нет..
  • cp - копирует файл/папку, cp опции файл-источник файл-приемник, cp -r /что /куда
    -r - рекурсивно, все подкаталоги
    -a = -dR --preserve=ALL не будет следовать по ссылкам (копировать от туда все файлы), а только рекурсивно скопирует: ссылки, файлы, папки с сохранением атрибутов. # скопирует все файлы, начинающиеся на test: cp ~/test* ~/todir/ # копировать директорию fromdir со всем содержимым в текущую директорию: cp -a /fromdir . # скопировать файл: cp ~/pic.png ~/to/ # скопировать с переименованием или просто сделать копию: cp ~/pic.png ~/to/wallpaper.png cp pic.png pic2.png # скопировать группы файлов: cp *.txt /to/folder cp *.txt *.jpg "read me.doc" /to/folder

    При копировании группы файлов, последнее имя трактуется как место назначения, а все предшествующие файлы, как исходные объекты. В других командах, например mv и rm, также разрешены множественные аргументы.

  • mv - позволяет перемещать или переименовывать каталоги mv /что /куда
    mv /from /to # переместить файлы: mv /home/my/* /home/mynew/ # переместить папку /my/ в /mynew/: mv /home/my/ /home/mynew/ # переименование папки: mv /oldname /newname # переименование файла: mv oldname.txt newname.txt # перемещать группы файлов: mv *.txt /to/folder/ mv *.txt *.jpg "read me.doc" /to/folder/ # удалить: mv /folder /dev/null
  • rm - удаляет файл/папку, например rm -r /путь
    -r - рекурсивно пройти все вложенные папки
    -f - не запрашивать подтверждения операций
    # удалить папку со всем вложенным: rm -rf /backup/ # удалить все объекты в папке: rm -rf /backup/* # удалить все файлы: rm -f /var/log/spooler-* \ rm -f /var/log/messages-* \ rm -f /var/log/secure-*

Специальные обозначения в консоли

  • ~/ - означает домашнюю директорию текущего пользователя.
  • $USER - подставить имя текущего пользователя.
  • ./ - указание на текущий каталог
  • ../ - указание на каталог выше, перейти в каталог выше cd .. или cd ../
  • * - Знак подстановки, означает любые символы, например у нас есть ряд файлов для распаковки или не хочется писать всё целиком (актуально если нет графической оболочки, например, при удалённом управлении..)
    # разархивирование: tar -Jxvf arch-17.40-492261.tar.xz tar -Jxvf arch-17*.tar.xz # показать только размер: du *.tar.xz
  • > - перезаписать файл, точнее отправить вывод команды в файл echo "Привет" > /путь/файл.txt
  • >> - дописать в конец
  • {} - подставляет имя каждого файла
  • \ - в конце строки сообщает, что нужно рассматривать следующую строку как одну цепочку команд..

Клавиша TAB во время набора текста - автозаполнение..


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

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

Если Вы еще не работали в консоле то Вам возможно будет интересно узнать что с помощью простых команд можно и установить новый пакет и тут же очистить кеш программы Synaptic (sudo apt-get clean), подключить диск или вообще демонтировать все (sudo mount -a), а может быть вообще устроить тест видеокарты (glxgears -printfps) если на то будет желание. Возможно, у Вас возникнет необходимость, находясь в консольном режиме что-нибудь найти в каком-то каталоге и его подкаталогах и сделать найденное доступными на чтение для других (# find /myotherdir/ -type f -exec chmod a-x,u+w {} \;).

Вам наверняка пригодятся простые и полезные команды. Конечно, здесь не стоит цель рассказать Вам обо всех существующих командах Linux, да и все они вряд ли когда-то понадобятся. В нижеприведенном списке содержатся лишь самые основные и необходимые из них. Чтобы получить исчерпывающую информацию о той или иной команде и обо всех возможных параметрах ее запуска, нужно будет воспользоваться соответствующей страницей интерактивного справочного руководства man или info.

аг [ параметры ] [архиватор ] [ названия архивных файлов ] - программа, которая позволяет работать с архивными файлами различных типов.

badblocks [ параметры ] [ устройство ] - поиск поврежденных физических секторов диска.

bzip2 [ параметры ] [ названия файлов ] - утилита для сжатия файлов.

cal [ параметры ] [ месяц [ год ] ] - эта команда выводит на экран календарь. По умолчанию она отобразит календарь текущего месяца. Например, команда: cal -3 - отобразит календарь на 3 месяца.

cd /каталог - команда позволяет сменить текущий каталог. Пример: cd ~/ быстрый переход к домашней директории пользователя.

chmod [ параметры ] [ режим файла ] - данная команда позволяет суперпользователю или пользователю - владельцу какого-либо файла поменять его атрибуты. Для обозначения атрибутов можно воспользоваться восьмеричным или символьным обозначением. Например нам понадобилось сделать файл исполняемым, для этого мы можем воспользоваться командой sudo chmod +x [файл] или выполнив команду chmod 777 -cR /home/somefolder можно задать права на всю папку и все ее содержимое (ключ -R - рекурсивно), можно и не использовать сочетание опций -cR, ключ -c выводит информацию в консоль, чтоб Вы могли удостовериться, что права точно были изменены.

chown [ параметры ] [ файл ] - запуск этой команды суперпользователем позволит изменить владельца или группу владельцев какого-либо файла.

clear - очистка окна терминала.

cmp [ параметры ] [ файл1 ] [ файл2 ] - команда запускает утилиту для побайтного сравнения двух файлов.

comm [ параметры ] [ файл1 ] [ файл2 ] - эта команда позволяет сравнить два файла построчно.

compress [ параметры ] [ имя файла ] - команда для уменьшения размера указанного файла.

ср [ параметры ] [ источник ] - данная программа используется для копирования файлов и каталогов.
Пример:cp /home/имя_файла куда /Desktop/имя_папки

date [ параметры ] - эта команда нужна для отображения и смены системной даты и времени.

diff [ параметры ] [ файл1 ] [ файл2 ] - еще одна утилита для сравнения двух файлов. После сравнения она выводит на экран строки, в которых были обнаружены различия.

diff3 [ параметры ] [ файл1 ] [ файл2 ] [ файлЗ ] - та же утилита, способная сравнивать три файла.

dir - вывод на экран списка файлов данного каталога.

e2fsck [ параметры ] [ устройство ] - утилита для проверки и восстановления поврежденных разделов ext2.

eject - утилита для извлечения CD. Эту же команду можно использовать для регуляции скорости CD-ROM, для этого выполняем команду eject -x [скорость] что бывает, например, полезно при прослушивании музыки, когда лишний источник шума только отвлекает. В прочем для этих целей есть и другая команда hdparm -E8 /dev/cdrom Но в ее использовании есть определенные неудобства, нам необходимо иметь доступ к учетной записи root, а на некоторых приводах со временем диск все же разгоняется и приходится повторно выполнять команду. Вообще при работе с CD-ROM могут, используется и другие команды. Например, lsof +d /media/cdrom - позволяет получить информацию о том, что препятствует извлечению CD-диска или если мы по какой либо причине не хотим с этим разбираться, то диск можно извлечь принудительно командой: umount -l /media/cdrom && eject Также просто работать и с образами дисков, например командой: sudo mount -o loop -t iso9660 [что] [куда] Вы сможете легко смонтировать ISO-образ диска.

echo [что] >> [куда] // добавить [что] в конец файла [куда] Например если писать одну ">", то файл будет перезаписан.

fdformat [ параметры ] [ устройство ] - низкоуровневое форматирование дискеты.

find [ путь ] [ параметры ] - команда для поиска файлов, соответствующих заданным параметрам.

fmt [ параметры ] [ файл ] - утилита для простой обработки текста.

free [ параметры ] - вывод информации об имеющейся свободной оперативной памяти.

fuser [ параметры ] [ файл ] - эта команда отображает все процессы, использующие данный файл.

gnome-terminal - создаёт рабочий терминал в среде Gnome

groups [ параметры ] - отображение групп, членом которых является пользователь.

gunzip [ файл ] - декомпрессия файлов, сжатых при помощи утилиты gzip.

gzip [ параметры ] [ файл ] - утилита для архивирования. Создает архивные файлы с расширением.GZ.

halt [ параметры ] - выключение компьютера.

help [ параметры ] - как явствует из названия, эта команда отвечает за вывод на экран системы помощи по встроенным командам оболочки. В случае ввода без дополнительных параметров пользователь увидит полный список всех встроенных команд.

history [ параметры ] - список выполненных команд.

id [ параметры ] [ пользователь ] - команда показывает идентификатор текущего пользователя и группы, к которой он принадлежит.

info - вывод интерактивного справочного руководства, альтернативного man.

jobs - эта команда показывает процессы, запущенные в фоновом режиме.

kill [ параметры ] [ PID ] - команда отправляет сигнал прекращения работы тому или иному процессу. Ее можно использовать для прекращения работы зависшего приложения.

killall [ параметры ] - прекращение работы всех процессов, соответствующих заданным параметрам.

links - запуск текстового web-браузера Links.

Is [ параметры ] - команда для вывода на экран сведений обо всех файлах каталога. С использованием дополнительных параметров можно получить более подробную информацию, например при использовании команды ls с параметром -la (ls -la ) будет отображены атрибуты файлов (w - Write, r - Read, x - Execute).

lynx - запуск текстового web-браузера Lynx.

man [ параметры ] - интерактивное справочное руководство man. Если в параметрах также указать man, мы получим справку по использованию этого руководства.

mc - запуск файлового менеджера Midnight Commander.

mformat [ параметры ] [ дисковод ] - форматирование дискеты для MS-DOS. В настоящее время достаточно редко используемая команда.

mkbootdisk - создание аварийной загрузочной дискеты.

mkdir [ параметры ] [ путь ] - создание нового каталога. Пример: mkdir /Desktop/имя_создаваемой_директории

mount [ файловая система ] - монтирование любой из поддерживаемых Linux файлы систем.

mpartition - создание раздела MS-DOS.

mv [ параметры ] [источник ] [ назначение ] - команда для перемещения файлов и каталогов.

nano - запуск консольного текстового редактора nano. Обратите внимание, что при выполнении команды, например pico, Вы можете не достичь желаемого если у Вас в системе не установлен последний, тоже касается других пакетов таких например как nano или vi.

passwd [ пользователь ] - команда, позволяющая пользователю поменять свой пароль, а суперпользователю - поменять пароль любого зарегистрированного в системе пользователя.

pidof [ параметры ] [ приложения ] - эта команда показывает идентификатор (PID) того или иного процесса. Зная PID, зависший процесс можно прекратить с помощью команды kill.

poweroff [ параметры ] - команда для отключения компьютера. Аналог команды halt.

pwd - команда показывает путь к текущему каталогу.

quota [ параметры ] - отображение количества имеющегося свободного места в разделе.

reboot - эта команда, в отличие от halt и poweroff, не отключает, а перезагружает систему.

resize2fs [ параметры ] устройство [ новый размер ] - изменение размера файловой системы ext2.

reset - очищает окно терминала.

rm [ параметры ] [ файл или каталог ] - с помощью данной команды можно удалить файл или каталог.

rpm [ параметры ] - широко распространенный формат бинарных пакетов. Ис пользуется для установки новых программ или для обновления уже существующих.

sleep [ время ] [ параметры ] - пауза в течение заданного количества времени. Позволяет задержать выполнение процесса. Например это может выглядеть так sleep 15 && reboot в результате чего быдет выполнена перезагрузка через указанный интервал времени.

sndconfig - запуск утилиты для конфигурирования звука в Linux. Если звуковая карта не была распознана в процессе установки, можно воспользоваться этой утилитой.

tar [ параметры ] - команда для работы с архивами в формате tar. Указывая необходимые параметры, в зависимости от Ваших целей вы можете создать архив например из списка файлов, перечислив нужные файлы через пробел, например: tar -cvf homefiles.tar file1 file2 file3 или распаковывать файлы из выбранного архива tar -xvf имя_архива.tar

top - интерактивный список текущих процессов, отсортированных по использованию центрального процессора. Но намой взгляд удобнее в этом отношении пакет htop, соответственно команда вызова htop.

touch - создаёт текстовый файл. Пример: touch /Desktop/Somefolder/Newfile

umount [ параметры ] - данная команда отключает файловые системы из Linux. Напомним, что подключаются они с помощью команды mount.

uname -a - вывести информацию о версии операционной системы.

uncompress [ параметры ] [ файл ] - декомпрессия файлов, сжатых с помощью команды compress.

unexpand [ параметры ] [ файл ] - преобразование пробелов в символы табуляции в заданном файле.

unzip [ параметры ] [ заархивированный файл ] - с помощью этой команды можно разархивировать файл, сжатый архиватором zip.

users - отображение пользователей, подключенных в данный момент к системе.

vi - запуск консольного текстового редактора vi.

w [ параметры ] [ пользователь ] - отображение пользователей, подключенных в данный момент к системе, и выполняемых ими процессов.

wc [ параметры ] [ файл ] - эта команда показывает количество байт и строк в заданном файле.

which [ приложение ] - команда показывает полный путь к исполняемому файлу того или иного приложения.

zip [ параметры ] [ файл ] - широко распространенная утилита для архивирования файлов.

Вот, пожалуй, и все. Я постарался рассказать об основных и необходимых командах. Поскольку описывать все команды подробно не входило в мои цели, да теперь Вам это и не к чему ведь Вы всегда можете воспользоваться соответствующей страницей интерактивного справочного руководства man или info. Как это сделать?

Возможности командной строки поистине впечатляют. Искренне Вам желаю успехов в их освоении.

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 пост будет пополняться другими командами.



Загрузка...