Примечание. Прежде чем читать этот блог, я рекомендую вам просмотреть блог Операционная система.
Что такое оболочка:
- Shell — это компьютерная программа, используемая для запуска других компьютерных программ.
- Делаем это через текстовый интерфейс.
- Итак, вы вводите команды в терминалы, а у команд есть аргументы.
- И наша система прочитала команду со стандартного ввода.
- Первым снарядом был снаряд Томпсона, изобретенный Кеном Томпсоном в 1971 году.
- Оболочка Bash — самая популярная оболочка во всем мире.
- UNIX основан на экосистеме, поэтому вы можете создать программу, комбинируя существующие программы.
Почему UNIX лучше:
- Переносимость на другое оборудование
- Последовательный
- Обширная программная экосистема (экосистема — это программное обеспечение с открытым исходным кодом)
- текстовый интерфейс (мы можем получить доступ ко всему с помощью команд)
- Текст — очень мощный интерфейс
По некоторым командам я могу посмотреть, какой у меня софт.
имя команды: $ cat /proc/cpuinfo
вы можете получить доступ к телефону Android через оболочку UNIX, во-первых, вы должны включить настройки разработчика вашего мобильного телефона, после чего вам нужно запустить команду adb shell на терминале, теперь вы можете получить доступ к своему мобильному телефону через ваш Терминал.
Теперь вы можете перейти в папку своего мобильного телефона через настольный терминал.
Некоторое оборудование не имеет графического дисплея, поэтому на этот раз мы можем получить к нему доступ с помощью команды через командный интерфейс.
Система UNIX имеет многоуровневую модель
- Кернал
- Оболочка
- Утилиты
- Kernal — это программа, которая управляет многими видами ресурсов и планирования, потому что, если вы хотите запускать две программы одновременно, но у вас есть один процессор, вы не можете этого сделать, поэтому ядро выполняет процесс планирования, поэтому ядро решает, какие процесс должен выполняться первым.
- И ядро может управлять фактической и физической памятью.
- И оболочка — это программа, как Kernal используется для запуска программы.
- В UNIX есть много утилит, таких как команды, системные инструменты, мы можем без проблем выполнять некоторые сложные задачи на нашем терминале.
Псевдонимы
- Псевдоним — это команда, когда мы хотим упростить нашу командную строку, тогда мы можем использовать команду псевдонима.
- Псевдоним предназначен для изменения вашей команды.
- Если вы чувствуете, что ваша команда настолько больше, мы используем команду псевдонима, чтобы изменить вашу команду.
- мы должны добавить ваш модифицирующий псевдоним в файл .bashrc.
- если вы не добавите свой псевдоним в этот файл (.bashrc) при выходе из сеанса, тогда ваша модифицирующая команда перейдет в состояние по умолчанию, чередование команд будет удалено.
- Файл .bashrc представляет собой файл сценария bash.
пример команды: $ псевдоним ls = «ls -l»
эта команда будет отображать ваш каталог и имена файлов построчно.
Изменение каталога:
- С помощью команды мы можем перейти в другие каталоги.
- Имя команды — cd.
Специальные каталоги в системе UNIX:
- «..» → родительский каталог
- “.” → текущий каталог
- «~» → домашний каталог
- «..» → когда мы используем двойную точку с командой cd в качестве аргумента, теперь мы можем переместить родительский каталог нашего текущего каталога.
- “.” → пример команды: $ cp script.sh .
- эта команда используется для копирования файла script.sh в текущий каталог, теперь одиночная точка (.) указывает на текущий каталог. поэтому файл script.sh будет перемещен в текущий каталог.
- «~» → этот символ называется тильдой, что означает домашний каталог.
- когда вы работаете в своем подкаталоге, теперь вы хотите перейти в свой домашний каталог, тогда вы можете запустить команду cd с ~ (тильдой), это переместит вас в ваш домашний каталог.
- потому что тильда указывает на ваш домашний каталог.
- по сути, cd без аргумента и cd ~ делают то же самое.
- когда вы набираете cd без аргумента и запускаете его, команда cd перемещает ваш терминал в ваш домашний каталог.
Использование оболочки:
- запустив echo $SHELL на своем терминале, вы увидите свою текущую рабочую оболочку.
пример: $ echo $SHELL
это даст bin/bash
поэтому моя текущая рабочая оболочка - bash.
$SHELL — это внутренняя переменная оболочки.
- Важная работа оболочки заключается в следующем: сначала она увидит введенную вами команду и перестроит команду, затем оболочка отправляет вашу команду на выполнение после того, как ядро выполнит вашу команду. после этого оболочка отобразит стандартный выходной файл на вашем терминале. такие вещи являются работой оболочки.
- /→ этот символ является специальным символом, обратная косая черта указывает на ваш корневой каталог.
- например, ls/→ теперь ваша команда ls отображает файл и каталоги вашего корневого каталога.
pwd → это команда (настоящий рабочий каталог)
эта команда сообщает вам, где вы находитесь в вашей системе.
Мужчина Команда:
- Команда man → это одна из специальных команд.
- мы можем запустить эту команду с аргументом.
- Эта команда используется для отображения полной информации о другой команде.
Например, man ls
эта команда отображает, что такое команда ls, какие параметры есть у ls, что делает каждый параметр и отображает статус выхода.
Имя команды является аргументом этой команды.
Объединение и копирование файлов:
- Команда Cat → используется для отображения содержимого файла.
- мы можем дать одно или несколько имен файлов команде cat.
- когда мы используем имя файла в качестве аргумента, команда cat считывает ввод из этого файла.
- Если вы запустите команду cat без аргумента, теперь эта команда считывает ввод со стандартного ввода.
- Если вы сейчас запустите команду cat без аргумента, команда будет ждать ввода пользователя, после чего вы сможете ввести любой текст, и этот текст будет сохранен в стандартном входном файле. наконец, команда cat считывает ввод из стандартного входного файла и отображает стандартный выходной файл.
- Команда cat правильно отображает только файлы .txt.
- Теперь, когда вы хотите открыть содержимое файла .png или .jpeg, команда cat отображает некоторые нежелательные данные или нежелательные тексты.
cp → — это команда. эта команда используется для копирования одного файла в другой файл, это цель команды cp.
- Команда cp должна иметь два аргумента: один для источника и один для назначения.
- Синтаксис: cp исходный_файл целевой_файл
- например, $ cp foo foo1
- Теперь команда скопирует файл foo в foo1.
- Сначала команда cp создает имя файла foo1, после чего команда копирует файл foo в файл foo1.
- Если файл foo1 уже существует, команда cp перезапишет файл, потому что содержимое файла foo1 по умолчанию заполнено или удалено, а содержимое файла foo будет сохранено в файле foo1.
Еще один пример для команды cp:
команда: cp foo ../
- Когда вы запускаете эту команду без имени исходного файла, теперь команда создаст foo в родительском каталоге, после чего содержимое будет сохранено в файле с именем foo.
- cp foo ../ и cp foo ../foo одинаковы.
- Мы можем скопировать несколько файлов в каталог.
Например, $ cp foo foo1 круто
- Теперь файлы foo и foo1 будут скопированы в каталог cool.
- Мы также можем скопировать файлы и каталоги одного каталога с помощью -r (опция)
- -r — это опция команды cp, которая будет рекурсивно копировать файл и каталоги.
- cp -r home 'новый дом'
- Теперь файлы и каталоги домашнего каталога будут скопированы в «новый домашний» каталог.
Подстановочные знаки и фигурные скобки:
- По сути, подстановочный знак используется для упрощения нашей командной строки.
- например, у меня есть каталоги с именем foo foo1 foo2 foo3 foo5.
- Если вы хотите увидеть содержимое этих файлов. поэтому вам нужно написать команду вида $ cat f*
- Во-первых, оболочка изменяет команду cat. изменить означает, что оболочка расширяет команду → cat foo foo1 foo2 foo3 foo4 foo5
- После этого команда перейдет в процесс выполнения.
- Затем команда отображает содержимое файла.
- {}→ Это один из подстановочных знаков, этот подстановочный знак всегда используется для упрощения команды.
- Например, если вы хотите скопировать файл foo в foo1.
- Вы уже знаете, как скопировать файл из одного в другой.
- $ cp foo foo1 (или) $ cp foo {,1} эти две команды всегда одинаковы.
- $ echo cp foo {,1}эта команда отображает cp foo foo1.
- Команда echo — очень простая команда, эта команда отображает введенную строку.
- Например, $echo string→ эта команда выдаст имя «string» в качестве вывода.
- Если вы хотите напечатать числа от одного до ста, мы делаем это с помощью однострочной команды.
- $ echo {1..100} → эта команда печатает числа от одного до ста
- Если вы хотите создать сто каталогов, вы можете сделать это с помощью однострочной команды.
- Команда → mkdir img{1..100} → эта команда создаст сто каталогов.
- И rmdir img{1..100} → эта команда удалит созданные каталоги img.
- И важное замечание: первый аргумент начинается, а второй аргумент заканчивается.
- $ mkdir img{0..100..10} → эта команда выдаст результат
- img1 img10 img20 img30 img40 img50 img60 img70 img80 img90 img100 → это вывод приведенной выше команды.
- {1..100.10} → первый аргумент указывает начало, второй аргумент указывает окончание и, наконец, третий аргумент указывает приращение.
Команда rm и rmdir:
- Команда rm используется для удаления имени файла из вашего каталога.
- Команда rmdir используется для удаления подкаталога текущего рабочего каталога.
Удаление имен файлов:
- Если у вас есть файл foo.txt и вы хотите удалить его из своего каталога, введите команду $ rm foo.txt
- Теперь ваша команда будет удалена из вашего текущего рабочего каталога.
Удаление каталогов:
- У вас есть каталог img, если вы хотите удалить каталог, введите команду $ rmdir img
- Но есть важные замечания при использовании команды rmdir.
- Только если в каталоге нет подкаталогов и файлов, то будет удален только каталог.
- В противном случае вам придется использовать другую команду. команда rm.
- Мы должны использовать эту команду с рекурсивной опцией (-r). теперь каталог будет удален рекурсивно.
Команда wc :
- Команда wc используется для подсчета строк файлов, байтов, слов.
- У вас есть файл foo с некоторым содержимым.
- Если вы хотите проверить количество строк в файле, количество символов, количество слов.
- Затем вы должны ввести команду $ wc foo (имя файла)
- Это даст результат 12 250 670 foo.
- Теперь первый указывает количество строк в файле, второй указывает количество слов, а третий указывает количество символов в файле.
- Команда wc также считывает стандартный входной файл, чтобы использовать его в качестве входных данных.
- Мы также можем использовать эту опцию с этой командой.
- $ wc -l foo → эта команда показывает, сколько строк в этом файле.
Спасибо, что прочитали!