предисловие
Только лысина может стать сильнее
В этом семестре открылся курс Linux, и преподаватель, который преподает, тоже более ответственный. В целом, это можно рассматривать как систематическое изучение Linux~~~
Эта статья в основномКратко опишите основные операции Linux и некоторые простые понятия.~ Если вы не знакомы со студентами, вы можете играть с Linux (или купить сервер для игры [студенческая версия не очень дорогая]).Для разработчиков необходимо иметь возможность использовать Linux для выполнения некоторых основных операций. !
Тогда приступим, конечноМой Linux просто начальный уровень, если есть какие-либо ошибки, пожалуйста, потерпите меня и не стесняйтесь указывать на ошибки в области комментариев ~
1. Почему мы должны изучать Linux
Полагатьбольшинство людейБольшинство ПК используют систему Windows, так зачем нам изучать операционную систему Linux? ? ? Графический интерфейс Windows сделан очень хорошо, а затраты на обучение практически нулевые для повседневного использования.
В отличие от Linux,возможныйЛюди, которые плохо знакомы с Linux, подумают: Linux — это хлопотно, а не весело, это сплошь символьные интерфейсы. Не интуитивно понятно, для чего эта сломанная система~~
Для повседневного использования Windows относительно проста, но нам нужно знать следующее: программы, которые мы разработалиОбычно работают под Linuxиз.
Тогда некоторые люди могут задать вопросы: Windows — это тоже операционная система,Зачем ставить под линукс, а не под винду?? ? Я считаю, что Windows также может запускать программы, которые мы написали.
Я подвел итог LinuxНесколько преимуществ:
- бесплатно
- Многие программы изначально работают под Linux при огромной поддержке сообщества.хорошая экологическая среда.
- открытый источник, можно настроить, открыть,многопользовательская сетевая операционная система.
- Относительно безопасный и стабильный
Использованная литература:
Итак, разработчикЛинукс выбранЗапустим программу, которую написали сами.
2. Базовые знания Linux
Состав системы Linux:
- ядро линукса(управление командой linus)
- shell: Интерфейс для взаимодействия пользователя с ядром
- Файловая система: ext3, ext4 и т.д. В винде фат32, нтфс
- стороннее прикладное программное обеспечение
2.1 Базовые знания «Шелл»
Помимо Шелла, другие должны быть очень понятными, тогдаЧто такое Шелл? ? ?
Shell — это пользовательский интерфейс системы, обеспечивающийИнтерфейс для взаимодействия пользователей с ядром(интерпретатор команд)
Оболочка может выполнять:
- Внутренняя команда
- применение
- сценарий оболочки
использоватьtypeкоманда можетвыделитьВнутренние и внешние команды
Итак, мы можем использовать Shell, чтобы делать следующие вещи:
- Интерпретация командной строки (самая используемая!)
- Несколько последовательностей выполнения команд
- подстановочные знаки
- Завершение команд, механизм псевдонимов, история команд
- Перенаправление ввода/вывода (перенаправление ввода/вывода)
- трубы
- подстановка команды (
или $( )) - Язык программирования оболочки (Shell Script)
Основные версии Shell следующие:
- мыОбщий (по умолчанию)являетсяbash(bourne again shell)
использоватьpsкоманда для наблюдения за выполнением оболочки
2.2 Базовая структура каталогов Linux
Под Windows будетбазовая структура каталоговиз:
Linux не исключение, здесь тоже есть базовая структура каталогов:
Файловая система Linux представляет собойструктура дерева каталогов, структура файловой системы начинается с корневого каталога, в корневом каталоге может быть любое количество файлов и подкаталогов, а в подкаталоге может быть любое количество файлов и подкаталогов
- bin хранит бинарные исполняемые файлы (ls, cat, mkdir и т. д.)
- boot хранит различные файлы, используемые при загрузке системы
- dev используется для хранения файлов устройств
- etc для хранения файлов конфигурации системы
- home Корневой каталог, в котором хранятся все пользовательские файлы.
- lib хранит общие библиотеки и модули ядра, необходимые программе в файловой системе для запуска.
- mnt Точка монтирования, в которую системный администратор монтирует временную файловую систему.
- выбрать, где размещаются дополнительно установленные необязательные пакеты приложений
- виртуальная файловая система proc, в которой хранится отображение текущей памяти
- корневой каталог суперпользователя
- sbin хранит бинарные исполняемые файлы, доступ к которым есть только у root
- tmp используется для хранения различных временных файлов
- usr используется для хранения системных приложений, более важный каталог /usr/local каталог установки программного обеспечения локального администратора
- var используется для хранения файлов, которые должны изменять данные во время выполнения.
2.3 Основной формат команды
cmd [options] [arguments], опции называются опциями, аргументы называются параметрами
И параметры, и аргументы используются в качестве входных данных для выполнения команды оболочки.разделенные пробелами.
- Линукс эторазличать размернаписано
Вообще говоря, а затем параметры, еслиодин символиспользуется перед опциейОдин减号-.варианты словиспользовать два перед减号--
- Это общая ситуация, и некоторые команды не относятся к этому правилу (относительно немного)~~~
- пример:
ls -aиls -all,aИспользуйте один символ-, словоallиспользовать два--
В Linux,запускаемый файлТакже классифицируются:
- встроенные команды: для эффективности интерпретатор некоторых часто используемых командПостроен внутри оболочки.
- внешняя команда: Команды хранятся в каталогах /bin и /sbin.
- полезность: Утилиты хранятся в /usr/bin, /usr/sbin, /usr/share, /usr/local/bin и других каталогах.
- Пользовательская программа: после компиляции пользовательской программы для создания исполняемого файла ее можно запустить как команду оболочки.
- Сценарий оболочки: пакетный файл, написанный на языке оболочки, который можно запускать как команду оболочки.
2.4 Подстановочные знаки
Студенты, изучившие некоторые регулярные выражения или имеющие некоторые базовые знания, должны быть знакомы с подстановочными знаками.В Linux также есть подстановочные знаки (очень полезно при поиске).
- *: соответствует любому символу и любому количеству символов
- ?: соответствует любому символу в одном числе
- [ ]: соответствует любому символу в пределах [ ]
- [!]: Соответствует любому символу, кроме, показывая значение не [!]!
2.5 Типы файлов
В Linux так много типов файлов:
-
обычный файл
- -
содержание
d -
символическая ссылка
l- Жесткие ссылки: ничем не отличаются от обычных файлов, все индексные дескрипторы указывают на один и тот же блок файла на жестком диске.
- Мягкая ссылка: Сохраняет абсолютный путь файла, который он представляет.Это файл другого типа.Он имеет независимый блок на жестком диске и заменяет свой собственный путь при доступе к нему (просто понимается как общий ярлык в Windows).
- файл символьного устройства
c - блокировать файл устройства
b - разъем
s - именованный канал
p
Обычными являются обычные файлы, каталоги и символические ссылки. Узнайте больше об этом~
Ссылки на символические ссылки:
2.5.1 Домашний каталог пользователя
Может появляться при поиске информации в Интернетедомашний каталог пользователяС таким именем, какой он? ? ?
Как упоминалось ранее, наш Linuxмногопользовательская сетевая система! Итак, мы можем создать несколько пользователей под Linux.У каждого пользователя будет свое пространство.
- Итак, при создании пользователя системный администраторДомашний каталог будет создан для каждого пользователя, обычно в
/home/Под содержанием - Например: домашний каталог пользователя osmond:
/home/osmond
ПользовательВладение файлами в собственном домашнем каталоге, вы можете выполнять соответствующие операции в своем собственном домашнем каталоге.
Три часто используемые команды
Вышеупомянутый набор основных понятий.Это должно заложить нам небольшую основу перед вводом команды.При вводе команды мы также столкнемся с некоторыми более важными знаниями. Тогда я расскажу об этом позже~~~
3.1 Общие команды работы с файлами и каталогами
это мынаиболее используемыйкоманда,Самые основные команды в Linux!
- доступный
pwdКоманда для просмотра текущего каталога пользователя - доступный
cdкоманда переключения каталогов -
.Указывает текущий каталог -
..Указывает родительский каталог (родительский каталог) текущего каталога -
-Указывает, что для переключения каталогов используется команда cd.впередкаталог -
~выражатьдомашний каталог пользователяабсолютный путь к
абсолютный путь:
- Начинается с косой черты (/) и описывает расположение файла.полное описание, в любое время, когда вы хотите указать имя файла, вы можете использовать
относительный путь:
- Не начинайте с косой черты (/), укажитеРасположение относительно вашего текущего рабочего каталога, который можно использовать как сокращение для указания имен файлов
tips:При вводе команд используйте клавишу табуляции для завершения
-
ls: Отображение информации о файле или каталоге -
mkdir: создать пустой каталог в текущем каталоге -
rmdir: требует, чтобы каталог был пуст -
touch: время для создания пустого файла или изменения файла -
cp: скопировать файл или каталог -
mv: переместить файл или каталог, переименовать файл или каталог -
rm: удалить файл или каталог -
ln: создать файл ссылки -
find: найти файлы -
file/stat: просмотр информации о типе файла или атрибутах файла. -
cat:Просмотр содержимого текстового файла -
more:можно пролистывать -
less:Не только может разбивать на страницы, но также может легко искать, возвращаться и выполнять другие операции. -
tail -10: просмотреть последние 10 строк файла. -
head -20: просмотр первых 20 строк файла. -
echo: перенаправить содержимое в указанный файл, открыть, если есть, создать, если нет -
管道命令 |: передать предыдущий результат следующей команде, например:ls -la | wc, добавьте результат ls в команду wc для подсчета количества слов -
重定向 > 是覆盖模式,>> 是追加模式,Например:echo "Java3y,zhen de hen xihuan ni" > qingshu.txtПоместите вывод слева в файл справа
Что мы можем сделать с этими командами?По сути, это копирование файлов, вставка файлов, создание файлов и просмотр файлов под Windows.~~~
3.1.1 Общие упражнения по работе с файлами и каталогами
укрепить фундамент,Чтобы сделать тему:
- (1) Программа оболочки Linux по умолчанию:
bash 程序; - (2) Формат команды Linux состоит из трех частей, а именно:
命令,选项,参数; - (3) Параметрам команды Linux предшествует одиночный знак минус (-), за которым следует общий
单字符, опции предшествует двойной знак минус (--), за которым следует单词; - (4) Подстановочные знаки, используемые в командах Linux,
? * []; - (5) Результат команды ls /usr/bin/w*
列出指定目录下的所有以w开头的文件或目录; - (6) Результат команды ls /usr/bin/w??
列出指定目录下的以w开头名称长度为3的所有文件或目录; - (7) Результат команды ls /usr/bin/[xyz]*
列出指定目录下的文件名以x或y或z开头的所有文件或目录; - (8) Результат команды ls /usr/bin/[!a-h]*
列出指定目录下的文件名不以a到h区间字母开头的所有文件或目录; - (9) Во время работы с каталогом «.» означает
当前目录; - (10) Во время работы с каталогом «..» означает
上一级目录; - (11) Во время работы со справочником "-" означает
上一次工作目录; - (12) Во время работы с каталогом "~" означает
用户主目录; - (13) Команда ln может установить ссылку на файл, которая делится на:
硬链接и软链接; - (14) Команда touch может изменить три времени файла, а именно:
access time,modify time,change time;
Войдите в каталог /tmp, создайте файл goldXX (XX — две последние цифры номера студента), проверьте время файла
В основном каталоге учетной записи создайте каталог собак, после входа в каталог собак создайте каталог catXX (XX — две последние цифры номера студента), войдите в каталог catXX и отобразите текущий каталог; затем вернитесь в предыдущий каталог и удалите каталог catXX;
Скопируйте файл /etc/passwd в домашний каталог учетной записи и измените пароль в домашнем каталоге учетной записи на passwdXX (где XX — две последние цифры номера учащегося)
Найдите файл с именем zcat; скопируйте файл в каталог /tmp; перечислите файл в длинном формате; затем удалите все файлы в каталоге /tmp и проверьте, не был ли удален файл.
Скопируйте файл /etc/hosts в основной каталог учетной записи; создайте файл жесткой ссылки в основном каталоге учетной записи (имя файла hostsYYY (YYY — аббревиатура имени учащегося в пиньине)) и ссылку на файл hosts в основном каталоге; просмотреть hosts и информацию об индексных дескрипторах файлов hostsYYY
Скопируйте файл /usr/bin/vdir в домашний каталог учетной записи; создайте файл программной ссылки (имя файла newdir) в домашнем каталоге учетной записи, создайте ссылку на файл vdir в домашнем каталоге; просмотрите информацию об индексных дескрипторах vdir и newdir. файлы соответственно
Перечислите все файлы в каталоге /usr/bin в длинном формате, перенаправьте вывод в файл outXX (XX — две последние цифры номера студента) и проверьте результат; перечислите все файлы в каталоге /etc в длинном формате. формат, результат вывода добавляется в конец файла outXX
Перечислите все файлы в каталоге /usr/bin в длинном формате и подключитесь с помощью команды more через каналы, чтобы просмотреть список файлов.
>和>>Какая разница?
отвечать:>даобложкаспособ перенаправления на новый файл;>>даПополнитьметод, добавленный в конец исходного файла.
Где удобно просматривать список файлов через пайпы и тем более команду?
Ответ: В случае, когда список файлов превышает один экран, этот метод можетПросмотр с разделенным экраном, более удобный.
3.2 Команды упаковки и сжатия файлов
В операционной системе Windows мы будем использовать программное обеспечение для сжатия, такое как WinRAR, или быстрое сжатие для сжатия или распаковки.
под линуксомКонечно, есть также операции сжатия и распаковки., давайте научимся сжимать и распаковывать под Linux!
Есть несколько способов сжатия, мыОбычно используетсяЕсть следующие три:
- gzip
- bzip2
- tar
Обычно используемые команды сжатия:
gzip filenamebzip2 filenametar -czvf filename
Общие команды декомпрессии:
gzip -d filename.gzbzip2 -d filename.bz2tar -xzvf filename.tar.gz
3.3 Регулярное выражение + grep
Мы уже узнали вышеcat、more、less、tailЭто команды для просмотра текстовых файлов, но я хочуБыстро увидеть, существуют ли определенные ключевые слова в этом текстовом файле, что я должен делать? ? ?
Это относительно просто под Windows, почти все текстовые редакторы (блокнот) поддерживаютCTRL+F, введите в него ключевое слово, чтобы найти его:
Что под линуксом нет ни графического интерфейса, ниCTRL+Fв случае,Если вы не понимаете некоторые команды, очень сложно найти соответствующие символы.. Здесь я расскажу вам, как быстроНайти определенные символы в текстовом файле.
3.3.1 Регулярные выражения
Прежде всего, поговорим о регулярных выражениях, если вы общались со студентами, то знаете: запомнить это дело непросто. Как только вы его не используете, его легко забыть, поэтому вы можете проверять его только тогда, когда используете его~~~ Итак, я приведу некоторые правила непосредственно ниже, не так много, чтобы сказать.
3.3.2 команда grep
grep (регулярное выражение глобального поиска) — этоМощный инструмент поиска текста. grep ищет текст, используя регулярные выражения, и печатает соответствующие строки.
Формат:grep [options] PATTERN [FILE...]
- ШАБЛОН - условие поиска:Может быть обычной строкой, может быть регулярным выражением, обычно заключайте RE в одинарные кавычки.
- ФАЙЛ — это файл для поиска, который может состоять из нескольких файлов, разделенных пробелами, или вы можете использовать подстановочный знак Shell для поиска ШАБЛОНА в нескольких файлах.Если он опущен, это означает поиск в стандартном вводе.
- Команда grep никак не изменяет и не влияет на входной файл, вы можете использовать перенаправление вывода, чтобы сохранить результат в виде файла.
пример:
- Найдите строку, содержащую строку mystr в файле myfile
grep -n mystr myfile
- Показать все строки в myfile, где первый символ — буква
grep '^[a-zA-Z]' myfile
- Найти строки в файле myfile, первый символ которых не # (то есть отфильтровать строки комментариев)
grep -v '^#' myfile
- Перечислите все имена файлов в каталоге /etc (включая подкаталоги), которые содержат строку «root» в своем содержимом.
grep -lr root /etc/*
Используйте grep, чтобы найти строку, начинающуюся с a в файле /etc/passwd, и попросите отобразить номер строки, найдите строку, заканчивающуюся на login в файле /etc/passwd;
3.4 Несколько способов повысить эффективность работы
-
команда автозаполнения
- клавиша TAB
-
команда истории
- клавиши со стрелками вверх и вниз
- псевдоним псевдоним
Я чувствую, что здесь можно говорить только о псевдонимах, давайте посмотрим на пример ниже, чтобы понять!
Отобразите псевдонимы, определенные в данный момент оболочкой; выполните две команды, определяющие псевдонимы; определите псевдоним grep и попросите его отобразить результаты в цвете
3.5 Переменные оболочки и среда оболочки
В Windows есть переменные среды пользователя и системные переменные среды. То же самое верно и в Linux.
Переменные оболочки могут быть примерноДелится на три категории:
-
внутренняя переменная: предоставляется системой, пользователи могут только использовать его и не могут изменять.
- ?
- GROUPS
- переменная среды: Эти переменные определяют рабочую среду пользователя. Они не должны определяться пользователем и могут использоваться непосредственно в оболочке. Некоторые из этих переменных могут быть изменены пользователем.
-
пользовательская переменная: создается и изменяется пользователем, часто используется в сценариях оболочки.
- Назначение переменной (определить переменную)
varName=Valueexport varName=Value
- ссылочная переменная
$varName
- Назначение переменной (определить переменную)
переменная оболочкисфера:
- локальная переменнаяСфера действия толькоограничен файлом оболочки или сценария оболочки, в котором находится его командная строка;
- глобальная переменнаяВ сферу действия входитЭтот процесс оболочки и все его подпроцессы.
- локальные и глобальные переменныеобмен:можно использовать
exportВстроенная команда устанавливает локальную переменную в глобальную переменную. можно использоватьexportВстроенная команда устанавливает глобальные переменные в локальные переменные.
команда экспорта:
-
показыватьГлобальные переменные, видимые текущей оболочке
export [-p]
-
Объявите значение переменной, объявив ее как глобальную переменную.
export <变量名1=值1> [<变量名2=值2> ...]
- Объявить некоторые (ые), которые были назначеныЛокальные переменные являются глобальными переменными.
export <变量名1> [<变量名2> ...]
- Объявить некоторые (ые), которые были назначеныГлобальные переменные — это локальные переменные.
export -n <变量名1> [<变量名2> ...]
Переменные среды оболочки:
- Переменные среды определяютРабочая среда, чтобы обеспечить правильное выполнение команд оболочки.
- Shell использует переменные среды для определения пути поиска, каталога регистрации, типа терминала, имени терминала, имени пользователя и т. д.
- все переменные окруженияглобальные переменные(т.е. может быть передан подпроцессу оболочки) и может быть сброшен пользователем.
Переменные оболочки: запрос, отображение и отмена:
- Отображает все в настоящее время определенные переменные
- всепеременная среды:
env - всепеременные и функции(включая переменные среды):
set
- всепеременная среды:
- Показать значение некоторых переменных
echo $NAME1 [$NAME2 ……]
- Необъявление или присвоение переменной
unset <NAME>
3.5.1 Переменные оболочки и упражнения среды оболочки
Определите переменную оболочки stuXX (XX — две последние цифры номера учащегося), начальное значение — полное написание имени учащегося, используйте команду echo для отображения значения переменной stuXX; используйте команду unset для отмены stuXX и проверьте результат, используйте команду env, чтобы узнать, какие из них доступны в данный момент.
Можно ли изменить значение переменной среды Shell? Зачем?
Ответ. Значение переменной окружения можно изменить при нормальных обстоятельствах. но долженВнесите поправки осторожно, потому что после изменения ошибки это серьезно повлияет на нормальную работу оболочки и даже приведет к ее сбою.
4. Редактор ВИ
Я полагаю, что студенты, которые не использовали Linux, увидят двух редакторов, когда будут читать некоторые абзацы:
- vim
- emacs
Давайте научимся просто использовать vi. vi — это сокращение от «визуальный интерфейс», он может выполнять вывод, удаление, поиск, замену, блокировку и многие другие текстовые операции, а такжеПользователи могут настроить его в соответствии со своими потребностями, что недоступно в других программах редактирования..
- vi можно увидеть как блокнот под нашей Windows
- vim — это Vi IMproved, один из клонов vi
Используйте Vi для редактирования файла:
Vi имеет три режима:
4.1 Нормальный режим
-
GИспользуется для прямого перехода в конец файла -
ZZИспользуется для сохранения и выхода из Vi -
ZQИспользуется для выхода из Vi без сохранения на диск -
/和?для поиска строк -
nпродолжить поиск следующего -
yyскопировать строку -
pВставить в следующую строку, P вставить в предыдущую строку -
ddудалить строку текста -
xудалить символ под курсором -
uОтменить последнюю операцию редактирования (отменить)
4.2 Режим вставки
Ввод команд вставки в обычном режимеi、 a 、 oВойдите в режим вставки. Любой символ, введенный пользователем, удаляется vimСохранить как содержимое файла, и вывести его на экран.
- Во время ввода текста, если вы хотите вернуться в обычный режим, нажмите клавишу Esc.
4.3 Режим командной строки
В обычном режиме пользователь нажимает двоеточие:Вы можете войти в командный режим.В это время vim будет отображать «:» в качестве подсказки в командном режиме в последней строке окна дисплея (последняя строка экрана), ожидая ввода команды.
-
:wСохранить текущий редактируемый файл без выхода -
:wновый файл сохраняется как другой файл с именем «новый файл». -
:wqИспользуется для сохранения и выхода из Vi -
:q!Используется для выхода из Vi без сохранения на диск -
:qИспользуется для прямого выхода из Vi (без изменений)
Настройте среду Vi:
- :set автоматический отступ, обычно используемый при написании программ
- :set noautoindent убрать отступ
- :set number отображать номера строк при редактировании файлов
- :set nonumber не отображать номера строк
- :set tabstop=value Установить количество пробелов для отображения вкладок
- :set показывает все установленные параметры
- :set all показать все параметры, которые можно установить
4.4 Практические вопросы Vi
В домашнем каталоге пользователя выполнить программу vi и отредактировать файл install.log, переместить курсор на 10-ю строку, пятый символ, нажать заглавную букву G, чтобы дойти до конца файла, выйти без сохранения;
В домашнем каталоге пользователя запустите программу vi и отредактируйте файл install.log, с помощью команды / найдите строку sudo и скопируйте строку, содержащую строку sudo
В домашнем каталоге пользователя запустите программу vi, отредактируйте файл install.log, войдите в командный режим, установите номер отображаемой строки, используйте ? команда, чтобы найти строку openssh, используйте команду n, чтобы найти следующую
4. Резюме
В этой статье в основном объясняются самые базовые знания о Linux, и вы сможете легко работать с Linux. Можно сказать, что команда бесконечная, и можно только вспомнить, что в Linux есть эта функция, а еще очень удобно проверять ее онлайн.
Главное, чтобы вы могли запомнить некоторые распространенные команды Linux, попрактиковавшись и играя больше~~~~
Теперь я нарисую карту мозга команд Linux (конечно,Команды ограничены очками знаний этой статьи, а затем продолжайте добавлять его, когда вы пишете о пользователе, сети и других точках знаний! )
Если в статье есть какие-либо ошибки, пожалуйста, поправьте меня, и мы сможем общаться друг с другом. Учащиеся, привыкшие читать технические статьи в WeChat и желающие получить больше ресурсов по Java, могутОбратите внимание на публичный аккаунт WeChat: Java3y
Оглавление Навигация по статьям: