Разверните OpenClaw в облаке в один клик
Вход/ Регистрация

Основные команды SSH

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

Для подключения можно использовать терминал в вашей ОС, утилиту PuTTY или же веб-консоль в панели управления. Подробнее см. в статье статье «Подключение по SSH».

Обратите внимание, что команды необходимо вводить в нижнем регистре. Например, pwd — корректное имя команды, Pwd — некорректное. 

Команды для перемещения по каталогам и просмотра их содержимого.

Вывод текущей рабочей директории

Для вывода информации о текущей рабочей директории используется команда pwd.

Пример использования

    
pwd

Вывод:

    
/root

Вывод содержимого директории

Чтобы посмотреть содержимое директории, воспользуйтесь командой ls.

Вывод содержимого текущей директории в несколько колонок (только имена файлов и директорий):

    
ls .

Вывод содержимого текущей директории в одну колонку (только имена файлов и директорий):

    
ls -1

Вывод подробной информации о содержимом текущей директории, включая скрытые файлы (имя которых начинается с точки):

    
ls -la

Вывод содержимого конкретной директории:

    
ls имя_директории

Пример использования

Выведем содержимое текущей директории:

    
ls -la

Вывод:

    
total 16 drwx------  4 username customers 4096 Mar 10 12:56 . drwx------ 14 username customers 4096 Mar 10 12:55 .. -rw-------  1 username customers    0 Mar 10 12:56 .htaccess drwx------  2 username customers 4096 Mar 10 12:55 test drwx------  2 username customers 4096 Mar 10 12:55 test1 -rw-------  1 username customers    0 Mar 10 12:55 test.txt

Здесь . — текущий каталог, а .. — родительский каталог.

Перемещение между директориями

Команда cd позволяет выполнить переход в другую директорию.

Основные способы применения

Перейти в директорию, которая находится в текущей директории:

    
cd dirname

Перейти в родительский каталог (на уровень выше):

    
cd ..

Перейти в домашний каталог:

    
cd

Либо:

    
cd ~

Перейти в домашний каталог по абсолютному пути (начиная с корня):

    
cd /home/u/username

Перейти в предыдущий каталог:

    
cd -

Примеры

Переходим в каталог media:

    
cd /home/u/username/public_html/media

Вы увидите, что текущая директория, которая отображается после двоеточия и до символа $, изменится:

    
username@server:~/public_html/media$

Перейдем в каталог cms:

    
cd cms

Текущая директория снова изменится:

    
username@server:~/public_html/media/cms$

Перейдем в домашний каталог:

    
cd

Мы увидим:

    
username@server:~$

Вернемся в предыдущий каталог:

    
cd -

Перейдем на уровень выше:

    
cd ..

Действия с файлами и каталогами

Создание, удаление, изменений файлов и директорий.

Создание директорий

Команда для создания директорий — mkdir.

Создать директорию:

    
mkdir имя_директории

Создать сразу несколько директорий:

    
mkdir имя_директории1 имя_директории2

Создать дерево директорий:

    
mkdir -p /имя_директории1/имя_директории2

Пример использования

    
ls -l
    
total 0

Создадим директорию:

    
mkdir dir1

Выводим листинг:

    
ls -l
    
total 4 drwx------ 2 username customers 4096 Mar 10 13:16 dir1

Создание файлов

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

Создать новый файл при его отсутствии (если файл существует, содержимое файла не изменяется):

    
touch test.txt

Создать новый файл при его отсутствии (если файл существует, то команда удаляет его содержимое):

    
> test.txt

Создать новый файл при его отсутствии и записать в него строку «test» (если файл существует, то команда заменяет его содержимое на строку «test»):

    
echo "test" > test.txt

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

Также можно создать файл с помощью текстового редактора. На наших серверах доступен nano:

    
nano имя_файла

При этом файл сразу будет открыт для редактирования.

Чтобы сохранить изменения и закрыть файл, в nano можно воспользоваться сочетанием клавиш Crtl X → Y → Enter.

Копирование файлов и каталогов

Копирование каталогов и файлов осуществляется с помощью команды cp.

Основные способы применения

Скопировать файл test.txt в файл test1.txt (файл test.txt должен присутствовать в текущей директории):

    
cp test.txt test1.txt

