Основные консольные команды Linux. Основные команды linux Консольные команды линукс

Начинающий пользователь, естественно начинает осваивать OS Linux с графического интерфейса. Но через некоторое время решает попробовать и работу в командной строке.В конечном счёте, к этому подойдёт практически каждый. Это довольно интересный и увлекательный процесс.Только в командной строке открывается вся мощь этой операционной системы. В этом обозрении идет перечисление самых основных команд.Всё это есть в справочном руководстве - man, но сначала, возможно будет не с руки им пользоваться. Сперва попробуйте просто набирать команды данные ниже без дополнительных параметров (которых довольно много и можно узнать задав “команду -help”или “man имя команды”.

Просьба по возможности корректировать или дополнять этот список в комментариях. Многи из нижеприведенных комманд - “Unix like”, это значит что Вы сможите их использовать также, в основаных на Unix операционных системах, например - Mac OS X и др.

Команды:

  • login запрос от пользователя имени и пароля (запрос от системы к пользователю) для входа в систему(по умолчанию, при наборе пароля, он не отображается).
  • logout выход из текущего сеанса оболочки.
  • startx команда для запуска графического интерфейса X Window (не путайте с системой Windows.Не бойтесь. Это не она:)).
  • shutdown останавливает систему и предотвращает повреждение файловой системы при этом, но,используется только при работе в консольном режиме.При работе в режиме X Window, не используйте.
  • halt быстрое и корректное выключение системы.
  • poweroff корректное выключение системы.
  • reboot корректное выключение с последущей загрузкой.Перезагрузка.
  • vmstat выдаёт сведения о процессах, памяти и загруженности центрального процессора.
  • su вход в сеанс администратора, но прийдётся ввести пароль.Для выхода из этого сеанса наберите exit и нажмите ENTER.
  • apropos поиск строки в заголовках и названиях документации (дополнительно вводится слово для поиска). Выдаёт список всего найденного.
  • cal форматированный календарь на текущий месяц (добавить y и будет календарь на весь текущий год).
  • date отображает текущие дату и время, по системным часам ядра.
  • oclock простые часы, которые висят на рабочем столе (много дополнительных параметров).
  • finger отображение информации о пользователе, имя которого указано в команде.
  • hostname команда отображает идентификатор данного узла сети (его имя). root может изменить имя узла на новое.
  • hwclock встроенные часы Вашего компьютера.Для изменения даты и времени и синхронизации с системными часами, необходимы привелегии root.
  • pwd отображает полный путь к текущему каталогу.
  • tzselect запуск утилиты, которая позволяет выбрать часовой пояс.
  • uname выводит информацию об используемой операционной системе (при вводе дополнительных параметров команды, выдаёт довольно много информации).
  • uptime показывает текущее время, продолжительность сеанса, количество пользователей и загруженность процессора.
  • users отображает краткий список пользователей работающих в системе в данный момент.
  • w подробная информация о всех пользователях, работающих в данный момент и также простой, вход в систему и др.Если нужен один пользователь, то указать имя в параметре.
  • whatis поиск по базе данных страниц руководства и отображение краткого описания.
  • who список пользователей работающих в системе в данный момент.
  • whereiz находит файлы, страницы справочного руководства для указанной команды.
  • which показывает полный путь к исполняемому файлу команды.
  • whoami показывает текущий идентификатор пользователя, работающего в данном терминале.
  • write отправляет сообщение другому пользователю, находящемуся в системе, путём копирования строк с терминала отправителя на терминал получателя.
  • wall отправляет сообщение на терминал каждого пользователя находящегося в системе в данный момент.
  • history показывает пронумерованный список команд, которые Вы выполняли в этом и предыдущем сеансе. Если в списке историии их довольно много, то увидите последние.
  • jobs выводит список всех выполняемых и приостановленных задач.
  • kill завершить процесс (необходимо указать какой).
  • killall позволят управлять процессами используя их имена или имена файлов, а не идентификаторы как в kill. Завершаются все указанные процессы.
  • kernelversion показывает основную и дополнительную версии ядра.
  • nice позволяет отобразить или настроить приоритет задачи.
  • ps выводит список всех работающих процессов.
  • pstree показывает иерархию процессов системы, что хорошо показывает их взаимозависимость.
  • renice задаёт приоритет для указанной задачи.
  • script позволяет записывать весь вывод с терминала в файл.Что бы остановить запись нажмите Ctrl+d.Если имя файла не указано то записывается в typescript.
  • times показывает полное время выполнения процессов для всей системы и данного пользователя.
  • top запускает программу, которая позволяет управлять процессами.И ещё много дополнительной, полезной информации.
  • cd смена текущего каталога.По умолчанию переходит в домашний каталог текущего пользователя (если без параметров).
  • dir отображает файлы в текущем каталоге в алфавитном порядке и с учётом регистра.
  • file показывает тип содержимого указанного файла(текст, выполняемый, данные).
  • find поиск файлов в текущем каталоге.Если указать путь, можно искать везде.
  • free отображает информацию об оперативной памяти, подкачки, кэше,свободная памать, общая и т.д.
  • ls показывает все файлы в текущем каталоге в алфавитном порядке.Аналогична dir.
  • last показывает список пользователей, которые заходили в систему с момента создания файла /var/log/wtmp.
  • lastlog проверяет историю входа в систему зарегистрированных пользователей.Форматирует и выводит на печать файл /var/log/lastlog.
  • logger посылает запрос демону syslogd с просьбой поместить сообщение в системный журнал.
  • lpr отправляет документ на печать демону печати.
  • chmod изменяет режим доступа к файлу.Символьный или числовой формат.
  • chown смена владельца указанного файла.Требуется доступ root.
  • chage применяется для изменения срока действия учетной записи.Для администрирования.
  • chfn изменяет сведения о пользователе в файле /etc/passwd из которого берёт информацию команда finger .
  • chgrp команда для администратора,для изменения группы владельцев файла.
  • clear очищает экран терминала (если это возможно).
  • crontab обеспечивает возможность выполнения определённых задач по расписанию. Чаще используется администратором, хотя свои задачи могут быть и у пользователей.
  • csplit разбивает файл на несколько частей.Надо задать метод разбивки (строки и т.д.).
  • cp копирует один файл в другой, или несколько файлов в каталог.
  • dd копирование файла с одновременным выполнением различных, дополнительных преобразований.
  • dc калькулятор.
  • debugfs применяется для восстановления файловой системы (ext2,ext3) если недостаточно команды fsck.
  • df показывает количество используемого и свободного дискового пространства для всех подключенных разделов файловой системы.
  • du показывает количество блоков диска, занятых каждым из файлов каталога.
  • mc запускает программу Midnight Commander диспетчер файлов в текстовой консоли. Напоминает MSDOS менеджеры и довольно проста и удобна в использовании.Очень много нужных и удобных функций.
  • mkdir создание указанного каталога.
  • man справочное руководство.
  • mcat копирует необработанные данные на дискету.
  • mcopy использует отформатированную дискету MSDOS для копирования файлов в Линукс и из Линукс без предварительного подключения дискеты к файловой системе.
  • mdel удаляет файл на отформатированной дискете MSDOS.
  • mdir отображает содержимое каталога на дискете MSDOS.
  • mdu показывает дисковое пространство занятое каталогом MSDOS.
  • mesg контролирует доступ к Вашему терминалу, что бы коллеги не могли засыпать Вас сообщениями с помощью команды write
  • mformat создаёт на дискете файловую систему MSDOS.
  • mkbootdisk применяется в некоторых дистрибутивах, для создания загрузочной дискеты, содержащей всё необходимое для аварийной загрузки.
  • mktemp создаёт уникальное имя файла для временной работы.
  • mlabel создаёт метку тома на MSDOS на отформатированной дискете.
  • mmd создаёт подкаталог MSDOS на отформатированной дискете.
  • mmount подключает к файловой системе отформатированное устройство MSDOS.
  • mmove перемещает или переименовывает файл на дискете MSDOS.
  • more средство постраничного просмотра текстового файла.
  • mv переименовывает или перемещает файлы или каталоги.
  • rm удаление указанного файла.Можно и много удалить.
  • rmdir удаление указанного пустого каталога.
  • safedelete удалиние указанного файла в каталог safedelete,где он хранится некоторое время перед необратимым удалением.
  • stat отображение всей доступной информации об указанном файле.
  • touch изменяет время последнего доступа или изменения файла на текущее время.
  • undelete восстанавливает файлы удалённые командой safedelete.
  • wc показывает число строк, слов и символов в файле.
  • bunzip2 распаковывает указанный файл на 30%быстрей чем gzip.
  • bzip2 сжимает указанный файл по ускоренному алгоритму.
  • bzip2recover делает попытку восстановить данные из повреждённого файла сжатого bzip2.
  • compress сжимает указанный файл по другому алгоритму.
  • uncompress распаковывает файл сжатый предыдущей командой.
  • cpio позволяет создавать архивы и извлекать из архивов файлы.Позволяет копировать файлы. Необходимо указывать соответствующие параметры.
  • gpg позволяет зашифровать и расшифровать файл.Метод шифрования открытым ключом. Позволяет создавать электронные подписи.Если этой программы нет у Вас, скачайте http://www.gnupg.org
  • gzip сжимает указанный файл.
  • gunzip распаковывает указанный файл (расширения.Z,.gz,.tgz,.zip).
  • gzexe позволяет сжать исполняемый файл с указанным именем так, что бы он автоматически распаковывался и выполнялся, когда пользователь даёт команду на выполнение сжатого файла.
  • gpasswd устанавливает пароль группы.
  • mcrypt Шифрует указанный файл.Создаётся новый файл в рабочем каталоге с расширением.enc. Вам будет предложено ввести пароль.Не забудьте его.
  • mdecrypt расшифровывает это же файл.Если этих утилит нет, скачайте http://mcrypt/hellug.grl
  • tar помещает два и более файлов в новый или существующий архив или извлекает их из архива.При задании каталога, заархивирует все файлы в каталоге и подкаталоге.
  • talk позволяет вести интерактивный диалог с пользователем сети ИНТЕРНЕТ.
  • tee отсылет выходные данные на два устройства вывода.Можно одновременно вывести на экран и в файл.
  • toe выдаёт сведения о существующих терминалах, которые могут быть использованы для дальнейшей работы.
  • touch изменяет время создания файла на текущее.Если файл не существует, то создаёт новый, пустой файл.
  • unarj распаковывает или выводит список содержимого указанного архива в формате.ARJ(формат сжатия MS DOS).
  • unzip распаковывает и извлекает файлы из архивов, созданных утилитами ZIP (Linux,MS DOS,Microsoft Windows).
  • zip архивирует и сжимает файлы.
  • zipinfo отображает информацию о содержимом архива.Если указать имя, то выдаст информацию о конкретном файле.
  • zipnote позволяет вывести и отредактировать комментарии к файлам из архива ZIP.
  • zipsplit позволяет разделить архив zip на достаточно маленькие части, для записи их на сменные носители, и записывает файлы на указанное устройство(дискеты).
  • zforce добавляет расширение.gz ко всем файлам в рабочем каталоге, или к указанному файлу, которые были сжаты, но не имеют расширения.Т.е. предотвращает повторное сжатие.
  • uuencode кодирует двоичный файл для передачи по ASC11сетям.
  • uudecode декодирует выше названный файл.
  • autorun автоматически распознаёт все доступные приводы CDROM в системе, монтирует их при вставке диска и может запускать отдельные приложения (например проигрыватель).Для использования, необходимо добавить параметры в файл привода.
  • badblocks проверить указанное устройство на наличие повреждённых секторов (указать устройство).
  • eject извлекает носитель из указанного устройства.Если устройство смонтировано то команда производит размонтирование перед извлечением носителя.
  • e2fsck проверяет и при необходимости восстанавливает повреждённый том файловой системы (ext2,ext3).
  • echo выводит строку текста на стандартное устройство вывода.
  • fdformat форматирование гибкого диска.Дополнительно вводится имя устройства и необходимый вид форматирования.
  • fg переводит процесс выполняемый в фоновом режиме в приоритетный режим.
  • fgconsole показывает количество активных виртуальных консолей.
  • fsck проверяет и восстанавливает файловую систему.
  • mount монтирование файловой системы.
  • umount отмонтирование файловой системы (в обоих командах необходимо указать, что именно).
  • rdev при вызове без параметров выводит информацию о текущей файловой системе.
  • rcp применяется для копирования файлов с одного компьютера на другой.
  • rdate получает значение даты и времени от другого узла сети.Используется для синхронизации системного времени узлов.
  • rename переименовывает файлы.Очень удобно, когда много файлов.
  • resize изменяет размер окна виртуального терминала в графическом окружении.
  • restore восстанавливает файлы заархивированные с помощью команды dump.
  • runlevel отображает текущий и предыдущий уровни выполнения.
  • shred выполняет безопасное удаление файла предварительно перезаписав его содержимое на другой диск.
  • sleep приостанавливает начало выполнения процесса на заданное количество секунд.
  • usleep приостанавливает на микросекунды.
  • sync очищает буферы файловой системы.
  • cmp производит быстрое сравнение двух указанных файлов.Если они идентичны, то никакие сообщения не выводятся.
  • column форматирует входной текст из указанного файла в список из пяти колонок.
  • diff сравнивает два указанных текстовых файла.Каждое отличие выводится в контексте. Позволяет сравнивать каталоги.
  • diff3 сравнивает три указанных файла и выводит результаты.
  • enscript преобразует указанный текстовый файл в формат Post Script.Вывод может быть направлен на печать или записан в файл.
  • fmt данная утилита производит форматирование каждой строки в указанном файле таким образом, что все строки имеют одинаковую ширину.
  • head утилита выводит первые десять строк файла.Можно и несколько файлов.
  • ispell запуск интерактивной утилиты для проверки орфографии в указанном файле.
  • id отображает действующие значения идентификаторов пользователя и группы для текущего пользователя.
  • ifconfig отображает состояние текущей конфигурации сети или настраивает сетевой интерфейс.
  • less отображает содержимое указанного файла на экране и позволяет удобно просмотреть.
  • nl команда нумерует строки в указанном файле.
  • paste обьединяет соответствующие строки файлов в колонки.При желании можно обьединить несколько файлов.
  • pdf2ps преобразует файл формата PDF в Post Script.Результат записывает на диск.
  • pdftotext преобразует файл из формата PDF в текст и записывает результат на диск.
  • pr подготавливает текст к печати, осуществляя форматирование с разбиением на страницы.Можно подготовить несколько файлов.
  • sort команда позволяет отсортировать строки файла в алфавитном порядке.
  • split разбивает файл на части.
  • zcat;zmore выводит содержимое файла сжатого gzip на экран без распаковки.
  • zcmp
  • zdiff сравнивает сжатые gzip два файла без распаковки.
  • zegrep;zfgrep;zgrep осуществляют поиск указанной строки, выражения в файле сжатом gzip, без распаковки.
  • aumix запускает в интерактивном режиме утилиту, которая управляет различными настройками звуковой карты.
  • cdda2wav утилита предназначена для записи звуковых дорожек с аудиокомпакт диска в файлы формата WAV.Если имя файла не указано, то запись идёт в файл audio.wav в текущем каталоге.
  • cdlabelgen команда предназначена для подготовки обложек к коробкам компакт дисков. Результат в файле формата Post Script.Требуется наличие интерпретатора языка Perl не ниже 5.003 версии.
  • cdp запуск проигрывателя аудиокомпакт дисков в текстовом режиме.
  • cdparanoia считывает звуковые дорожки с аудиокомпактов и записывает в файлы WAV,AIFF,RAW.
  • combine обьединяет два и более графических файла в один.Огромное количество спецэффектов.Является частью пакета Image Magick и можно взять http://www.imagemagick.org
  • convert преобразует указанный входной графический файл, в выходной.Распознаёт множество форматов. Скачать так же как и предидущую.
  • identify определяет формат и характеристики графического файла и проверяет целостность и наличие ошибок.
  • mogrify преобразует графический файл и перезаписывает исходный.
  • montage преобразование нескольких файлов в обьединённое изображение.Скачать http://www.imagemagick.org
  • mpg123 воспроизводит на основном устройстве воспроизведения аудио файл в формате MP3. Вписывается имя файла или его адрес в Интернет.Чтобы остановить воспроизведение Ctrl+c.Что бы остановить и выйти из программы Ctrl+c нажать дважды.
  • play воспроизводит звуковой файл с указанным именем.Автоматически распознаёт тип файла. Позволяет добавлять различные звуковые эффекты к воспроизводимым файлам.
  • playmidi воспроизводит зуковые файлы в формате MIDI.
  • rec записывает входной сигнал с микрофона или других входов в звуковой файл. Тип файла следует указать с помощью параметра (type).Есть возможность добавить звуковые эффекты.
  • sox преобразует сэмплы из формата входного сигнала, на выходной с добавлением эффектов.
  • emacs запуск текстового редактора Emacs.
  • joe простой в использовании редактор работающий в текстовом режиме.
  • pico простой и удобный в использовании текстовый редактор.Удобен для редактирования конфигурационных и простых файлов.
  • vi запуск классического текстового редактора VI для UNIX систем.
  • dmesg выводит на экран сообщения ядра, включая отображаемые при запуске и потом. Что бы удобней читать, вводите dmesg|less.
  • groupadd создание группы пользователей с указанным именем.
  • groupdel удаляет группу с указанным именем.
  • groupmod изменяет параметры группы с указанным именем.
  • mkpasswd создаёт высококачественный пароль, состоящий по умолчанию из девяти символов и содержащий по крайней мере буквы в разном регистре и цифры.
  • passwd позволяет пользователю с указанным именем изменять пароль своей учётной записи. root может изменить пароль любого пользователя.
  • pwgen создаёт высококачественный пароль,который хорошо запоминается.Длинна пароля указывается числом. Если этой утилиты нет, скачать http://metalab.unc.edu/pub/Linux/system/security
  • quota показывает текущую статистику использования диска и текущие ограничения для пользователя или группы с указанным именем.
  • quotacheck исследует файловую систему на предмет использования дискового пространства.
  • quotaon включает и отключает ограничения на использование дискового пространства.
  • rpm запускает менеджер пакетов, утилиту,позволяющую устанавливать, проверять и обновлять пакеты с расширением rpm.
  • rpmfind поиск нужного пакета в базе пакетов RPM через ИНТЕРНЕТ.Последняя версия утилиты http://www.rpm.org
  • tmpwatch удаление всех файлов в указанном каталоге, если к ним не осуществлялся доступ в течении последних n часов.Очищает временные каталоги.
  • useradd создание нового пользователя с указанным именем.
  • userdel удаляет пользователя с указанным именем.
  • usermod изменяет параметры пользователя с указанным именем.
  • fetchmail утилита получения почты.Роботает в фоновом режиме.Скачивает почту с указанного сервера. Если её нет, скачать можно http://www.freshmeat.net
  • ftp устанавливает соединение с указанным узлом и позволяет скачивать или закачивать файлы.
  • lynx запуск консольного WEBброузера.
  • mail утилита редактирования и просмотра электронной почты.Отправка и получение писем.
  • netstat вывод информации о сетевой подсистеме.Очень много настроек и параметров.
  • ping отправка на указанный адрес пакетов для проверки возможности соединения с этим узлом.
  • telnet открывает окно терминала на удалённом узле и запускает интерактивный сеанс.
  • wvdial программа подключается к ИНТЕРНЕТ по протоколу PPP с использованием параметров, хранящихся в файле /etc/wvdial.conf
  • wvdialconf осуществляет поиск модема, определяет порт, к которому он подключен, его строку инициализации и максимальную скорость передачи данных.Эта информация автоматически записывается в файл (смотри выше).Требуется доступ root.
  • ar средство архивирования, предназначено для создания и распаковки архива.
  • arch отображает данные об архитектуре центрального процессора.
  • at ставит задания в очередь для последующего выполнения в указанное время.
  • atq показывает список заданий которые поставлены в очередь на выполнение.

7. Команда rm

Команда rm используется для удаления каталога или файла. Например, используйте rm -r /tmp/backup для удаления всего в этом каталоге. Конечно, вы должны проявить осторожность , если вознамерились что-то удалить безвозвратно.

8. Команда mkdir

mkdir используется в Linux для создания нового каталога. Например, команда mkdir my_new_dir создаст новый каталог с именем my_new_dir. Аргумент -p можно использовать для того, чтобы команда типа mkdir -p mydir2/mysubdir2/threedirsdeep автоматически создавала родительские директории, ежели таковые не существуют.

9. Команда rmdir

Если вам нужно удалить каталог, используете команду rmdir . Например, rmdir my_dir . Подробнее о команде rmdir можете прочитать .

10. Команда touch

Команда touch подобна команде mkdir, только используется для создания файлов. С ее помощью вы можете создать пустой файл. Например, команда touch ~/Public/index.html создаст пустой файл index.html в каталоге Public.

11. Команда ln

Эта команда используется для создания ссылок на файлы или каталоги. Например, если вам нужно чтобы при обращении к каталогу /var/www фактически происходил переход в каталог /tmp , выполните следующую команду:

Ln -s /var/www/ /tmp/

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

Unlink /tmp/www

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

12. Команда sudo

sudo - очень важная, но потенциально опасная программа. Поэтому при попытке ее использования вы можете получить ответ вида Permission denied , Authorization failed или еще что-то в таком же роде.

