Команды для PuTTY, SSH, Unix и Linux серверов

Эта статья не обучит тебя, как пользоваться консолью, как объединять команды в пайпы и перенаправлять ввод-вывод. Она не о том, как писать скрипты или функции. Из нее ты не узнаешь, чем отличается bash от tcsh. Ее задача — показать тебе, как использовать консоль на всю катушку, добавить +50 к скорости ввода команд и +100 к эффективности. Поэтому новичкам стоит начать с базовых руководств или хотя бы изучить linux cheat sheet.

Операции с файлами

Команда Действие
ls показать список файлов и каталогов
ls -al показать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения
cd директория перейти в указанную директорию;
cd перейти в домашний каталог
pwd показать текущую папку
mkdir директория создать папку «директория»
rm имя_файла удалить файл с именем имя_файла
rm -r диретория удалить папку «директория»
cp файл1 файл2 скопировать файл1 в файл2
cp -r папка1 папка2 скопировать папка1 в папка2
touch файл создать файл и с именем «файл»
cat > файл направить стандартный ввод в «файл»
more файл показать содержимое файл
head файл показывает первые 10 строк из файла
tail файл показывает последние 10 строк из файла

Клавишами вверх/вниз

Суть настройки сводится к тому, чтобы не вводить полностью команды, которые ранее набирались. Например, вы вводите 2-3 первых символа команды и нажимаете клавишу вверх — система выводит полную команду, ранее выполненную и начинающуюся с этих 2-3 символов.

Для настройки такого автозаполнения, открываем на редактирование следующий файл:

vi /etc/inputrc

И добавляем в него следуюшие строки:

set show-all-if-ambiguous On "\e[A": history-search-backward "\e[B": history-search-forward

Читайте также:  Manjaro Linux: достойная альтернатива Windows 10

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

Основные команды для работы в командной строке Linux

Команды для службы с файлами и каталогами:

  • pwd – отобразить путь текущего каталога
  • cd – перейти в указанный каталог
  • ls – показать список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
  • cp – копирование файлов/папок
  • mv – смещение файлов/папок
  • mkdir – создать папку
  • rm – удалить файлы/папки, с ключом -r устраняет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
  • rmdir – удаление порожний папки
  • chmod – изменить права доступа к файлу
  • chown — сменить владельца файла или каталога
  • find — отыскать файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — разыскивать от корневого каталога файлы, содержащие в имени символы .X
  • which — отобразить полный путь выполняемого файла, доступного в данной оболочке, например which ifconfig
  • touch — изменить преходящие отметки файла. Удобно использовать для создания пустых файлов – touch myfile основывает пустой файл myfile .

Системные команды

Эти команды обычно используется от имени суперпользователя ( с бригадой sudo ).

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

  • ps – отобразить список текущих активных процессов
  • lsof — отобразить список открытых файлов процесса или юзера
  • strace — отобразить список системных вызовов
  • last — отобразить историю перезагрузок и регистраций юзеров в системе
  • kill – послать сигнал процессу, обычно используется для принудительного завершения службы процесса.
  • killall – завершение работы всех процессов, имена которых заданы метеопараметром командной строки
  • top – отображение списка текущих процессов и интерактивное управление ими.

Сетевые бригады

  • ifconfig – конфигурация сетевых интерфейсов
  • route — таблица маршрутизации
  • ifup / ifdown — подсоединить /выключить сетевой интерфейс
  • ip — просмотр или изменение параметров конфигурации протокола IP
  • netstat — показать состояние сетевых соединений
  • arp, ping, nslookup, traceroute — наиболее часто используемые бригады сетевой диагностики.
Читайте также:  Как установить Node.JS на Linux или на Ubuntu 19.04

Компиляция и запуск программ C, C++

Сначала посмотрим, как скомпилировать и запустить простую программу, написанную на языке Си.

Компиляция и запуск программ на C

Напишите свой код/программу в любимом редакторе CLI/GUI.

Я собираюсь написать свою программу на Си с помощью редактора nano.

