=====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/|источник статьи.]]