Например, предположим, что в каталоге /var/www запрещена запись для обычных пользователей. В таком случае чтобы создать пустой файл index.html в каталоге /var/www , используйте команду sudo touch /var/www/index.html .

13. Команда head

Если вы хотите просмотреть несколько начальных строк файла (любого типа), можете воспользоваться командой head. Хорошим практическим примером может служить

Head -20 /var/log/syslog

По этой команде на stdout будут выведены первые 20 строк файла rsyslogd . По умолчанию команда head выводит на экран первые 10 строк.

14. Команда tail

Она подобна команде command, но выводятся 10 (по умолчанию) последних строк указанного файла. Вот пример того, как вывести на экран 30 последних строк протокола работы ядра.

Tail -30 /var/log/kern.log

15. Команда chmod

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

Существуют три основных вида разрешений на доступ: право читать (read), право писать (write) и право исполнять (execute). Каждое из этих разрешений обозначается числом:

  • 4 для разрешения читать (просматривать) файл или каталог
  • 2 для разрешения писать , то есть вносить изменения с содержание файла или каталога
  • 1 для разрешения исполнять

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

Chmod 666 my_file_name

Если вы хотите сделать скрипт исполняемым, нужно выполнить команду

Chmod +x my_script_name

Здесь (прим.переводчика: речь, конечно, идет о том сайте, где опубликована оригинальная статья) скоро будет опубликовано полное описание команды chmod, с рассказом о всех деталях ее использования.