$ nano ostechnix.c

Примечание. Вам необходимо использовать расширение .c для программ на Си или .cpp для программ на Си++.

Скопируйте/вставьте следующий код:

#include <stdio.h> int main() { printf(«Welcome To OSTechNix!»); return 0; }

Нажмите Ctrl+O и Ctrl+X для сохранения и выхода из файла.

Чтобы скомпилировать программу, запустите:

$ gcc ostechnix.c -o ostechnix

Или:

$ cc ostechnix.c -o ostechnix

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

Наконец, запустите программу с помощью команды:

$ ./ostechnix

Вы увидите вывод, как показано ниже:

Welcome To OSTechNix!

Чтобы скомпилировать несколько исходных файлов (например, source1 и source2) в исполняемый файл, запустите:

$ gcc source1.c source2.c -o executable

Для разрешения предупреждений, необходима отладка символов на выходе:

$ gcc source.c -Wall -Og -o executable

Скомпилировать исходный код в инструкции ассемблера:

$ gcc -S source.c

Скомпилировать исходный код без связывания:

$ gcc -c source.c

Вышеприведенная команда создаст исполняемый файл под названием source.o.

Если ваша программа содержит математические функции:

$ gcc source.c -o executable -lm

За более подробной информацией обращайтесь к man-страницам (страницы руководства).

$ man gcc

Компиляция и запуск программ на C++

Напишите вашу C++ программу в любом редакторе по вашему выбору и сохраните ее с расширением .cpp.

Пример простой C++ программы:

$ cat

Программа:

#include <iostream> int main() { std::cout << «Welcome To OSTechNix!» << std::endl; return 0; }

Чтобы скомпилировать эту программу на C++ в Linux, просто запустите:

$ g++ -o ostechnix

Если ошибок не было, то можно запустить эту Си++ программу под Linux с помощью команды:

$ ./ostechnix

Выведет:

Welcome To OSTechNix!

В качестве альтернативы мы можем скомпилировать приведенную выше программу на C++, используя команду «make«, как показано ниже.

Читайте также:  Какой программой можно открыть PDF на Linux?

$ make ostechnix

Вы заметили? Я не использовал расширение .cpp в вышеприведенной команде для компиляции программы. Нет необходимости использовать расширение для компиляции Си++ программ с помощью команды make.

Запустите, используя команду:

$ ./ostechnix Welcome To OSTechNix!

За более подробной информацией обращайтесь к man-страницам.

$ man g++

Надеюсь, что статья помогла.

Копируем, удаляем, переименовываем

Казалось бы, что может быть проще, чем скопировать или переименовать файл? Просто вбиваешь команду cp или mv, а затем старое и новое имена:

$ cp

Но зачем утруждать себя, нажимая лишние кнопки, если можно сделать так:

$ cp {,.bak}

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

Можно пойти дальше и использовать не просто замену строк, а регулярные выражения. Для этого нам понадобится команда rename:

$ rename ‘s/регулярка/на_что_заменить/’ *.txt

Такая команда заменит все подстроки, подпадающие под регулярное выражение, в именах всех файлов с расширением .txt. Недурно, не правда ли?

Также стоит изучить команду basename. При обычном использовании она просто выводит последний элемент пути:

$ basename /usr/bin/zsh zsh

Но также ее можно использовать для отрезания частей строки, например:

$ basename .txt file

Ты можешь спросить, что это дает? А вот что:

$ for file in *.png; do convert «$file» «`basename «$file» .png`.jpg» ; done;

Это перекодировщик всех файлов PNG в JPG. Команда крайне проста: мы создаем цикл, который проходится по всем файлам PNG в текущем каталоге, затем запускает команду convert для перекодировки их в JPG. Basename здесь нужен для того, чтобы дать новым файлам корректное имя. Хинт: обратные кавычки запускают заключенную в себя команду в так называемом субшелле. Они нужны для запуска одной команды из другой.

Чтобы понять их мощь, обрати внимание на следующую команду:

$ rm -f `tar ztf /path/to/`

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