Скопировать директорию dir1 в директорию dir2, включая всё содержимое (ключ -r означает рекурсивное копирование, директория dir1 должна присутствовать в текущей директории):

    
cp -r dir1 dir2

Перемещение и переименование файлов

Перемещение и переименование файлов выполняется при помощи команды mv.

Основные способы применения

Переименовать файл test.txt в test2.txt (файл test.txt должен присутствовать в текущей директории):

    
mv test.txt test2.txt

Переместить файл test2.txt в директорию dir (файл и директория должны присутствовать в текущей директории):

    
mv test2.txt dir

Примеры использования

    
ls -l
    
total 4
drwx------ 2 username customers 4096 Mar 10 13:37 dir
-rw------- 1 username customers    0 Mar 10 13:37 test.txt

Переименуем файл:

    
mv test.txt test2.txt

Выведем листинг:

    
ls -l
    
total 4 drwx------ 2 username customers 4096 Mar 10 13:37 dir -rw------- 1 username customers    0 Mar 10 13:37 test2.txt

Переместим файл в директорию:

    
mv test2.txt dir

Просмотрим ее содержимое:

    
ls dir
    
test2.txt

Удаление файлов и каталогов

Для удаления объектов используйте команду rm.

Основные способы применения

Удалить файл test.txt в текущем каталоге:

    
rm test.txt

