=====SSH — Secure Shell===== \\ сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. Википедия * Порт/ID: 22/TCP * Назначение протокола: Удалённый доступ * Основные реализации (клиенты): OpenSSH, PuTTY/KiTTY, SecureCRT, Xshell * Основные реализации (серверы): OpenSSH * Спецификация: RFC 4251 \\ ====Получение прав суперпользователя==== \\ sudo -i После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на su, однако: - **sudo -s** - не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего **sudo -s**, что обычно очень удобно. - **sudo -i** - сменит так же и домашний каталог на /root. \\ {{:software:nas:ssh_1.png?600|}} \\ Для выхода обратно в режим обычного пользователя наберите **exit** или просто нажмите **Ctrl+D** exit {{:software:nas:ssh_6.png?600|}} \\ ====Работа с файлами и каталогами==== \\ ===Расположение каталогов в файловой системе=== При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий. \\ Символ тильда (**~**) обозначает вашу домашнюю папку. Если вы user, то тильда (**~**) — это **/var/services/homes/username**, если superuser - **/root**. Команда **pwd** («print working directory») позволяет вам узнать, в какой директории вы находитесь в данный момент. \\ pwd {{:software:nas:ssh_7.png?600|}} \\ {{:software:nas:ssh_3.png?600|}} \\ **ls** покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями, можно также включить отображение размера файлов, времени последнего изменения и прав на файлы. Например: ls ~ покажет всё, что у вас есть в домашней папке. \\ {{:notes:ssh_4.png?600|}} \\ Вывод подробной информации о содержимом текущей директории, включая скрытые файлы (имя которых начинается с точки): ls -la {{:software:nas:ssh_5.png?600|}} \\ отобразить размер каждого файла из всех файлов в текущем каталоге и отобразить его в удобном для чтения виде. du -h {{:software:nas:ssh_6.png?600|}} \\ ====Просмотр содержимого каталогов==== Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files. \\ Просмотреть содержимое любой директории можно следующими способами: ls имя_директории Либо введя команду: ls /путь _к _директории В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога: dir1 file1 file2 file3 К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l: ls -l Результат выполнения команды: total 16 drwxr-xr-x 2 home demo 4096 Nov 3 17:40 dir1 -rw-r--r-- 1 home demo 13 Nov 8 17:17 file1 -rw-r--r-- 1 home demo 42 Nov 9 13:04 file2 -rw-r--r-- 1 home demo 42 Nov 10 13:04 file3 Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a: ls -a Результат выполнения команды: . dir1 file1 .mysql_history .ssh .. .bash_history file2 file3 .nan Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды: ls -F Результат выполнения команды: dir1/ file1 file2 file3 ====Перемещение между каталогами==== Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory. \\ Для перехода в домашний каталог пользователя user используется команда: cd ~user Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда: cd В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /. \\ Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе. \\ Каждый абсолютный путь должен начинаться с косой черты — символа слэш /. \\ Для перехода в директорию уровнем выше используется команда: cd .. Для перехода в директорию двумя уровнями выше: cd ../.. ====Операции с файлами и каталогами==== У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например: ls --help Далее приведен список основных команд навигации в консоли Linux. ls вывод содержимого каталога; ls -la вывод содержимого каталога в форматированном виде (в т.ч. скрытые файлы); ====Создание==== Создание файлов производится с помощью команды: touch имя_файла Создание каталогов выполняется с помощью команды (make directory)вида: mkdir имя_директории Создание двух каталогов одновременно выполняется с помощью команды: mkdir имя_директории_1 имя_директории_2 Для создания дерева каталогов используется команда следующего вида: mkdir -p /имя_директории_1/имя_директории_2 ====Удаление==== Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory. Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда: rm file1 Команда rm также позволяет удалять не только файлы, но и каталоги. \\ Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive): rm -r dir1 Можно удалить одновременно две директории со всем их содержимым: rm -r имя_директории_1 имя_директории_2 Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение. \\ Команда для удаления файла будет выглядеть так: rm -f file1 Команда для удаления каталога: rm -rf dir1 ====Перемещение==== Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move. \\ Переименовать файл можно с помощью команды: mv имя_файла новое_имя Для того чтобы переместить файл, используется команда: mv имя_файла путь/ ====Копирование==== Для копирования используется команда cp. Название этой команды является сокращением слова copy. \\ Чтобы скопировать файл file1 и назвать его file2, используется команда: cp file1 file2 Для того чтобы копировать директорию dir1 в директорию dir2, используется команда: cp -a dir1/ dir2/ Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды: cp file1 dir1/ ====Редактирование файлов==== Команда **nano** позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования. В результате ввода в терминал команды **nano** будет открыт чистый файл. \\ {{:software:nas:ssh_5.png|}} [ Welcome to nano. For basic help, type Ctrl+G. ] ^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute ^C Location ^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify ^_ Go To Line В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем. \\ В середине должно располагаться содержимое файла, в настоящее время оно пустое. \\ В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ **^** означает клавишу **CTRL.** \\ Для того чтобы открыть справку используйте сочетание клавиш **CTRL-G**. \\ Закрывается справка с помощью сочетания клавиш **CTRL-X**. После закрытия справки мы возвращаемся к редактированию. \\ Для сохранения внесенных изменений следует нажать сочетание клавиш **CTRL-O**. \\ Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить: File Name to Write: ^G Get Help M-D DOS Format M-A Append M-B Backup File ^C Cancel M-M Mac Format M-P Prepend Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать. \\ После ввода имени файла нажмите клавишу **ENTER**. \\ Для того чтобы выйти из тестового редактора нажмите сочетание клавиш **CTRL-X**. \\ Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения: Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? Y Yes N No ^C Cancel Вы можете нажать клавишу **Y**, чтобы сохранить изменения, клавишу **N** для отмены изменений и выхода, или сочетание клавиш **CTRL-C**, чтобы отменить операцию выхода из режима редактирования файла. \\ Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован. \\ Нажмите клавишу **ENTER**, чтобы сохранить файл и выйти из редактора. \\ [[https://selectel.ru/blog/author/admin/|Автор статьи **T-Rex**,]][[https://selectel.ru/blog/tutorials/files-and-directories-in-linux/|источник статьи.]]