16. Команда md5sum

Иногда вам нужно проверить, был ли файл каким-то образом изменен. Для этого можно использовать команду md5sum, которая хотя и не является самой надежной, но, безусловно, используется наиболее часто.

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

User@host:~$ md5sum ~/OS/slitaz-5.0-rc3.iso ~/OS/slitaz-5.0-rc3.iso

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

17. Команда locate

Это основная команда для поиска файлов и каталогов в Linux. Поскольку ее работа основана на использовании базы данных, вы вначале должны создать такую базу с помощью команды sudo updatedb , что займет у вас несколько минут.

Типичный пример поиска с помощью этой команды выглядит примерно так:

Locate -i *chromium*

Команда позволяет использовать символы-заменители, а параметр -i позволяет игнорировать регистр символов.

18. Команда df

Эта команда используется в тех случаях, когда требуется проверить использование дискового пространства в Linux-системе. Наиболее часто используемый вариант выглядит так, как показано в следующем примере, с применением параметра -h .

19. Команда du

Если вы хотите узнать, сколько места на диске занимает какой-то файл или каталог, используйте команду du .

Пример применения этой команды по отношению к отдельному файлу выглядит следующим образом:

Du -sh /boot/vmlinuz-4.10.10

В случае целой директории с учетом ее содержимого применяем такую команду:

Du -sh /opt/google/chrome/

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

20. Команда free

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

21. Команда zip

Без сомнения вы часто создаете zip-архивы и извлекаете информацию из таких архивов. Для таких операций используются команды zip и unzip .

Скорее всего эти утилиты не установлены в вашей системе по умолчанию. В Ubuntu их можно установить с помощью команды apt .

Sudo apt-get install zip unzip

Синтаксис создания zip-архива

Zip -9r my_archive.zip file_1 file_2 folder_1 folder_2 folder_3

Если используется параметр -9 , zip пытается максимально сжать файлы. Параметр -r используется для рекурсивного архивирования.

Команда unzip по умолчанию извлекает файлы из архива в текущую рабочую директорию (pwd ). Если вы хотите, чтобы извлекаемое содержимое архива попало в определенный каталог, используйте такую команду

Unzip my_archive.zip -d /path/to/my_directory

Существует альтернативный вариант утилиты для работы с архивами, о котором вы можете прочитать в статье 7zip Linux - create, extract and edit 7z archives .

22. Команда ifconfig

ifconfig является сокращением от interface configuration , так что эта команда может делать множество вещей, связанных с настройками сети.

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

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

Ifconfig -a

23. Команда uname

Эта команда выведет основную информацию о вашей системе, как-то название ОС, версию ядра, имя хоста, системное время, архитектуру ОС и так далее. Пример:

Uname -a Linux acer 4.10.10 #2 SMP Mon Apr 24 00:48:20 IST 2017 x86_64 x86_64 x86_64 GNU/Linux

Подробнее о ее параметрах вы можете узнать из соотвествующей страницы man .

24. Команда history

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

Вы также можете быстро найти ранее введенные команды с помощью комбинации клавиш Ctrl + R .

25. Команда man

С помощью этой команды вы можете узнать детали использования других команд.

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

Man ifconfig

Бонус: команды завешения работы

Вы уже устали? Тогда заканчивайте работу и останавливайте вашу систему с помощью следующих консольных команд:

  • shutdown -h now - выключить питание немедленно.
  • shutdown -h +10 - остановить систему через 10 минут.
  • reboot перезагрузить систему немедленно.

Вам может потребоваться использовать команду sudo для запуска перечисленных команд, если вы не суперпользователь. Важно также отметить, что современная команда shutdown есть просто символическая ссылка на демон инициализации systemd .

Заключение

Это пока что все относительно базовых команд Linux, надеюсь, что вам понравилось это длинное, но несколько скучноватое руководство.

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

Примечание переводчика: Приведенные выше описания команд очень краткие и поверхностные. Между тем на нашем сайте вы легко найдете более полное описание любой из перечисленных выше команд, просто задав в поле "Поиск по сайту" (это поле находится в верхней части любой страницы, сразу под логотипом) что-то вроде "команда chmod " (замените имя команды на нужное).

Операционная система 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, термин "команда" означает либо утилиту командной строки, либо определённую возможность, встроенную в командную оболочку системы. Тем не менее, для самих пользователей это различие не имеет особого значения. В конце концов, и те и другие команды терминала Linux вызываются одинаково. Вы вводите слово в вашем эмуляторе терминала и получаете результат выполнения команды.

Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.

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

Это не значит, что я перечислю все команды - я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.

1. ls

Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (L ist) и -a (A ll). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.

2. cat

Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ">". Если нужно вывести только определенное количество строк, используйте опцию -n (N umber).

3. cd

Позволяет перейти из текущего каталога в указанный. Если запустить без параметров - возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.

4. pwd

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

5. mkdir

Создание новых каталогов. Наиболее удобная опция -p (P arents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.

6. file

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

7. cp

Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (R ecursive) или -a (A rchive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.

8. mv

Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование - это перемещение файла в ту же папку с другим именем.

9. rm

Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе "rm съела мою курсовую" никому не будут интересны.

10. ln

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

11. chmod

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

12. chown

Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.

13. find

Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.

14. locate

В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.

15. du

Показывает размер файла или каталога. Самые полезные опций: -h (H uman), которая преобразует размеры файлов в легко читаемый формат, -s (S ummarize), которая выводит минимум данных, и -d (D epth), устанавливающая глубину рекурсии по каталогам.

16. df

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

17.dd

Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.

18 mount / umount

Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от f ollow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную - пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (N umeric), по числовому значению, и -r (R everse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом "с", удалнные - "d", а новые - "а".

Кстати, я подготовил ещё одну подробную статью, в которой описан именно c помощью терминала.

Команды Linux для управления процессами

25. kill / xkill / pkill / killall

Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill - достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.

26. ps / pgrep

Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.

27. top / htop

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

28. time

Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.

Команды Linux окружения пользователя

29. su / sudo

Su и sudo - это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +"%j %V", выведет день в году и номер недели в формате ISO.

31. alias

Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (A ll), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

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

34. sleep

Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности - менять пароль почаще.

Linux команды для просмотра документации

37. man / whatis

Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.

38. whereis

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

Команды Linux для управления сетью

39. ip

Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.

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

Поделитесь с друзьями или сохраните для себя:

Загрузка...