Удалить все файлы в определенной директории:

    
rm /путь/к/файлам/*

Удалить все файлы с расширением .txt в определенной директории:

    
rm /путь/к/файлам/*.txt

Удалить директорию и все ее содержимое:

    
rm -r имя_директории

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

    
rm -i /путь/к/файлам/*.txt

Если же файлов много и вы точно уверены в необходимости их удаления, можно использовать противоположную опцию -f, тогда удаление будет выполнено без подтверждения:

    
rm -f /путь/к/файлам/*.txt

Создание ссылок

Ссылки при работе по SSH-протоколу создаются командой ln.

Основные способы применения

Создать жесткую ссылку:

    
ln file1 file2

Создать символьную ссылку:

    
ln -s file1 file2

Примеры использования

    
ls -l
    
total 0 -rw------- 1 username customers 0 Mar 10 14:08 test.txt

Создадим символьную ссылку:

    
ln -s test.txt link

Выведем листинг:

    
ls -l
    
total 0
lrwxrwxrwx 1 username customers 8 Mar 10 14:08 link -> test.txt
-rw------- 1 username customers 0 Mar 10 14:08 test.txt

Изменение прав доступа к файлам и директориям

Команда chmod позволяет настроить права доступа к файлам и директориям.

Основные способы применения

Изменение прав на xxxx для файла file (file должен существовать в текущей директории):

    
chmod xxxx file

Изменение прав на xxxx для директории dir (dir должна существовать в текущей директории):

    
chmod xxxx dir

Примеры использования

    
ls -l
    
total 4 drwx------ 2 username customers 4096 Mar 10 14:39 dir -rw------- 1 username customers    0 Mar 10 14:39 test.txt

Изменим права на файл:

    
chmod 0644 test.txt

Проверим:

    
ls -l
    
total 4 drwx------ 2 username customers 4096 Mar 10 14:39 dir -rw-r--r-- 1 username customers    0 Mar 10 14:39 test.txt

Изменим права на директорию:

    
chmod 0755 dir/

Проверим:

    
ls -l
    
total 4 drwxr-xr-x 2 username customers 4096 Mar 10 14:39 dir -rw-r--r-- 1 username customers    0 Mar 10 14:39 test.txt

Работа с содержимым файлов

Основные команды для управления содержимым файлов.

Конкатенация содержимого файлов

Команда cat позволяет выполнить конкатенацию (объединение) содержимого файлов и печать его в стандартный поток вывода. Данная команда зачастую используется просто для просмотра содержимого файла.

Примеры использования

    
cat test.txt

Вывод:

    
1
2
3
4
5

Просмотр частей файла

С помощью команд head и tail можно вывести определенное количество строк от начала или конца файла соответственно.

Примеры использования

Вывести две строки с начала:

    
head -2 test.txt
    
1 2

Вывести последнюю строку с конца:

    
tail -1 test.txt
    
5

Поиск по содержимому файла

grep — это популярная команда, позволяющая найти содержимое файлов.

Например, у нас есть файл test1.txt. Просмотрим его содержимое:

    
cat test1.txt
    
1 first string
2 second string
3 another example of a string
4 something in here
5 andalsohere

Примеры использования

Ищем вхождения string:

    
grep 'string' test1.txt
    
1 first string 2 second string 3 another example of a string

Ищем вхождения th:

    
grep 'th' test1.txt
    
3 another example of a string 4 something in here

Ищем вхождения here:

    
grep 'here' test1.txt
    
4 something in here
5 andalsohere

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

Поиск файлов

Используйте команду find, чтобы найти нужный файл.

Основные способы применения

Поиск файлов и каталогов с именем test в текущей директории:

    
find ./ -name 'test'

Поиск в текущей директории файлов и каталогов, имена которых начинаются на test и далее содержат любое количество любых символов:

    
find ./ -name 'test*'

Поиск в домашней директории файлов и каталогов, имена которых начинаются на test и далее содержат любое количество любых символов:

    
find ~/ -name 'test*'

Поиск файлов с расширением .php в домашней директории:

    
find ~/ -name '*.php'

Архивы

Создать архив директории:

    
tar -cf имя_архива.tar имя_директории

Примеры использования

Заархивируем директорию /home/user/директория_сайта/public_html/media/. Для этого сначала перейдем в каталог, в котором находится директория media:

    
cd /home/u/user/имя_сайта/public_html/

Выполним команду архивации и укажем удобное имя архива:

    
tar -cf имя_архива.tar media

Распакуем архив .tar в текущую директорию:

    
tar -xvf архив.tar

Распаковать архив .rar в текущую директорию:

    
unrar x архив.rar

Распаковать архив .zip в текущую директорию:

    
unzip архив.zip

Базы данных

Создание дампа базы данных:

    
mysqldump -u'пользователь_бд' база_данных -p'пароль_базы_данных' > имя_дампа.sql

Импорт данных из дампа в базу данных:

    
mysql -u'пользователь_бд' база_данных -p'пароль_базы_данных' < имя_дампа.sql

Проверка базы данных на наличие ошибок:

    
mysqlcheck -c -u'пользователь_бд' база_данных -p'пароль_базы_данных'

Восстановление базы данных при наличии ошибок:

    
mysqlcheck -r -u'пользователь_бд' база_данных -p'пароль_базы_данных'

Подключение к серверу баз данных:

    
mysql -u база_данных -p

Нажмите Enter, после чего введите пароль базы.

Получение информации о параметрах MySQL:

    
SHOW VARIABLES LIKE 'параметр';
SHOW SESSION VARIABLES LIKE 'параметр';

Например:

    
SHOW SESSION VARIABLES LIKE 'max_join_size';

Завершение работы процессов

Для управления сервисами на современных Linux-серверах используется systemctl. Например, чтобы перезапустить веб-сервер Apache:

    
systemctl restart apache2

Также возможно жесткое завершение процесса с помощью killall. Однако использовать его стоит только в крайних случаях, когда сервис «завис» и не отвечает. Для обычного управления сервисами лучше всегда systemctl restart или systemctl stop/start.

Пример использования killall:

    
killall -9 apache2

Дисковое пространство

Вывод информации о текущей дисковой квоте:

    
quota -s

Вывести размер файлов и директорий в текущем каталоге:

    
du -sch *

Анализ дискового пространства аккаунта (сканирует корневой каталог):

    
ncdu

Просканировать файлы конкретную директорию:

    
ncdu имя_директории

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

Вывод истории команд:

    
history

Очистить экран (сочетание клавиш Ctrl-L):

    
clear

Закрыть подключение по SSH (сочетание клавиш Ctrl-D):

    
exit

Сочетания клавиш

  • Ctrl-C — прервать выполнение текущей команды.
  • Ctrl-Shift-C — копировать выделенный фрагмент (в интерфейсе PuTTY копирование осуществляется простым выделением).
  • Ctrl-Shift-V — вставить (в интерфейсе PuTTY вставка осуществляется нажатием на правую кнопку мыши). 
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев