Полчаса, чтобы познакомиться с базовыми знаниями, необходимыми для начала работы с CentOS

Linux SSH
Полчаса, чтобы познакомиться с базовыми знаниями, необходимыми для начала работы с CentOS

Запись моего процесса обучения здесь равносильна тому, чтобы сделать заметку и поделиться ею одновременно.Если есть студенты, которым это просто нужно, и эта статья поможет вам, я буду очень рад в следующий раз.

В конце статьи рекомендуется несколько бесплатных видео. На станции Б и МООК довольно много бесплатных обучающих видео, и некоторые из них хорошего качества.

1. Управление файлами в CentOS

1.1 Подкаталоги в корневом каталоге CentOS

когдаcd /в корневой каталог,lsВы можете увидеть множество подкаталогов, как показано ниже:

image-20200229213130445

Эти файлы окрашены:

  • синий указывает на папку;
  • Серым цветом отмечены обычные файлы;
  • Зеленый указывает на исполняемые файлы;
  • Красный означает сжатые файлы;
  • Небесно-голубой означает связанные файлы (ярлыки);

Функции общих каталогов следующие:

  • корзина:Хранит инструкции, выполняемые обычными пользователями, которые также могут выполняться обычными пользователями;
  • Разработчик:Каталог устройств, все аппаратные устройства и периферийные устройства размещаются в этом каталоге устройств;
  • ботинок :Загрузочный каталог, включая файлы ядра Linux и файлы, необходимые для загрузки;
  • дома:Здесь в основном хранятся ваши личные данные, здесь размещаются конкретные файлы настроек каждого пользователя, папка пользователя на рабочем столе и данные пользователя. У каждого пользователя есть собственный каталог пользователя, расположенный по адресу:/home/用户名. Конечно, за исключением пользователя root;
  • USR:каталог размещения приложений;
  • библиотека:Библиотека динамической компоновки, обычно используемая во время загрузки, команды bin и sbin также будут вызывать соответствующую библиотеку lib;
  • температура:Каталог временного хранения файлов;
  • так далее:Различные каталоги файлов конфигурации, здесь хранится большинство свойств конфигурации;

Другая более подробная ссылка на функцию каталога

1.2 Команды, связанные с каталогом

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

эффект Заказ
переключить каталог cd
Показать полный путь к текущему каталогу pwd
Просмотр информации в каталоге (включая скрытые файлы) ls(ls -a)
Список файлов и деталей в каталоге ls-l(ll)
Создать каталог mkdir
Создать файл touch
Копировать файлы (папки) cp(cp -r)
Перемещение/переименование папок и каталогов mv
удалить файл (каталог) rm(rm -rf)
удалить пустые папки rmdir
найти файлы find
получить помощь man / info

Есть также несколько часто используемых сочетаний клавиш:

эффект горячая клавиша
Очистить до начала строки Ctrl + U
Пусто до конца строки Ctrl + K
чистый экран Ctrl + L
команда для прекращения выполнения Ctrl + C

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

1.3 команда дерева для просмотра дерева каталогов

мы можем использоватьtreeкоманда для легкого просмотра дерева каталогов, но сама система не установленаtreeкоманда, поэтому мы должны сначала установить ееsudo yum -y install tree, то мы можем с радостью использовать:

image-20200304133618996

2. Как использовать редактор vim

Редактор vim является часто используемым редактором в системе CentOS, поэтому освоение основных методов его использования очень поможет в дальнейшей работе.

пройти черезvim <文件名>Вы можете редактировать документ, используя метод Если имя документа не существует, для редактирования будет создан новый документ.

image-20200301142523562

vim делится на три режима, а именноКомандный режим,Режим вставкиа такжеРежим последней строки.

2.1 Командный режим

После запуска vim переходит в командный режим, в этом состоянии нажатия клавиш будут расцениваться как команды, а не символы. Несколько часто используемых команд:

  • iпереключитесь в режим ввода для ввода символов;
  • :Переключитесь в командный режим нижней строки, чтобы вводить команды в нижней строке;
  • aПереключиться в режим ввода текста;

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

2.2 Режим ввода

Нажмите в командном режимеiвойти в режим ввода. В режиме ввода доступны следующие клавиши:

Функция Заказ
страница вверх PageDown / Ctrl + F
листать вниз PageUp / Ctrl + B
Перейти к первой строке файла 1G / gg
перейти к конечной строке G
перейти к строке # #G
отображение номера строки :set nu
отображение номера строки отменить :set nonu
вставлять d / Del
удалить текущую строку dd
копировать yy
Вставить содержимое буфера после позиции курсора p

Есть также некоторые другие команды, такие как удаление # строк, начинающихся с курсора.#dd, скопируйте содержимое # строк, начиная с курсора#yyподождите, смотрите документациюодна статья.

2.3 Итоговый командный режим

В командном режиме нажмите : (английское двоеточие), чтобы войти в командный режим нижней строки.

Командный режим нижней строки может вводить односимвольные или многосимвольные команды, и доступно множество команд.

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

  • :qвыйти из программы;
  • :q!Отказаться от модификации содержимого файла и выйти;
  • :wсохранить документ;
  • :w /root/xxСохранить как;
  • :wqсохранить файл и выйти;

2.4 Просмотр содержимого файла

Некоторые общие команды для просмотра содержимого файла:

Функция Заказ
Просмотр всего содержимого файла more / less
Просмотр содержимого файла (показать номера строк) cat (cat -n)
Найти строку в текстовом файле (отобразить номер строки) grep(grep <关键字> <要查找的文件> -n)

2.5 Символ трубы

характер трубыВыполнять результат выполнения одной команды как ввод другой команды, форматcmd1 | cmd2 ... | cmdn

Например,/etcПеречислены файлы в каталоге, имена которых начинаются с pass.ls /etc | grep pass*

Другой пример см./etcСодержимое каталога и просматривать в виде меньшеls /etc | less

2.6 Перенаправление

Функция Заказ
Вывод перенаправляется, а существующий файл заменяется >
перенаправление вывода, добавление к исходному содержимому, если исходный файл существует >>
Перенаправление ввода, то есть ввод команды осуществляется не через клавиатуру, а через другие средства <
перенаправление ошибок 2>
Перенаправление вывода и перенаправление ошибок реализованы одновременно. &>

Например,ls /Результат выполнения команды выводится на2.txtсерединаls / > 2.txt

3. Управление процессами

2.1 Управление процессами

обработать:Это исполняемая программа или команда.Каждый процесс является работающим объектом, имеет собственное адресное пространство и занимает определенные системные ресурсы.

Самое главное в управлении процессамиpsЗаказ:

  • ps aux, просмотреть все процессы в системе, использовать формат операционной системы BSD;
  • ps -le, чтобы просмотреть все процессы в системе, используя стандартный формат команд Linux;

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

image-20200301190653585

Значение формата вывода:

  • ПОЛЬЗОВАТЕЛЬ: каким пользователем был создан процесс;
  • PID: идентификатор процесса;
  • %CPU: процент ресурсов ЦП, занятых процессом;
  • %MEM: процент физической памяти, занятой процессом;
  • VSZ: Размер виртуальной памяти, занимаемой процессом, в КБ;
  • RSS: размер фактической физической памяти, занимаемой процессом, в КБ;
  • TTY: на каком терминале запущен процесс, tty1-tty7 представляет терминал локальной консоли, tty1-tty6 — терминал локального символьного интерфейса, tty7 — графический терминал, pts/0-255 представляет виртуальный терминал, если это так? представляет системный процесс;
  • STAT: статус процесса, R-выполняется, S-спящий режим, T-остановка, s-содержит дочерние процессы, +- находится в фоновом режиме;
  • СТАРТ: время начала процесса;
  • ВРЕМЯ: время вычислений, которое процесс занимает ЦП, обратите внимание, что это не системное время;
  • COMMAND, имя команды, породившей этот процесс;

еще одна командаpstree, показывающее дерево процессов:

image-20200301191720755

topКоманда может просматривать состояние работоспособности системы, аналогично системному менеджеру в системе Windows.

image-20200301192500240

topСледующие команды могут быть выполнены в интерактивном режиме команды:

  • ?/h: показать справку в интерактивном режиме;
  • P: Сортировка по использованию ЦП, по умолчанию это;
  • M: Сортировка по использованию памяти;
  • N: Сортировка по PID;
  • q:покидатьtop;

Три числа после средней нагрузки означают среднюю загрузку системы за предыдущие 1 минуту, 5 минут и 15 минут. Обычно считается, что когда он меньше 1, нагрузка мала. Если больше 1, система перегружена. Если это многоядерный процессор, то это число не должно превышать количество ядер вашего процессора, например, двухъядерный процессор не должен превышать 2.

Зомби за задачами означает процесс зомби. Как правило, процесс не может нормально работать, он не завершился нормально и завис. Также возможно, что процесс находится в процессе завершения. Если он все еще остается после небольшого ожидания, то это нужно проверять вручную.

Идентификатор %CPU(s) — это главное, на что следует обратить внимание, что означает процент простоя ЦП.Если он ниже 20, то состояние системы относительно зависло.

3.2 Убить процесс

Существуют в основном следующие команды для уничтожения процесса:

Функция Заказ
убить процесс kill
убить процесс по имени процесса killall
Убейте процесс по имени процесса, добавьте-tПользователей можно выкинуть по номеру терминала pkill

При убийстве процесса можно следить за сигналами.Сигналов много.Обычные сигналы:

Код сигнала Название сигнала иллюстрировать
1 SIGHUP Пусть процесс немедленно завершится, затем перезапустите после повторного чтения файла конфигурации, плавный перезапуск
2 SIGINT Сигнал завершения программы, используемый для завершения процесса переднего плана, эквивалентный сочетанию клавиш ctrl + c.
9 SIGKILL Принудительное завершение, используется для немедленного завершения работы программы, этот сигнал нельзя заблокировать, обработать или проигнорировать.
15 SIGTERM Сигнал, который завершается нормально, команда kill по умолчанию использует этот сигнал. Иногда процесс имеет проблему и не может быть нормально завершен. В этом случае будет использоваться сигнал -9.

Итак, общая команда для уничтожения процесса: kill normalkill -1 2235или заставить убитьkill -9 2235

3.3 Изменить приоритет процесса

мы можемps -le | moreЧтобы просмотреть приоритет процесса:

image-20200303103127195

PRI означает Priority, а NI означает Nice.Оба значения являются приоритетами.Чем меньше число, тем выше приоритет процесса. Пользователь может изменять только NI, а не PRI напрямую, но система в конечном итоге принимает значение PRI + NI. Диапазон значения NI составляет от -20 до 19, и обычный пользователь может настроить значение NI в диапазоне от 0 до 19 и может настроить только свой собственный процесс, а пользователь root может установить отрицательное значение NI процесса. стоимость.

можно использоватьniceкоманда для изменения приоритета,nice <选项> 命令, команда nice может напрямую присвоить значение NI вновь выполняемой команде, но не может изменить значение NI существующего процесса. Опции-n 值Присвойте команде значение NI.

Например, изменить приоритет процесса apachenice -n -5 service httpd start

Если вы хотите изменить приоритет существующего процесса, вам нужно использоватьreniceЗаказ,renice <优先级> PDID, PID — это идентификатор процесса.

Напримерrenice -10 2125Измените значение NI процесса ID 2125 на -10.

4. Управление работой

  1. Текущий терминал входа может управлять только работой текущего терминала, но не работой других терминалов входа;
  2. Команда, переведенная в фоновый режим, должна иметь возможность работать непрерывно в течение определенного периода времени, чтобы мы могли зафиксировать и управлять работой;
  3. Команды, размещенные в фоновом режиме для выполнения, не могут взаимодействовать с пользователем переднего плана или требовать ввода от переднего плана, в противном случае их можно только приостановить, но не выполнять, когда они помещены в фоновый режим;

Есть две основные команды для перевода процесса в фоновый режим:

  1. <命令> &Поместите команду в фоновый режим и выполните ее в фоновом режиме.
  2. <命令>Нажмите сочетание клавиш ctrl + z после выполнения, поместите его в фоновый режим, чтобы приостановить

Для просмотра работы в фоновом режиме вы можете использоватьjobs [-l]Заказ,-lэто PID, который показывает работу.

image-20200303110244268

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

Вернемся к переднему плану:

  1. fg %工作号Восстановить работу, приостановленную в фоновом режиме, до выполнения на переднем плане, % здесь можно опустить, обратите внимание на разницу между номером работы и PID;
  2. bg %工作号Возобновить работу, приостановленную в фоновом режиме, в фоновый режим для выполнения, а команда на возобновление выполнения в фоновом режиме не может взаимодействовать с передним планом, иначе ее нельзя будет возобновить для выполнения в фоновом режиме;

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

  1. Первый способ — добавить команду, которую необходимо выполнять в фоновом режиме./etc/rc.localдокумент;
  2. Второй метод заключается в использовании системной задачи синхронизации, чтобы позволить системе выполнить фоновую команду в указанное время;
  3. Третий способ заключается в использованииnohupЗаказ;

nohupКак использовать командуnohup <命令> &

5. SSH-операция

Secure Shell (SSH) – это безопасный сетевой протокол, основанный на уровне приложений. Это протокол, разработанный для обеспечения безопасности сеансов удаленного входа в систему и других сетевых служб, который может эффективно компенсировать лазейки в сети. Через SSH все передаваемые данные могут быть зашифрованы, а также может предотвратить спуфинг DNS и спуфинг IP. Также есть дополнительное преимущество, заключающееся в том, что передаваемые данные сжимаются, что позволяет увеличить скорость передачи, что стало стандартной конфигурацией систем Linux.

5.1 SSH-сервер входа в систему

ssh -p port <username>@<hostname or IP address>

Например, купленный здесь облачный сервер Tencent можно использоватьssh root@<公网IP/域名>Подключиться, если вы установили привязку доменного имени к IP, то@Вы также можете написать свое доменное имя сзади, например, я могуssh root@sherlocked93подключиться к серверу.

Затем введите пароль, и вы можете войти в систему CentOS, но каждый раз, когда вы входите в систему, вам нужен пароль, что глупо и небезопасно.Мы можем установить способ использования ключа SSH, а метод входа с ключом может быть Baidu .

После подключения системы вы можете нажать Ctrl+D илиexitкоманда для выхода из удаленного входа.

После подключения к CentOS командная строка в левой части командной строки означает следующее:

image-20200229204354263

5.2 SSH-загрузка/загрузка файла

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

# 上传文件夹到远程服务器
scp -P port -r /local/dir username@servername:/remote/dir
# scp -p 2333 -r /test/a root@192.168.0.101:/var/b

# 从远程服务器下载文件夹
scp -P port -r username@servername:/remote/dir/ /local/dir
# scp -p 2333 -r root@192.168.0.101:/var/b /test/a

-rПараметр указывает на рекурсивное копирование, то есть копирование файлов и каталогов в каталоге.Если вы хотите загрузить один файл, просто поставьте-rудалять. Заглавная букваPУказывает порт, если порт SSH по умолчанию 22 не изменился, то не требуется-P.

5.3 Отключение тайм-аута настройки SSH

При использовании SSH сервер часто автоматически отключается из-за чрезмерного простоя, после чего его необходимо снова подключить.

Один из способов — изменить настройки сервера, чтобы найти.sshКаталог, такой как пользователь root, каталог находится в:/root/.ssh/, создайте файл конфигурации в этом каталоге

vim /root/.ssh/config

Добавьте следующее предложение:

ServerAliveInterval 60

затем снова ESC:wqСохраните и выйдите, и снова откройте оболочку пользователя root, тогда при подключении SSH к удаленному серверу он не будет отключен из-за длительных операций.

Есть еще способ установить$TMOUTсистемные переменные окружения

image-20200307211243796

vim /etc/profileДобавьте в последнюю строку:

export TMOUT=0

настраиватьTMOUTПараметр 0 означает отсутствие таймаута, а затем снова ESC:wqсохранить и выйти, затемsource /etc/profileСделайте так, чтобы конфигурация вступила в силу немедленно.


Справочная документация:

  1. Введение в каталоги в корневом каталоге CentOS Develop Paper
  2. Linux vi/vim | Учебник для новичков
  3. Введение в базовую установку Linux Видеоруководство I - Сеть MOOC
  4. Видеоруководство по управлению редактированием системы Linux II - Сеть МООК
  5. Введение в операционную систему Linux на базе CentOS7 и конфигурацию сервера-bilibili
  6. Решить проблему отключения после слишком долгого бездействия после входа в систему по ssh.

PS: адрес моего блогаGithub - SHERlocked93/blog, вы также можете обратить внимание на мой публичный аккаунт [послеобеденный чай], давайте работать вместе~

Кроме того, вы можете присоединиться к группе WeChat «Front-end Afternoon Tea Exchange Group», нажмите и удерживайте, чтобы определить QR-код ниже, чтобы добавить меня в друзья, обратите вниманиеДобавить группу, я заберу тебя в группу~