предисловие
Важность изучения Linux для программиста очевидна. Front-end разработка по сравнению с back-end разработкой, контактLinux
Такая возможность выпадает относительно редко, поэтому часто ее легко упустить из виду. Но хорошо изучить его — одно из обязательных условий для программиста.
Если эта статья была вам полезна, нажмите 👍.
Автор использует облачный сервер Alibaba.ECS
(самый дешевый)CentOS 7.7
64-бит. Конечно, вы также можете установить виртуальную машину на свой компьютер, а затем установить ее на виртуальную машину.CentOS
система (которая совершенно бесплатна). Что касается руководства по установке, вы можете поискать в Google, там есть много соответствующих руководств.
Основы Linux
Операционная система
Операционная системаOperating System
сокращениеOS
, является частью программного обеспечения, это первый уровень программного обеспечения на основе аппаратного обеспечения и мост между аппаратным и другим программным обеспечением.
Операционная система контролирует работу других программ, управляет системными ресурсами, обеспечивает самые основные вычислительные функции, такие как управление и настройка памяти, определение приоритета спроса и предложения системных ресурсов и т. д., а также предоставляет некоторые основные служебные программы.
Что такое линукс
Разница между ядром системы Linux и дистрибутивом Linux
-
Linux
Ядро системы относится кLinus Torvalds
Отвечает за техническое обслуживание, обеспечение уровня аппаратной абстракции, управление жестким диском и файловой системой, а также основные системные программы с функциями многозадачности. -
Linux
Система распределения - это то, что мы часто говоримLinux
операционная система, котораяLinux
Коллекция ядер и различного часто используемого программного обеспечения.
Резюме: правдаLinux
Относится к ядру системы, и мы часто говоримLinux
Относится к «дистрибутиву с некоторым базовым программным обеспечением операционной системы».
Линукс против Виндовс
- стабильный и эффективный;
- бесплатно (или за небольшую плату);
- Меньше уязвимостей и быстрых исправлений;
- Многозадачность и многопользовательский режим;
- Более безопасные политики доступа к пользователям и файлам;
- Встроенные системы, подходящие для небольших программ ядра;
- Относительно низкое потребление ресурсов.
Типы Linux-систем
- Корпоративная версия Red Hat
Linux
:RHEL
является наиболее широко используемым в миреLinux
система. Это чрезвычайно производительная и стабильная система (платная), используемая во многих средах сборки. -
Fedora
: системный пакет версии для настольных ПК, выпущенный Red Hat, пользователи могут бесплатно испытать новейшие технологии или инструменты, которые будут добавлены вRHEL
система, такFedora
также статьRHEL
Экспериментальная версия системы. -
CentOS
: поставивRHEL
Система перекомпилирована и предоставлена пользователям для бесплатного использования.Linux
система с широким кругом пользователей. -
Deepin
: Выпущено в Китае, интегрирует и настраивает отличные продукты с открытым исходным кодом. -
Debian
: Надежная стабильность и безопасность, бесплатная базовая поддержка, высокая степень признания и использования за рубежом. -
Ubuntu
: является производным отDebian
Операционная система имеет надежную совместимость с новым оборудованием.Ubuntu
иFedora
все отличноLinux
настольные системы иUbuntu
Может также использоваться в сфере сервера.
Терминальное подключение к облачному серверу Alibaba
выполнивssh root@121.42.11.34
команду, а затем введите пароль для подключения к серверу, чтобы успешно войти на удаленный сервер. С этого момента мы можем управлять удаленным сервером на локальном компьютере.
- Эта черная панель - терминал
Shell
(Среда командной строки). -
ssh root@xxx
Это команда, которая должна бытьShell
чтобы выполнить.
Shell
Shell
Первоначальное значение слова — «скорлупа», за которым следуетkernel
(Ядро) Соответственно, это метафора слоя вне ядра, то есть диалогового интерфейса между пользователем и ядром.
-
Shell
это программа, которая обеспечивает среду для диалога с пользователем. Эта среда имеет только одну командную строку, позволяющую пользователям вводить команды с клавиатуры, поэтому ее также называют средой командной строки (command line interface
, сокращенноCLI
).Shell
Получите команду, введенную пользователем, отправьте команду операционной системе для выполнения и верните результат пользователю. -
Shell
интерпретатор команд, который интерпретирует команды, введенные пользователем. Он поддерживает такие синтаксисы, как переменные, условные суждения и циклические операции, поэтому пользователи могут использоватьShell
Команда для написания различных небольших программ, также известная какShell
сценарий. Эти скрипты проходят черезShell
Интерпретатор выполняется без компиляции. -
Shell
это набор инструментов, который предоставляет пользователям различные небольшие инструменты для удобного использования функций операционной системы.
Вид оболочки
Shell
Существует множество видов программ, если они могут предоставлять пользователям среду командной строки, их можно рассматривать какShell
.
Исторически главнымShell
Есть следующие:
- Борн Шелл (ш)
- Оболочка Bourne Again (bash)
- C-оболочка (csh)
- TENEX C Shell (tcsh)
- Корн Шелл (кш)
- Z Shell (зш)
- Дружелюбная интерактивная оболочка (рыба)
вBash
является наиболее часто используемымShell
.MacOS
по умолчанию вShell
этоBash
.
выполнивecho $SHELL
команда для просмотра используемых в данный моментShell
. также черезcat /etc/shells
Просмотреть все текущие установки системыShell
тип.
Заказ
приглашение командной строки
После входа в среду командной строки пользователь увидитShell
подсказка. Подсказка часто представляет собой строку префиксов, заканчивающуюся знаком доллара.$
В конце пользователь может вводить различные команды после этого символа.
выполнить простую командуpwd
:
[root@iZm5e8dsxce9ufaic7hi3uZ ~]# pwd
/root
Разбор команды:
-
root
: указывает имя пользователя; -
iZm5e8dsxce9ufaic7hi3uZ
: указывает имя хоста; -
~
: Указывает, что текущий каталог является домашним каталогом, гдеroot
Домашний каталог пользователя/root
Домашний каталог обычных пользователей находится в/home
Вниз; -
#
: указывает права, которые у вас есть (root
Пользователь#
, обычные пользователи$
). -
воплощать в жизнь
whoami
команда для просмотра текущего имени пользователя; -
воплощать в жизнь
hostname
Команда для просмотра текущего имени хоста;
О том, как создавать, переключать и удалять пользователей, пользователи и разрешения будут подробно объяснены позже, здесь первое использованиеroot
пользователю для демонстрации.
[Примечание]root
Это суперпользователь и имеет все разрешения операционной системы.
формат команды
command parameters(命令 参数)
параметр длины
单个参数:ls -a(a 是英文 all 的缩写,表示“全部”)
多个参数:ls -al(全部文件 + 列表形式展示)
单个长参数:ls --all
多个长参数:ls --reverse --all
长短混合参数:ls --all -l
значение параметра
短参数:command -p 10(例如:ssh root@121.42.11.34 -p 22)
长参数:command --paramters=10(例如:ssh root@121.42.11.34 --port=22)
Ярлык
начать учитьсяLinux
Перед командой есть несколько ярлыков, которые нужно освоить заранее, и она будет проходить через весьLinux
Используйте карьеру.
- Используйте клавиши со стрелками вверх и вниз ↑ ↓ для вызова ранее выполненного
Linux
Заказ; - Команды или параметры можно использовать, только введя первые несколько цифр
Tab
ключевое завершение; -
Ctrl + R
: используется для поиска используемых команд (history
команда используется для вывода списка всех ранее использовавшихся команд, затем введите!
команда плюс число (!2
), вы можете напрямую выполнить команду истории); -
Ctrl + L
: очистить экран и переместить текущую строку вверх страницы; -
Ctrl + C
: Прервать текущую выполняемую команду; -
Ctrl + U
: Обрезать от позиции курсора до начала строки; -
Ctrl + K
: Обрезать от позиции курсора до конца строки; -
Ctrl + W
: вырезать слово слева от курсора; -
Ctrl + Y
: вставитьCtrl + U | K | Y
команда вырезать; -
Ctrl + A
: курсор переходит в начало командной строки; -
Ctrl + E
: курсор переходит в конец командной строки; -
Ctrl + D
: закрытиеShell
сеанс;
файлы и каталоги
организация документов
путь просмотра
pwd
Показать путь к текущему каталогу
which
Проверьте путь к исполняемому файлу команды,Linux
Затем каждая команда фактически соответствует исполняемой программе, введите команду в терминале, нажмите проезжую часть, является соответствующей программой,which
Программа, соответствующая самой команде, также существует вLinux
середина.
В общем случае команда представляет собой исполняемую программу.
Просмотр и переключение каталогов
ls
Список файлов и каталогов, этоLinux
Одна из наиболее часто используемых команд.
【Общие параметры】
-
-a
Показать все файлы и каталоги, включая скрытые -
-l
показать подробный список -
-h
подходит для чтения человеком -
-t
Сортировать по времени последнего изменения файла -
-i
показать файлinode
(inode
это идентификатор содержимого файла)
cd
cd
это английскийchange directory
Аббревиатура от , что означает переключение каталогов.
cd / --> 跳转到根目录
cd ~ --> 跳转到家目录
cd .. --> 跳转到上级目录
cd ./home --> 跳转到当前目录的home目录下
cd /home/lion --> 跳转到根目录下的home目录下的lion目录
cd --> 不添加任何参数,也是回到家目录
[Примечание] вводcd /ho
+ синглtab
ключ автоматически заполнит путь + дваждыtab
key выведет список всех возможных каталогов.
du
Список размер каталога информации.
【Общие параметры】
-
-h
подходит для чтения человеком; -
-a
В то же время отображается информация о размере файлов в каталоге; -
-s
Отображается только общий размер, никакой конкретной информации не отображается.
Просмотр и создание файлов
cat
Отображает все содержимое файла сразу, что больше подходит для просмотра небольших файлов.
cat cloud-init.log
【Общие параметры】
-
-n
Отображает номера строк.
less
Отображать содержимое файла в разбивке на страницы, что больше подходит для просмотра больших файлов.
less cloud-init.log
【Быстрая работа】
- Пробел: вперед на одну страницу (один экран);
-
b
клавиша: вернуться на одну страницу назад; - Клавиша ввода: переход на одну строку вперед;
-
y
клавиша: вернуться на одну строку назад; - Клавиши вверх и вниз: переход назад или вперед на одну строку;
-
d
клавиша: вперед на полстраницы; -
u
клавиша: вернуться на полстраницы назад; -
q
ключ: остановить чтение файла, прерватьless
Заказ; -
=
ключ: отображать содержимое текущей страницы, это строка к какой строке в файле и некоторая другая подробная информация о содержимом этой страницы; -
h
клавиша: показать справку; -
/
клавиша: После входа в режим поиска нажмитеn
чтобы перейти к соответствующему элементу, нажмитеN
Клавиша переходит к предыдущему совпадающему элементу, и вы также можете ввести регулярное выражение для сопоставления.
head
Отображение первых нескольких строк файла (по умолчанию 10 строк)
head cloud-init.log
【параметр】
-
-n
Укажите количество строкhead cloud-init.log -n 2
tail
Показать последние несколько строк файла (по умолчанию 10 строк)
tail cloud-init.log
【параметр】
-
-n
Укажите количество строкtail cloud-init.log -n 2
-
-f
Он будет проверять, обновляется ли содержимое файла каждую 1 секунду, вы также можете использовать-s
параметр указывает интервалtail -f -s 4 xxx.log
touch
создать файл
touch new_file
mkdir
создать каталог
mkdir new_folder
【Общие параметры】
-
-p
Структура каталогов рекурсивного созданияmkdir -p one/two/three
Копирование и перемещение файлов
cp
Копировать файлы и каталоги
cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件
cp file one --> 把 file 文件拷贝到 one 目录下,并且文件名依然为 file
cp file one/file_copy --> 把 file 文件拷贝到 one 目录下,文件名为file_copy
cp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下
【Общие параметры】
-
-r
Рекурсивная копия, часто используемая для копирования всего каталога.
mv
Переместите (переименуйте) файл или каталог, аналогично использованию команды cp.
mv file one --> 将 file 文件移动到 one 目录下
mv new_folder one --> 将 new_folder 文件夹移动到one目录下
mv *.txt folder --> 把当前目录下所有 txt 文件移动到 folder 目录下
mv file new_file --> file 文件重命名为 new_file
Удаление и связывание файлов
rm
удалять файлы и каталоги из-заLinux
Корзины под ним нет, после удаления его очень сложно восстановить, поэтому действовать нужно с осторожностью
rm new_file --> 删除 new_file 文件
rm f1 f2 f3 --> 同时删除 f1 f2 f3 3个文件
【Общие параметры】
-
-i
Подтвердите с пользователем, следует ли его удалить; -
-f
Принудительное удаление файла; -
-r
Удаление папок рекурсивно, знаменитая операция удаленияrm -rf
.
ln
английскийLink
Аббревиатура от , что означает создать ссылку.
Прежде чем научиться создавать ссылки, мы должны сначала понять, что такое ссылка, давайте посмотримLinux
Как хранятся файлы:
Linux
Метод хранения файлов делится на 3 части: имя файла, содержимое файла и разрешения.Список имен файлов хранится в других местах на жестком диске, а содержимое файла хранится отдельно.inode
Идентификатор привязан к содержимому файла.
В Linux существует два типа ссылок: жесткие ссылки и программные ссылки.
жесткая ссылка
Сделайте так, чтобы два связанных файла имели одинаковое содержимое файла, которое является одинаковым.inode
, раз есть жесткая ссылка между файлом 1 и файлом 2, то изменение любого файла приведет к изменению одного и того же фрагмента содержимого.Его недостаток в том, что можно создавать только жесткие ссылки на файлы, а не каталоги (на самом деле да, но это сложнее), а программные ссылки могут, поэтому программные ссылки используются более широко.
ln file1 file2 --> 创建 file2 为 file1 的硬链接
если мы используемrm file1
удалитьfile1
,правильноfile2
Это не имеет значения.Для жестких ссылок, если вы удалите файл с любой стороны, содержимое файла, на который он указывает, не будет удалено с жесткого диска. Только удалили одновременноfile1
иfile2
После этого содержимое файлов, на которые они указывают вместе, исчезает.
мягкая ссылка
Мягкие ссылки похожи наwindows
вниз по ярлыку.
ln -s file1 file2
воплощать в жизньls -l
Имя для просмотра конкретной информации о файлах в текущем каталоге
total 0
-rw-r--r-- 1 root root 0 Jan 14 06:29 file1
lrwxrwxrwx 1 root root 5 Jan 14 06:42 file2 -> file1 # 表示file2 指向 file1
фактическиfile2
Толькоfile1
Ярлык для , который указывает наfile1
, так он показываетfile1
содержание, а на самом делеfile2
изinode
иfile1
не то же самое. если мы удалимfile2
если,file1
не влияет, но если удалитьfile1
если,file2
Это станет мертвой ссылкой, потому что указанный файл исчез.
пользователи и разрешения
Пользователь
Linux
является многопользовательской операционной системой. существуетLinux
, по идее, мы можем создать бесконечное количество пользователей, но эти пользователи разбиты на разные группы, есть пользователь с именемroot
, является особым пользователем, он является суперпользователем и имеет самые высокие полномочия.
Пользователь, созданный вами, является пользователем с ограниченными правами, что значительно улучшаетLinux
Безопасность системы может эффективно предотвратить неправильную работу или вирусные атаки, но некоторые выполняемые нами команды можно использовать, когда требуются более высокие привилегии.sudo
Заказ.
sudo
отroot
запустить команду как личность
sudo date --> 当然查看日期是不需要sudo的这里只是演示,sudo 完之后一般还需要输入用户密码的
useradd + passwd
-
useradd
добавить нового пользователя -
passwd
Изменить пароль пользователя
Эти две команды требуютroot
Права пользователя
useradd lion --> 添加一个lion用户,添加完之后在 /home 路径下可以查看
passwd lion --> 修改lion用户的密码
userdel
удалить пользователя, обязательноroot
Права пользователя
userdel lion --> 只会删除用户名,不会从/home中删除对应文件夹
userdel lion -r --> 会同时删除/home下的对应文件夹
su
сменить пользователя, нужноroot
Права пользователя
sudo su --> 切换为root用户(exit 命令或 CTRL + D 快捷键都可以使普通用户切换为 root 用户)
su lion --> 切换为普通用户
su - --> 切换为root用户
Управление группой
Linux
Каждый пользователь принадлежит к определенной группе.Если вы не зададите группу пользователя, по умолчанию будет создана группа с тем же именем пользователя, что и его имя пользователя, и пользователь будет назначен в эту группу.
groupadd
Создание групп, использование иuseradd
Похожий.
groupadd friends
groupdel
удалить существующую группу
groupdel foo --> 删除foo群组
groups
Просмотр групп пользователей
groups lion --> 查看 lion 用户所在的群组
usermod
Используется для изменения учетной записи пользователя.
【Общие параметры】
-
-l
Переименуйте пользователя. должен быть в курсе/home
Имя домашнего каталога пользователя не изменится, и его необходимо изменить вручную. -
-g
Измените группу, в которой находится пользователь, например.usermod -g friends lion
Исправлятьlion
Группа пользователяfriends
. -
-G
Разрешить пользователям добавлять сразу несколько групп, например.usermod -G friends,foo,bar lion
. -
-a
-G
уберет вас из первоначальной группы, если вы не хотите этого делать, вам придется добавить ее снова-a
параметр, что означаетappend
значит добавить.
chgrp
Группа для редактирования файлов.
chgrp bar file.txt --> file.txt文件的群组修改为bar
chown
Изменить владельца файла, требуетсяroot
личность для запуска.
chown lion file.txt --> 把其它用户创建的file.txt转让给lion用户
chown lion:bar file.txt --> 把file.txt的用户改为lion,群组改为bar
【Общие параметры】
-
-R
рекурсивно устанавливать подкаталоги и подфайлы,chown -R lion:lion /home/frank
Пучокfrank
Пользователь и группа папки изменены наlion
.
Управление правами на файлы
chmod
Изменить права доступа.
chmod 740 file.txt
【Общие параметры】
-
-R
Права доступа к файлам могут быть изменены рекурсивно, например.chmod -R 777 /home/lion
Изменить разрешения действительно просто, но более важно понять их более глубокое значение. Давайте учиться систематическиLinux
права доступа к файлам.
[root@lion ~]# ls -l
drwxr-xr-x 5 root root 4096 Apr 13 2020 climb
lrwxrwxrwx 1 root root 7 Jan 14 06:41 hello2.c -> hello.c
-rw-r--r-- 1 root root 149 Jan 13 06:14 hello.c
вdrwxr-xr-x
Указывает права доступа к файлу или каталогу. Давайте интерпретируем, что он представляет?
-
d
: указывает каталог, то есть это каталог, а обычный файл-
, ссылка естьl
. -
r
:read
Указывает, что файл доступен для чтения. -
w
:write
Указывает, что файл доступен для записи и обычно имеет разрешение на запись и разрешение на удаление. -
x
:execute
Указывает, что файл является исполняемым. -
-
: указывает на отсутствие соответствующего разрешения.
Общие разрешения разделены по пользователям, как показано на следующем рисунке:
Теперь давайте поймем это предложениеdrwxr-xr-x
значение:
- это папка;
- Его владелец имеет: права на чтение, запись, выполнение;
- Его групповые пользователи имеют: права на чтение и выполнение, но не права на запись;
- Другие его пользователи имеют: права на чтение, выполнение, без прав на запись.
Теперь, когда разрешения понятны, мы используемchmod
попытаться изменить разрешения.chmod
это не должно бытьroot
Пользователь может работать, пока вы являетесь владельцем этого файла, вы можете использоватьchmod
для изменения прав доступа к файлам.
полномочный орган цифрового присвоения
разрешение | номер |
---|---|
r | 4 |
w | 2 |
x | 1 |
Итак, чтобы изменить разрешения, просто выполните несколько простых дополнений:
chmod 640 hello.c
# 分析
6 = 4 + 2 + 0 表示所有者具有 rw 权限
4 = 4 + 0 + 0 表示群组用户具有 r 权限
0 = 0 + 0 + 0 表示其它用户没有权限
对应文字权限为:-rw-r-----
Используйте буквы для назначения разрешений
-
u
:user
Аббревиатура, означающая «пользователь», означает «владелец». -
g
:group
Аббревиатура , означающая группу, указывает на группу пользователей. -
o
:other
Аббревиатура в других значениях означает других пользователей. -
a
:all
Аббревиатура во всех значениях означает всех пользователей. -
+
: Знак плюс означает добавление разрешений. -
-
: Знак минус, что означает удаление разрешения. -
=
: знак равенства, указывающий на разрешение присваивания.
chmod u+rx file --> 文件file的所有者增加读和运行的权限
chmod g+r file --> 文件file的群组用户增加读的权限
chmod o-r file --> 文件file的其它用户移除读的权限
chmod g+r o-r file --> 文件file的群组用户增加读的权限,其它用户移除读的权限
chmod go-r file --> 文件file的群组和其他用户移除读的权限
chmod +x file --> 文件file的所有用户增加运行的权限
chmod u=rwx,g=r,o=- file --> 文件file的所有者分配读写和执行的权限,群组其它用户分配读的权限,其他用户没有任何权限
найти файлы
locate
Поиск во всех файлах и каталогах, содержащих ключевое слово. После имени файла для поиска вы также можете использовать регулярное выражение.
установить найти
yum -y install mlocate --> 安装包
updatedb --> 更新数据库
locate file.txt
locate fil*.txt
[Уведомление]locate
Команда отправится в базу данных файлов, чтобы найти команду, а не поиск по всему диску, поэтому только что созданный файл не будет обновлен в базе данных, поэтому его невозможно найти, вы можете выполнитьupdatedb
команда для обновления базы данных.
find
Используемый для поиска файлов, он будет перемещаться по вашему жесткому диску для поиска и позволяет нам выполнять последующие операции с каждым найденным файлом, что очень эффективно.
find <何处> <何物> <做什么>
- Где: Указывает каталог для поиска, все подкаталоги этого каталога также будут найдены.
- Что: Что искать, можно искать по названию файла, или по его размеру, или по последнему времени доступа.
- Что делать: После того, как файл найден, можно выполнять последующую обработку, если этот параметр не указан,
find
Команда отобразит только найденные файлы.
Найти по имени файла
find -name "file.txt" --> 当前目录以及子目录下通过名称查找文件
find . -name "syslog" --> 当前目录以及子目录下通过名称查找文件
find / -name "syslog" --> 整个硬盘下查找syslog
find /var/log -name "syslog" --> 在指定的目录/var/log下查找syslog文件
find /var/log -name "syslog*" --> 查找syslog1、syslog2 ... 等文件,通配符表示所有
find /var/log -name "*syslog*" --> 查找包含syslog的文件
[Уведомление]find
команда найдет только те файлы, которые точно соответствуют строке «что», в то время какlocate
найдет все файлы, содержащие ключевое слово.
Найти по размеру файла
find /var -size +10M --> /var 目录下查找文件大小超过 10M 的文件
find /var -size -50k --> /var 目录下查找文件大小小于 50k 的文件
find /var -size +1G --> /var 目录下查找文件大小查过 1G 的文件
find /var -size 1M --> /var 目录下查找文件大小等于 1M 的文件
Найти по времени последнего доступа к файлу
find -name "*.txt" -atime -7 --> 近 7天内访问过的.txt结尾的文件
Найти только каталоги или файлы
find . -name "file" -type f --> 只查找当前目录下的file文件
find . -name "file" -type d --> 只查找当前目录下的file目录
Действие Найти результаты
find -name "*.txt" -printf "%p - %u\n" --> 找出所有后缀为txt的文件,并按照 %p - %u\n 格式打印,其中%p=文件名,%u=文件所有者
find -name "*.jpg" -delete --> 删除当前目录以及子目录下所有.jpg为后缀的文件,不会有删除提示,因此要慎用
find -name "*.c" -exec chmod 600 {} \; --> 对每个.c结尾的文件,都进行 -exec 参数指定的操作,{} 会被查找到的文件替代,\; 是必须的结尾
find -name "*.c" -ok chmod 600 {} \; --> 和上面的功能一直,会多一个确认提示
репозиторий программного обеспечения
Linux
Следующее программное обеспечение существует в виде пакета. Пакет программного обеспечения на самом деле является сжатым пакетом всех файлов программного обеспечения. Он находится в двоичной форме и содержит все инструкции по установке программного обеспечения.Red Hat
Суффикс семейного пакета обычно.rpm
,Debian
Суффикс пакета семейства.deb
.
Linux
Все пакеты существуют в репозитории, называемом репозиторием программного обеспечения, который можно использовать сyum
управлять пакетами,yum
ДаCentOS
Инструмент управления пакетами по умолчанию вRed Hat
семья. можно понимать какNode.js
изnpm
.
ням общие команды
-
yum update | yum upgrade
пакет обновления -
yum search xxx
Найдите соответствующий пакет -
yum install xxx
установить пакет -
yum remove xxx
удалить пакет
Переключить репозиторий CentOS
иногдаCentOS
дефолтyum
Источник не обязательно домашнее зеркало, в результатеyum
Скорость онлайн-установки и обновления не очень идеальна. В это время необходимоyum
Источник указан на отечественном зеркальном сайте. Основными зеркальными сайтами с открытым исходным кодом в Китае являются NetEase и Alibaba Cloud.
1. Сначала сделайте резервную копию системыyum
исходный файл конфигурацииmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. Загрузите облако Alibabayum
исходный файл конфигурации в/etc/yum.repos.d/CentOS7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3. Создать кеш
yum makecache
Прочтите руководство
Linux
Есть много видов команд, и мы не можем запомнить их все на память, поэтому очень важно научиться пользоваться инструкцией.
man
установить обновление человек
sudo yum install -y man-pages --> 安装
sudo mandb --> 更新
человек ручные типы
- исполняемая программа или
Shell
Заказ; - системный вызов (
Linux
функции, предоставляемые ядром); - библиотечные вызовы (функции в программной библиотеке);
- файл (например
/etc/passwd
); - специальные файлы (обычно в
/dev
Вниз); - игра;
- Разное (
man(7)
,groff(7)
); - Команды системного администрирования (обычно доступные только
root
использование пользователем); - подпрограммы ядра.
человек + число + команда
Введите man + номер + команда/функция, вы можете найти соответствующие команды и функции, если номер не добавлен,man
По умолчанию ищите соответствующие команды и функции в руководствах с меньшими номерами.
man 3 rand --> 表示在手册的第三部分查找 rand 函数
man ls --> 查找 ls 用法手册
Ручной анализ области ядра человека: (сman pwd
пример)
NAME # 命令名称和简单描述
pwd -- return working directory name
SYNOPSIS # 使用此命令的所有方法
pwd [-L | -P]
DESCRIPTION # 包括所有参数以及用法
The pwd utility writes the absolute pathname of the current working directory to the standard output.
Some shells may provide a builtin pwd command which is similar or identical to this utility. Consult the builtin(1) manual page.
The options are as follows:
-L Display the logical current working directory.
-P Display the physical current working directory (all symbolic links resolved).
If no options are specified, the -L option is assumed.
SEE ALSO # 扩展阅读相关命令
builtin(1), cd(1), csh(1), sh(1), getcwd(3)
help
man
Команды могут запрашивать подробную информацию о командах или функциях, таких как словарь Синьхуа, но на самом деле у нас есть более быстрый способ запроса,command --help
илиcommand -h
, это неman
Команда показана менее подробно, но ее легче читать.
Расширенный Linux
манипулирование текстом
grep
Глобально ищет регулярное выражение и выводит его на экран. Проще говоря, ищите ключевое слово в файле и отображайте строку, в которой находится ключевое слово.
Базовая грамматика
grep text file # text代表要搜索的文本,file代表供搜索的文件
# 实例
[root@lion ~]# grep path /etc/profile
pathmunge () {
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
unset -f pathmunge
Общие параметры
-
-i
игнорировать регистр,grep -i path /etc/profile
-
-n
показать номера строк,grep -n path /etc/profile
-
-v
показывать только те строки, где нет искомого текста,grep -v path /etc/profile
-
-r
поиск рекурсивно,grep -r hello /etc
, в Linux также есть команда rgrep, эквивалентнаяgrep -r
Расширенное использование
grep
Может использоваться с регулярными выражениями.
grep -E path /etc/profile --> 完全匹配path
grep -E ^path /etc/profile --> 匹配path开头的字符串
grep -E [Pp]ath /etc/profile --> 匹配path或Path
sort
Отсортируйте строки файла.
Базовая грамматика
sort name.txt # 对name.txt文件进行排序
использование экземпляра
Для удобства демонстрации сначала создадим файлname.txt
, поставить следующее:
Christopher
Shawn
Ted
Rock
Noah
Zachary
Bella
воплощать в жизньsort name.txt
Команда для сортировки текстового содержимого.
Общие параметры
-
-o
записать отсортированный файл в новый файл,sort -o name_sorted.txt name.txt
; -
-r
обратный порядок,sort -r name.txt
; -
-R
случайный порядок,sort -R name.txt
; -
-n
Сортировка чисел, по умолчанию числа распознаются как строки, поэтому 138 будет отсортировано перед 25, если добавить-n
В числовом порядке 25 будет стоять перед 138.
wc
word count
Аббревиатура для статистики файла. Он может подсчитывать количество слов, строк, символов, байтов и т. д.
Базовая грамматика
wc name.txt # 统计name.txt
использование экземпляра
[root@lion ~]# wc name.txt
13 13 91 name.txt
- Первые 13 представляют количество строк;
- Вторые 13 представляют количество слов;
- Третий 91 представляет количество байтов.
Общие параметры
-
-l
подсчитайте только количество строк,wc -l name.txt
; -
-w
считать только количество слов,wc -w name.txt
; -
-c
Только считать количество байтов,wc -c name.txt
; -
-m
Считайте только количество символов,wc -m name.txt
.
uniq
Удалить дублированный контент в файлах.
Базовая грамматика
uniq name.txt # 去除name.txt重复的行数,并打印到屏幕上
uniq name.txt uniq_name.txt # 把去除重复后的文件保存为 uniq_name.txt
[Примечание] Он может удалить только количество последовательных повторяющихся строк.
Общие параметры
-
-c
Подсчитайте количество повторяющихся строк,uniq -c name.txt
; -
-d
показать только количество повторяющихся строк,uniq -d name.txt
.
cut
Вырезать часть файла.
Базовая грамматика
cut -c 2-4 name.txt # 剪切每一行第二到第四个字符
Общие параметры
-
-d
Используется для указания используемых разделителей (таких как запятые, точки с запятой, двойные кавычки и т. д.).cut -d , name.txt
; -
-f
Указывает, какая часть или области должны быть вырезаны с помощью разделителя,cut -d , -f 1 name.txt
.
перенаправить поток трубы
существуетLinux
Место назначения команды может иметь 3 места: терминал, файл, как входной параметр другой команды.
Команды обычно вводятся с клавиатуры, а затем выводятся на терминалы, в файлы и т. д. Его стандартный язык —stdin
,stdout
а такжеstderr
.
- стандартный ввод
stdin
, терминал получает ввод команды с клавиатуры и выдает два вида вывода; - стандартный вывод
stdout
, информация, выводимая терминалом (не включая информацию об ошибках); - стандартный вывод ошибок
stderr
, сообщение об ошибке, выводимое терминалом.
перенаправить
Передает результат команды, который в противном случае отображался бы в терминале в другом месте (в файле или в качестве ввода для другой команды).
перенаправление вывода>
>
означает перенаправление на новый файл,cut -d , -f 1 notes.csv > name.csv
, что означает сокращение запятойnotes.csv
файл (3 части после вырезания), чтобы получить первую часть, перенаправить наname.csv
документ.
Давайте рассмотрим конкретный пример, чтобы узнать, как его использовать, допустим, у нас есть файлnotes.csv
, содержимое файла следующее:
Mark1,951/100,很不错1
Mark2,952/100,很不错2
Mark3,953/100,很不错3
Mark4,954/100,很不错4
Mark5,955/100,很不错5
Mark6,956/100,很不错6
Выполнение заказа:cut -d , -f 1 notes.csv > name.csv
Окончательный вывод выглядит следующим образом:
Mark1
Mark2
Mark3
Mark4
Mark5
Mark6
【Примечание】Использование>
Следует отметить, что если выходной файл не существует, будет создан новый, а если выходной файл уже существует, он будет перезаписан. Поэтому выполняйте эту операцию очень осторожно, чтобы не перезаписать другие важные файлы.
перенаправление вывода>>
означает перенаправление в конец файла, так что это не будет выглядеть как>
Команда настолько опасна, что добавляется в конец файла (конечно, если файл не существует, он тоже будет создан).
выполнить сноваcut -d , -f 1 notes.csv >> name.csv
, добавит имя кname.csv
в.
Mark1
Mark2
Mark3
Mark4
Mark5
Mark6
Mark1
Mark2
Mark3
Mark4
Mark5
Mark6
что мы обычно читаемlog
Файлы журнала фактически выводятся с помощью этой команды.
перенаправление вывода2>
стандартный вывод ошибок
cat not_exist_file.csv > res.txt 2> errors.log
- когда мы
cat
Когда файл используется, содержимое файла будет напечатано на экране, что является стандартным выводом; - при использовании
> res.txt
, он не будет печатать на экране, а будет записывать стандартный вывод в файлres.txt
в файле; -
2> errors.log
будет написано при возникновении ошибкиerrors.log
в файле.
перенаправление вывода2>>
Стандартный вывод ошибки (добавляется в конец файла) такой же, как>>
сходство.
перенаправление вывода2>&1
И stdout, и stderr перенаправляются в одно место
cat not_exist_file.csv > res.txt 2>&1 # 覆盖输出
cat not_exist_file.csv >> res.txt 2>&1 # 追加输出
До сих пор ввод команд, с которыми мы связывались, исходил из параметров команды.На самом деле ввод команды также может исходить из ввода файла или клавиатуры.
перенаправление ввода<
<
Символ используется для указания ввода команды.
cat < name.csv # 指定命令的输入为 name.csv
Хотя его результат такой же, какcat name.csv
одинаковые, но принципы у них совершенно разные.
-
cat name.csv
Выражатьcat
Ввод, полученный командой,notes.csv
имя файла, то вам нужно сначала открыть файл, а затем распечатать содержимое файла. -
cat < name.csv
Выражатьcat
Ввод, полученный командой, напрямуюnotes.csv
содержимое этого файла,cat
Команда отвечает только за печать своего содержимого, открытие файла и передачу содержимого файла вcat
Работа команды передается терминалу для завершения.
перенаправление ввода<<
Перенаправить ввод с клавиатуры на ввод команды.
sort -n << END # 输入这个命令之后,按下回车,终端就进入键盘输入模式,其中END为结束命令(这个可以自定义)
wc -m << END # 统计输入的单词
трубопровод|
Используйте две команды вместе.Вывод одной команды используется как ввод другой команды.Английскийpipeline
, можно представить, что трубы соединены друг с другом, и трубы представляют собой некий перенаправленный поток.
Вот несколько практических случаев использования:
cut -d , -f 1 name.csv | sort > sorted_name.txt
# 第一步获取到的 name 列表,通过管道符再进行排序,最后输出到sorted_name.txt
du | sort -nr | head
# du 表示列举目录大小信息
# sort 进行排序,-n 表示按数字排序,-r 表示倒序
# head 前10行文件
grep log -Ir /var/log | cut -d : -f 1 | sort | uniq
# grep log -Ir /var/log 表示在log文件夹下搜索 /var/log 文本,-r 表示递归,-I 用于排除二进制文件
# cut -d : -f 1 表示通过冒号进行剪切,获取剪切的第一部分
# sort 进行排序
# uniq 进行去重
поток
поток это не команда, в информатике потокstream
Значение более сложно понять, просто запомните одно:Потоковая передача — это чтение небольшого количества данных и обработка небольшого количества данных. Данные, как правило, в двоичном формате.Упомянутое выше перенаправление или конвейер предназначено для обработки данных как потока.
До сих пор мы соприкасались со потоками, редиректами, пайпами и т.д.Linux
Расширенные концепции и инструкции. На самом деле вы обнаружите, что потоки и конвейеры широко используются и в других языках.Angular
Каналы можно использовать в синтаксисе шаблона в .Node.js
Также вstream
концепция потока.
Посмотреть прогресс
существуетWindows
прошел вCtrl + Alt + Delete
Горячая клавиша для просмотра программного процесса.
w
Помогите нам быстро понять, какие пользователи в настоящее время вошли в систему и что они делают.
[root@lion ~]# w
06:31:53 up 25 days, 9:53, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 118.31.243.53 05:56 1.00s 0.02s 0.00s w
06:31:53:表示当前时间
up 25 days, 9:53:表示系统已经正常运行了“25天9小时53分钟”
1 user:表示一个用户
load average: 0.00, 0.01, 0.05:表示系统的负载,3个值分别表示“1分钟的平均负载”,“5分钟的平均负载”,“15分钟的平均负载”
USER:表示登录的用于
TTY:登录的终端名称为pts/0
FROM:连接到服务器的ip地址
LOGIN@:登录时间
IDLE:用户有多久没有活跃了
JCPU:该终端所有相关的进程使用的 CPU 时间,每当进程结束就停止计时,开始新的进程则会重新计时
PCPU:表示 CPU 执行当前程序所消耗的时间,当前进程就是在 WHAT 列里显示的程序
WHAT:表示当下用户正运行的程序是什么,这里我运行的是 w
ps
Используется для отображения процессов в текущей системе,ps
Список процессов, отображаемых командой, не будет обновляться со временем, он статичен, он запущенps
Состояние команды на данный момент или моментальный снимок процесса.
Базовая грамматика
[root@lion ~]# ps
PID TTY TIME CMD
1793 pts/0 00:00:00 bash
4756 pts/0 00:00:00 ps
PID:进程号,每个进程都有唯一的进程号
TTY:进程运行所在的终端
TIME:进程运行时间
CMD:产生这个进程的程序名,如果在进程列表中看到有好几行都是同样的程序名,那么就是同样的程序产生了不止一个进程
Общие параметры
-
-ef
перечислить все процессы; -
-efH
Список всех процессов в дереве; -
-u
Список процессов, запущенных этим пользователем; -
-aux
пройти черезCPU
и использование памяти для фильтрации процессовps -aux | less
; -
-aux --sort -pcpu
в соответствии сCPU
Используйте порядок убывания,-aux --sort -pmem
Указывает, что использование памяти находится в порядке убывания; -
-axjf
Отобразить процесс в древовидной структуре,ps -axjf
это иpstree
Эффект аналогичен.
top
Получить динамический список процессов.
top - 07:20:07 up 25 days, 10:41, 1 user, load average: 0.30, 0.10, 0.07
Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1882072 total, 552148 free, 101048 used, 1228876 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1594080 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
956 root 10 -10 133964 15848 10240 S 0.7 0.8 263:13.01 AliYunDun
1 root 20 0 51644 3664 2400 S 0.0 0.2 3:23.63 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
-
top - 07:20:07 up 25 days, 10:41, 1 user, load average: 0.30, 0.10, 0.07
довольноw
Информация о первой строке команды. - Показанные процессы основаны на использовании процессора
%CPU
Отсортировано по использованию.
kill
завершить процесс,kill + PID
.
kill 956 # 结束进程号为956的进程
kill 956 957 # 结束多个进程
kill -9 7291 # 强制结束进程
процесс управления
статус процесса
В основном для переключения состояния процесса. Давайте сначала разберемсяLinux
Следующие пять состояний процесса:
- код состояния
R
: указывает рабочее состояние; - код состояния
S
: Указывает на прерывание (в состоянии покоя, заблокировано, при формировании определенного состояния или получении сигнала выходит из этого состояния); - код состояния
D
: указывает на непрерываемость (процесс не отвечает на системные асинхронные сигналы и не может быть прерван даже командой kill); - код состояния
Z
: указывает на зомби (процесс завершен, но дескриптор процесса все еще существует до тех пор, пока родительский процесс не вызоветwait4()
отпустите процесс после системной функции); - код состояния
T
: указывает на остановку (процесс получаетSIGSTOP
,SIGSTP
,SIGTIN
,SIGTOU
Остановите бег, дождавшись стоп-сигнала).
Процесс переднего плана и фоновый процесс
По умолчанию все процессы, созданные пользователем, являются процессами переднего плана.Процессы переднего плана считывают данные с клавиатуры и выводят результаты обработки на дисплей. например запуститьtop
команда, это процесс переднего плана, который выполняется все время.
Преимущество фонового процесса в том, что вы можете вводить другие команды, не дожидаясь завершения работы программы. Добавить после команды для выполнения&
символ означает запуск фонового процесса.
&
Запустите фоновый процесс, его недостаток в том, что фоновый процесс связан с терминалом, и как только терминал закрывается, процесс завершается автоматически.
cp name.csv name-copy.csv &
nohup
Сделайте процесс невосприимчивым к зависаниям (таким как закрытие терминала).
nohup cp name.csv name-copy.csv
nohup
команда также может быть объединена с&
В сочетании с.
nohup cp name.csv name-copy.csv &
bg
Сделать "паузу в фоновом режиме" процесса, статус меняется на "работает в фоновом режиме".
bg %1 # 不加任何参数的情况下,bg命令会默认作用于最近的一个后台进程,如果添加参数则会作用于指定标号的进程
Фактический случай 1:
1. 执行 grep -r "log" / > grep_log 2>&1 命令启动一个前台进程,并且忘记添加 & 符号
2. ctrl + z 使进程状态转为后台暂停
3. 执行 bg 将命令转为后台运行
Фактический случай 2:
前端开发时我们经常会执行 yarn start 启动项目
此时我们执行 ctrl + z 先使其暂停
然后执行 bg 使其转为后台运行
这样当前终端就空闲出来可以干其它事情了,如果想要唤醒它就使用 fg 命令即可(后面会讲)
jobs
Отображает текущее состояние фонового процесса терминала.
[root@lion ~]# jobs
[1]+ Stopped top
[2]- Running grep --color=auto -r "log" / > grep_log 2>&1 &
fg
fg
Сделайте процесс запущенным на переднем плане, используя иbg
Команды аналогичны.
Мы используем картинку для представления переключения передних и фоновых процессов:
Мы можем заставить программу работать в фоновом режиме как фоновый процесс, чтобы мы могли делать другие вещи в текущем терминале, не дожидаясь завершения процесса.
демон
Работающая программа называется процессом. существуетLinux
Некоторые процессы являются особыми, они не связаны ни с одним процессом и работают в фоновом режиме независимо от личности пользователя, родительским процессом этих процессов являетсяPID
это процесс 1,PID
Процессы со значением 1 будут уничтожены только при выключении системы. Они продолжают работать в фоновом режиме, ожидая назначения работы. Мы называем этот тип процесса демономdaemon
.
Имя демона обычно имеет последнююd
,Выражатьdaemon
гвардии значение, напримерsystemd
,httpd
.
systemd
systemd
ЯвляетсяLinux
Набор компонентов системной инфраструктуры, которые обеспечивают диспетчер системы и служб, работающий какPID 1
И отвечает за запуск других программ.
[root@lion ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 51648 3852 ? Ss Feb01 1:50 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
Вы также можете увидеть это с помощью командыPID
Процесс 1 естьsystemd
системный процесс.
systemd
Общие команды (это набор команд):
systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
systemctl status nginx # 查看服务状态
systemctl reload nginx # 重载配置文件(不停止服务的情况)
systemctl enable nginx # 开机自动启动服务
systemctl disable nginx # 开机不自动启动服务
systemctl is-enabled nginx # 查看服务是否开机自动启动
systemctl list-unit-files --type=service # 查看各个级别下服务的启动和禁用情况
Сжатие и распаковка файлов
- Упаковка: это преобразование нескольких файлов в общий файл, его научное название - архив, архив.
- Сжатие: это сжатие большого файла (обычно называемого архивом) в небольшой файл.
мы часто используемtar
Архивирование нескольких файлов в общий файл с именемarchive
. затем используйтеgzip
илиbzip2
команда будетarchive
Сжато в файлы меньшего размера.
tar
Создаватьtar
Архив.
Основное использование
tar -cvf sort.tar sort/ # 将sort文件夹归档为sort.tar
tar -cvf archive.tar file1 file2 file3 # 将 file1 file2 file3 归档为archive.tar
Общие параметры
-
-cvf
Выражатьcreate
(создать)+verbose
(подробно)+file
(файл), который создает архив и отображает детали операции; -
-tf
Отображать содержимое архива, не распаковывая архив; -
-rvf
добавить файлы в архив,tar -rvf archive.tar file.txt
; -
-xvf
распаковать архив,tar -xvf archive.tar
.
gzip / gunzip
"сжать/распаковать" архивы, по умолчаниюgzip
команда, суффикс сжатого файла.tar.gz
.
gzip archive.tar # 压缩
gunzip archive.tar.gz # 解压
tar-архив + сжать
Можно использоватьtar
Команда выполняет операции архивирования и сжатия одновременно, что даетtar
Добавьте в команду еще один опциональный параметр, чтобы после завершения операции архивирования она все равно вызываласьgzip
илиbzip2
команда для завершения операции сжатия.
tar -zcvf archive.tar.gz archive/ # 将archive文件夹归档并压缩
tar -zxvf archive.tar.gz # 将archive.tar.gz归档压缩文件解压
zcat, zless, zmore
использовался раньшеcat less more
Вы можете просмотреть содержимое файла, но содержимое сжатого файла не может быть просмотрено с помощью этих команд, но с помощьюzcat、zless、zmore
смотреть.
zcat archive.tar.gz
zip/unzip
"сжать/распаковать"zip
документ(zip
Сжатые файлы обычно поступают изwindows
Операционная система).
команда для установки
# Red Hat 一族中的安装方式
yum install zip
yum install unzip
Основное использование
unzip archive.zip # 解压 .zip 文件
unzip -l archive.zip # 不解开 .zip 文件,只看其中内容
zip -r sort.zip sort/ # 将sort文件夹压缩为 sort.zip,其中-r表示递归
Скомпилируйте и установите программное обеспечение
Прежде чем мы научились использоватьyum
команду для установки программного обеспечения, если вы столкнулисьyum
Для программного обеспечения, которого нет на складе, нам необходимо установить «компиляцию и установку исходного кода» для более продвинутого программного обеспечения.
Скомпилируйте и установите
Проще говоря, компиляция — это процесс преобразования исходного кода программы в исполняемый файл. самыйLinux
Все программы имеют открытый исходный код и могут быть скомпилированы в исполняемые файлы, подходящие для свойств нашего компьютера и операционной системы.
Основные шаги заключаются в следующем:
- Скачать исходный код
- Разархивируйте сжатый пакет
- настроить
- компилировать
- Установить
фактический случай
1. Скачать
Скомпилируем и установимhtop
Программное обеспечение, сначала загрузите исходный код с официального сайта:bintray.com/ и top/source…
Загруженный исходный код синхронизируется с сервером с помощью следующей команды на локальном компьютере:
scp 文件名 用户名@服务器ip:目标路径
scp ~/Desktop/htop-3.0.0.tar.gz root@121.42.11.34:.
также можно использоватьwegt
Скачать:
wegt+下载地址
wegt https://bintray.com/htop/source/download_file?file_path=htop-3.0.0.tar.gz
2. Разархивируйте файл
tar -zxvf htop-3.0.0.tar.gz # 解压
cd htop-3.0.0 # 进入目录
3. Конфигурация
воплощать в жизнь./configure
, он проанализирует ваш компьютер, чтобы убедиться, что все инструменты, необходимые для компиляции, установлены.
4. Скомпилируйте
воплощать в жизньmake
Заказ
5. Установка
воплощать в жизньmake install
команда, выполняемая после завершения установкиls /usr/local/bin/
Проверьте, есть лиhtop
Заказ. Если есть, то можно выполнитьhtop
команда для просмотра системных процессов.
Интернет
ifconfig
Проверятьip
Информация, связанная с сетью, если команда не существует, выполните командуyum install net-tools
Установить.
[root@lion ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.31.24.78 netmask 255.255.240.0 broadcast 172.31.31.255
ether 00:16:3e:04:9c:cd txqueuelen 1000 (Ethernet)
RX packets 1592318 bytes 183722250 (175.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1539361 bytes 154044090 (146.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Разбор параметров:
-
eth0
В соответствии с проводным соединением (соответствующим вашей проводной сетевой карте), это использование сетевого кабеля для подключения к Интернету.eth
ДаEthernet
Аббревиатура от «Ethernet». К некоторым компьютерам может быть подключено несколько сетевых кабелей одновременно, например к серверам, поэтому в дополнение кeht0
, вы также увидитеeth1
,eth2
Ждать. -
lo
представляет локальную петлю (Local Loopback
Аббревиатура , соответствующая виртуальной сетевой карте) можно увидеть ееip
адрес127.0.0.1
. Каждый компьютер должен иметь этот интерфейс, потому что он соответствует «связи с самим собой». Вот почему это называется «локальная петля». Все, что отправляется через этот интерфейс, возвращается на ваш собственный компьютер. Вроде не много, но иногда по какой-то причине нужно подключиться самим. Например, он используется для тестирования сетевой программы, но вы не хотите, чтобы ее видели пользователи в локальной сети или внешней сети, вы можете запустить и просмотреть все сетевые интерфейсы только на этом хосте. Например, когда мы запускаем front-end проект, вводим в браузере127.0.0.1:3000
Запустите проект, чтобы увидеть свои собственныеweb
веб-сайт, и только вы можете его видеть. -
wlan0
Указывает на беспроводную локальную сеть (не показана в приведенном выше случае).
host
ip
Взаимное преобразование адресов и имен хостов.
Установка программы
yum install bind-utils
Основное использование
[root@lion ~]# host github.com
baidu.com has address 13.229.188.59
[root@lion ~]# host 13.229.188.59
59.188.229.13.in-addr.arpa domain name pointer ec2-13-229-188-59.ap-southeast-1.compute.amazonaws.com.
ssh подключиться к удаленному серверу
Через асимметричное шифрование и симметричное шифрование (такое же, какHTTPS
Принцип безопасного соединения аналогичен подключению к удаленному серверу.
ssh 用户@ip:port
1、ssh root@172.20.10.1:22 # 端口号可以省略不写,默认是22端口
2、输入连接密码后就可以操作远端服务器了
настроить ssh
config
файл можно настроитьssh
, что удобно для пакетного управления несколькимиssh
соединять.
Конфигурационные файлы делятся на следующие типы:
- Глобальный
ssh
Конфигурация сервера:/etc/ssh/sshd_config
; - Глобальный
ssh
Конфигурация клиента:/etc/ssh/ssh_config
(редко модифицируется); - Текущий пользователь
ssh
Конфигурация клиента:~/.ssh/config
.
【Серверconfig
Общие параметры конфигурации файла]
Параметры конфигурации сервера | эффект |
---|---|
Port | номер порта службы sshd (по умолчанию 22) |
PermitRootLogin | Разрешить ли вход в качестве пользователя root (по умолчанию да) |
PasswordAuthentication | Разрешить ли вход с аутентификацией по паролю (по умолчанию да) |
PubkeyAuthentication | Разрешить ли вход с аутентификацией с открытым ключом (по умолчанию да) |
PermitEmptyPasswords | Разрешить ли вход с пустым паролем (небезопасно, не разрешено по умолчанию) |
[Примечание] После изменения файла конфигурации сервера необходимо перезапустить службу.systemctl restart sshd
【Клиентconfig
Общие параметры конфигурации файла]
Параметры конфигурации клиента | эффект |
---|---|
Host | псевдоним |
HostName | Имя удаленного хоста (или IP-адрес) |
Port | порт для подключения к удаленному хосту |
User | имя пользователя |
Настройка текущего пользователяconfig
:
# 创建config
vim ~/.ssh/config
# 填写一下内容
Host lion # 别名
HostName 172.x.x.x # ip 地址
Port 22 # 端口
User root # 用户
После того, как эта конфигурация будет завершена, при следующем входе вы можете войти в систему следующим образом.ssh lion
автоматически распознается какroot
Пользователь.
[Примечание] Эта конфигурация находится не на сервере, а на вашей собственной машине, она просто устанавливает псевдоним.
Вход без пароля
ssh
Существует два типа входа в систему, один основан на пароле (пароле учетной записи), а другой на основе ключа.
На основе пароля, то есть ввод номера учетной записи и пароля каждый раз, когда вы входите в систему.Очевидно, что это более хлопотно.Сегодня я в основном изучаю, как реализовать беспарольный вход на основе ключа.
На основе принципа аутентификации ключа
Клиент создает пару ключей (открытый ключ и закрытый ключ), загружает открытый ключ на сервер и сравнивает его с открытым ключом сервера при каждом входе в систему. проверка ключа. "Войти".
Конкретные этапы реализации
1. Сгенерируйте пару ключей (открытый ключ и закрытый ключ) в клиентеssh-keygen
(по умолчанию используется алгоритм асимметричного шифрования RSA)
закончитьсяssh-keygen
Будет в~/.ssh/
каталог, создайте два файла:
-
id_rsa.pub
: открытый ключ -
id_rsa
: закрытый ключ
2. Передать публичный ключ клиента сервису
воплощать в жизньssh-copy-id root@172.x.x.x
(ssh-copy-id
Он добавит открытый ключ клиента к серверу~/.ssh/authorized_keys
файл).
После завершения выполнения запуститеssh root@172.x.x.x
Вы можете добиться беспарольного входа на сервер.
С псевдонимом, установленным выше, выполните напрямуюssh lion
Вы можете авторизоваться, это очень удобно.
wget
Это позволяет нам загружать файлы прямо из консоли терминала, просто нужно указать HTTP или FTP-адрес файла.
wget [参数][URL地址]
wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip
wget
Очень стабильно, если загрузка не удалась по сетевым причинам,wget
будет продолжать попытки, пока весь файл не будет загружен.
Общие параметры
-
-c
Возобновить прерванную загрузку.
резервный
scp
этоSecure Copy
Аббревиатура для безопасного копирования.scp
Это позволяет нам копировать файлы с одного компьютера на другой через сеть.
scp
основан наssh
действует по принципуssh
создает защищенный канал связи между двумя компьютерами, соединенными через сеть,scp
Просто используйте этот конвейер для безопасного копирования файлов.
scp source_file destination_file # source_file 表示源文件,destination_file 表示目标文件
вsource_file
иdestination_file
можно выразить как:user@ip:file_name
,user
имя для входа,ip
это доменное имя илиip
адрес.file_name
это путь к файлу.
scp file.txt root@192.168.1.5:/root # 表示把我的电脑中当前文件夹下的 file.txt 文件拷贝到远程电脑
scp root@192.168.1.5:/root/file.txt file.txt # 表示把远程电脑上的 file.txt 文件拷贝到本机
rsync
rsync
Команда в основном используется для удаленной синхронизации файлов. Он может синхронизировать два каталога, независимо от того, находятся ли они на одном компьютере или нет. Это должна быть наиболее часто используемая команда для «инкрементных резервных копий». это умная версияscp
Заказ.
Установка программы
yum install rsync
Основное использование
rsync -arv Images/ backups/ # 将Images 目录下的所有文件备份到 backups 目录下
rsync -arv Images/ root@192.x.x.x:backups/ # 同步到服务器的backups目录下
Общие параметры
-
-a
Сохраняйте всю информацию о файле, включая разрешения, дату изменения и т. д.; -
-r
Рекурсивный вызов, указывающий, что все файлы в подкаталогах также включены; -
-v
Резервный режим, вывод подробной информации о работе.
дефолт,rsync
Файлы в целевом каталоге не удаляются во время синхронизации.Например, если вы удаляете файл в исходном каталоге, но используетеrsync
При синхронизации не удаляются одни и те же файлы в каталоге синхронизации. Вы также можете сделать то же самое, если хотите удалить:rsync -arv --delete Images/ backups/
.
система
halt
Выключите систему, нужноroot
личность.
halt
reboot
Перезагрузите систему, нужноroot
личность.
reboot
poweroff
Его можно отключить, запустив напрямую, нет необходимостиroot
личность.
Vim-редактор
Что такое Вим?
Vim
Отvi
Разработал текстовый редактор. Его автозавершение кода, компиляция и обход ошибок, а также другие удобные функции программирования особенно богаты и широко используются программистами. иEmacs
противопоставляется как классUnix
Любимый редактор системных пользователей.
Общий режим Vim
- интерактивный режим
- режим вставки
- командный режим
- Визуальный режим
интерактивный режим
также становится нормальным режимом, которыйVim
Режим по умолчанию, каждый запускVim
программы, он войдет в этот режим.
например, выполнитьvim name.txt
войдет в интерактивный режим.
Особенности интерактивного режима:
- В этом режиме вы не можете вводить текст;
- Это позволяет нам перемещаться между текстами, удалять строку текста, копировать и вставлять текст, переходить к определенной строке, отменять операции и многое другое.
режим вставки
Этот режим является режимом знакомого нам текстового редактора, то есть вы можете вводить все, что хотите. Есть несколько способов войти в этот режим, самый распространенный способ — нажать буквенную клавишу.i
(i、I、a、A、o、O
можно войти в режим вставки, только в разных позициях), чтобы выйти из этого режима, просто нажмитеEsc
ключ.
-
i, I
войти в режим вводаInsert mode
:i
это "ввод из текущей позиции курсора",I
"начать ввод с первого не пробельного символа текущей строки"; -
a, A
войти в режим вводаInsert mode
:a
это "начать ввод со следующего символа, где в данный момент находится курсор",A
is "начать ввод с последнего символа строки, в которой находится курсор"; -
o, O
войти в режим вводаInsert mode
:o
Для "введите новую строку на следующей строке, где в данный момент находится курсор";O
Введите новую строку для строки над текущей позицией курсора.
командный режим
Командный режим также известен как командный режим нижней строки, в этом режиме вы можете запускать некоторые команды, такие как «выход», «сохранить» и т. д.
Вы также можете использовать этот режим для активации некоторыхVim
Конфигурация, такая как подсветка синтаксиса, отображение номеров строк и т. д. Вы даже можете отправить некоторые команды в командную строку терминала, напримерls、cp
.
Чтобы войти в командный режим, сначала войдите в интерактивный режим, затем нажмите клавишу с двоеточием.
Используйте рисунок, чтобы показать, как переключаются три режима:
Основная операция
Открыть Vim
Введите в командной строке терминалаvim
После возврата кареткиVim
будет запущен, и вы также можете использоватьVim
чтобы открыть файл, простоvim
за которым следует имя файла. какvim file.name
, если файл не существует, он будет создан.
вставлять
После входа в файл вы находитесь в интерактивном режиме в это время, и вы можете войти вi
Войдите в режим вставки.
переехать
существуетVim
В интерактивном режиме мы можем перемещать курсор по тексту.
-
h
сдвинуться на один символ влево -
j
спуститься на один символ вниз -
k
подняться на один символ вверх -
i
сдвинуться на один символ вправо
Конечно, вы также можете использовать четыре клавиши со стрелками для перемещения, эффект тот же.
Перейти к началу и концу строки
- Начало строки: в интерактивном режиме для установки курсора в начало строки достаточно нажать цифровую клавишу.
0
Вот так, на клавиатуреHome
ключи имеют тот же эффект. - Конец строки: в интерактивном режиме, чтобы поместить курсор в конец строки, просто нажмите клавишу со знаком доллара.
$
Вот так, на клавиатуреEnd
ключи имеют тот же эффект.
двигаться по слову
В интерактивном режиме нажмите буквенную клавишуw
Может двигать слово за словом.
выходной файл
В интерактивном режиме нажмите клавишу с двоеточием:
Чтобы войти в командный режим, нажмитеq
ключ для выхода.
Если вы измените файл перед выходом, вы хотите использовать его напрямую:q
покидатьVim
,ТакVim
Сообщение об ошибке будет отображаться красным цветом. На данный момент у нас есть два варианта:
- Сохранить и выйти
:wq
или:x
; - Выход без сохранения
:q!
.
стандартная операция
удалить символ
В интерактивном режиме поместите курсор на символ, который хотите удалить, и нажмите буквенную клавишу.x
Вы обнаружите, что этот персонаж удален.
Вы также можете удалить сразу несколько символов, просто нажмитеx
Введите число перед ключом.
удалять (вырезать) слова, строки
- Удаление строки: двойной щелчок
d
чтобы удалить строку, в которой находится курсор. - Удалить несколько строк: например, сначала введите цифры
2
, затем нажмитеdd
, удаляются две строки, начинающиеся со строки, в которой находится курсор. - Удалить слово: поместите курсор на первую букву слова, затем нажмите
dw
. - Удаление нескольких слов: например, сначала нажмите цифровую клавишу
2
нажмите еще разdw
Вы можете удалить два слова. - Удалить от позиции курсора до начала строки:
d0
. - Удалить от позиции курсора до конца строки:
d$
.
скопировать слово, строку
- Копировать строку: нажмите дважды
y
скопирует строку под курсором в память иdd
похожий,dd
Используется для «вырезания» строки, в которой находится курсор. - Скопируйте слова:
yw
скопирует слово. - Копировать в конец строки:
y$
заключается в копировании всех символов от курсора до конца строки. - Скопируйте в начало строки:
y0
заключается в копировании всех символов из позиции курсора в начало строки.
вставить
Если ранее использовалосьdd
илиyy
Вырезать и скопировать, вы можете использоватьp
вставить. Вы также можете использовать数字+p
для представления нескольких копий.
заменить символ
В интерактивном режиме поместите курсор на символ, который хотите заменить. Нажмитеr
, а затем введите символ, который вы хотите заменить.
отменить операцию
Чтобы отменить последнюю модификацию, просто нажмитеu
клавишу, если вы хотите отменить последние четыре изменения, вы можете нажать 4, затем нажмитеu
.
переделывать
Отменить отмену, то есть повторить предыдущую модификацию с помощьюctrl + r
.
Перейти к указанной строке
Vim
В редактируемом файле каждая строка имеет номер строки, который начинается с 1 и увеличивается один за другим.
Номер строки по умолчанию не отображается, если вам нужно, чтобы он отображался, вы можете войти в командный режим и ввестиset nu
, если вы хотите скрыть номера строк, используйтеset nonu
.
- Перейти к указанной строке:
数字+gg
,Например7gg
, что означает переход к строке 7. - Чтобы перейти к последней строке, нажмите
G
. - Чтобы перейти к первой строке, нажмите
gg
.
Расширенные операции
найти
В интерактивном режиме нажмите/
, затем войдите в режим поиска, введите строку, которую нужно найти, и нажмите клавишу ВВОД. Курсор переходит к следующему найденному совпадению в файле. Если строка не существует, она будет отображаться"pattern not found"
.
-
n
перейти к следующему матчу; -
N
Перейти к предыдущему матчу.
[Примечание] Поиск с косой чертой — это поиск от текущего курсора до конца файла.Если вы хотите начать с текущего курсора и искать до начала файла, используйте?
, конечно, вы также можете нажатьgg
Перейти к первой строке для выполнения полнотекстового поиска.
найти и заменить
Замените первую совпадающую строку в строке, где находится курсор:
# 语法
:s/旧字符串/新字符串
# 实例
:s/one/two
Замените все старые строки в строке под курсором новыми строками:
# 语法
:s/旧字符串/新字符串/g
Заменить все строки от строки к строке:
# 语法
:n,m s/旧字符串/新字符串/g
# 实例
:2,4 s/one/two/g
Наиболее часто используется полная замена текста:
# 语法
:%s/旧字符串/新字符串/g
Объединить файлы
можно использовать двоеточие+r
( :r
), чтобы вставить содержимое файла в место курсора.
:r filename # 可以用Tab键来自动补全另外一个文件的路径
Разделенный экран
Vim
Особенно удобной функцией является разделенный экран, который может одновременно открывать несколько файлов.После разделения экрана каждый экран называетсяviewport
, что означает «окно просмотра».
- Горизонтальный разделенный экран
:sp 文件名
- вертикальный разделенный экран
:vsp 文件名
Ярлыки в режиме разделенного экрана
-
Ctrl + w
плюсCtrl + w
, указывая на то, что изviewport
Переместите курсор на другойviewport
; -
Ctrl + w
Добавьте «клавишу направления», чтобы перейти к следующему экрану просмотра в этом направлении; -
Ctrl + w
плюс+
, что означает расширение текущего окна просмотра; -
Ctrl + w
плюс-
, что означает уменьшение текущего окна просмотра; -
Ctrl + w
плюс=
, указывающий среднее текущее окно просмотра; -
Ctrl + w
плюсr
ключ, он изменит положение окна просмотра; -
Ctrl + w
плюсq
клавиша для закрытия текущего окна просмотра; -
Ctrl + w
плюсo
клавиша закроет все окна просмотра, кроме текущего окна просмотра;
запускать внешние команды:!
существуетVim
Вы можете запустить некоторые команды терминала в:!
, за которым следует имя команды.
Например:
:!ls # 在Vim中打开的文件所在的目录运行ls命令
Визуальный режим
только что сказал раньшеVim
Три режима, на самом деле, есть еще один режим, называемый визуальным режимом.
В него можно войти тремя способами (все стартуют в интерактивном режиме):
-
v
Визуальный режим персонажа, после входа выберите символ клавишами со стрелками, а затем нажмитеd
клавишу для удаления выделения. -
V
Линейный визуальный режим, строка, на которой находится курсор, выбирается по умолчанию после ввода, а затем нажмитеd
клавишу для удаления текущей строки. -
Ctrl + v
Блокировать визуальный режим, это самая полезная функция визуального режима, сd
иI
Ключ может удалить выбранный контент и вставить контент.
Выберите несколько строк одновременно и вставьте содержимое в начало выбранной строки. Конкретные шаги:
1. ctrl + v 进入块可视模式
2. 使用方向键进行选中(上下左右)假设选中5行
3. 输入 I 键进行多行同时插入操作
4. 插入完成后连续按两下 esc 键,实现多行同时插入相同字符
Клавиши управления после входа в визуальный режим:
-
d
клавиша означает удаление выделения; -
I
ключ, что означает вставить перед выбором; -
u
клавиша, указывающая, что выделение становится строчным; -
U
клавиша, указывающая, что выделение становится заглавным;
Конфигурация Vim
параметр опции
существуетVim
После запуска вы можете запустить некоторые команды для активации некоторых параметров параметров, но конфигурация этих параметров параметров будет закрыта.Vim
будут забыты, например, номер строки активации, описанный ранее. Если вы хотите, чтобы конфигурация, в которой вы находитесь, была постоянной, вам нужен домашний каталог (cd ~
)СоздаватьVim
файл конфигурации.vimrc
.
.vimrc
set number " 显示行号
syntax on " 激活语法高亮
set showcmd " 实时看到输入的命令
set ignorecase " 搜索时不区分大小写
set mouse=a " 激活鼠标,用鼠标选中时相当于进入可视模式
Vim
Конфигурация очень богатая, можем настроитьVim
сделай это самIDE
и Т. Д. существуетgithub
Вы также можете найти некоторые мощныеVim
конфигурационный файл.
Суммировать
Я считаю, что благодаря изучению этой статьи вы должныLinux
иметь более полное представление.
Чтобы увидеть все это здесь, просто нажмите 👍👍👍.