Командная строка Linux, также называемый терминал, оболочка, или консолью, текстовый интерфейс для вашего компьютера. С помощью этой компьютерной программы вы можете интерпретировать команды и писать свои собственные сценарии.
Поначалу это может показаться устрашающим, но как только вы к этому привыкнете, им станет легко пользоваться. В этой статье вы познакомитесь с некоторыми основами командной строки Linux, а также с некоторыми реальными примерами. Мы предполагаем, что у вас мало или совсем нет предварительных знаний.
Каждый дистрибутив Linux поставляется с командной строкой. В этой статье используется Ubuntu 20.04, команды должны работать с большинством дистрибутивов.
- Что такое командная строка Linux?
- Краткая история командной строки Linux
- Как открыть терминал
- Метод 1: мероприятия
- Метод 2: сочетание клавиш
- Как перемещаться по файлам
- pwd
- ls
- cd
- Как создавать папки и файлы
- Сенсорная команда
- Оператор перенаправления
- Cat command
- Echo command
- Самые важные команды, которые нужно знать
- Find command
- Locate command
- grep command
- chmod
- ping command
- passwd command
- free command
- gzip
- mv
- man
- Как писать собственные скрипты
Что такое командная строка Linux?
Терминал Linux предоставляет вам интерфейс, в котором вы можете вводить команды и видеть результат, напечатанный в виде текста. Вы можете использовать терминал для выполнения таких задач, как перемещение файлов или навигация по каталогу, без использования графического интерфейса. Терминалы просто передают информацию. Чтобы операционная система понимала эту информацию, вам потребуется оболочка.
В командной строке Linux вы можете выполнять команды вручную, набирая их на терминале. Вы также можете автоматизировать команды с помощью сценариев оболочки.
Краткая история командной строки Linux
Кратко пройдемся по истории командной строки Linux. На заре компьютерных технологий существовала операционная система Unix, предназначенная для работы на мэйнфреймах в качестве многопользовательской системы. Пользователи подключались к нему удаленно через терминалы.
Эти терминалы были очень простыми, поскольку они могли только отправлять нажатия клавиш и отображать данные на экране.
Поскольку текст требует мало ресурсов, пользователи могут взаимодействовать быстро и эффективно. Все задачи, которые выполняли пользователи, выполнялись через этот текстовый интерфейс. Чтобы координировать выполнение различных программ, пользователи могут подключаться к одной мастер-программе.
Пользовательские команды были заключены в программы «оболочки». Чтобы упростить сложные задачи, пользователи могли писать сценарии оболочки, автоматизирующие длинную серию команд оболочки.
Linux является потомком Unix. Его основная часть спроектирована так, чтобы вести себя аналогично системе Unix. Bourne Again Shell (BASH) был разработан Стивеном Борном и выпущен в 1979 году в версии 7 Unix выпуска. Со временем он стал оболочкой по умолчанию для систем Linux.
Как открыть терминал
В этом разделе будет рассказано, как открыть терминал Linux двумя способами.
Метод 1: мероприятия
1. Щелкните Действия в верхнем левом углу экрана.
2. Найдите терминал, оболочку, команду или приглашение.
3. Выберите значок терминала, чтобы запустить его. Вот и ваш терминал. Пока это просто тусклый экран.
Если вы используете другие версии Linux, терминал обычно находится в том же месте, что и другие программы запуска приложений. Если вы не можете его найти, воспользуйтесь следующим способом.
Метод 2: сочетание клавиш
Это самый простой способ получить доступ к вашему терминалу Linux. Нажмите, CTRL+ALT+Tчтобы мгновенно открыть терминал.
Хотя это ярлык по умолчанию, у вас есть возможность изменить его. Перейдите в «Настройки»> «Сочетания клавиш».
Здесь вы можете просмотреть все сочетания клавиш, как показано ниже.
Щелкните ярлык рядом с «Запустить терминал», введите новый ярлык в окне «Установить ярлык», нажмите «Установить», и все готово.
Например, я изменил ярлык на CTRL+T, как вы можете видеть ниже.
Как перемещаться по файлам
Теперь, когда вы увидели терминал, давайте попробуем несколько основных команд. Команды — это инструкции, которые вы даете своему компьютеру что-то делать.
Щелкните окно, чтобы убедиться, что нажатия клавиш попадают туда. Нечетный текст, который вы видите на терминале, называется приглашением. Это способ компьютера сказать, что он готов принять команду.
pwd
Введите команду ниже и нажмите Enter.
Когда вы запускаете терминал, вы попадаете в домашний каталог вашего пользователя. Обычно это выглядит примерно так: «/ home / username». Команда pwdprint working directory позволяет узнать, в каком каталоге вы находитесь.
Путь, который он дает, — это абсолютный путь. Абсолютный путь начинается с корня, который является основой файловой системы Linux. Это обозначено косой чертой /.
maryam@maryam-VirtualBox:~$ pwd /home/maryam maryam@maryam-VirtualBox:~$
ls
Другая распространенная команда — это ls. Эта команда используется для отображения всех каталогов и файлов в вашем текущем каталоге, введите lsи нажмите Enter.
# ls0001.pcap Desktop Downloads index.html install.log.syslog Pictures Templatesanaconda-ks.cfg Documents fbcmd_update.php install.log Music
Чтобы просмотреть любые скрытые файлы, добавьте —aв команду.
# ls -a. .bashrc Documents .gconfd install.log .nautilus .pulse-cookie.. .cache Downloads .gnome2 install.log.syslog .netstat.swp .recently-used.xbel0001.pcap .config .elinks .gnome2_private .kde .opera .spice-vdagentanaconda-ks.cfg .cshrc .esd_auth .gtk-bookmarks .libreoffice Pictures .tcshrc.bash_history .dbus .fbcmd .gvfs .local .pki Templates.bash_logout Desktop fbcmd_update.php .ICEauthority .mozilla Public Videos.bash_profile .digrc .gconf index.html Music .pulse .wireshark
Вы можете добавить в команду дополнительные параметры для просмотра конкретной информации.
Параметры | Описание |
ls -X | сортировать по имени расширения |
ls -t | сортировать по времени и дате |
ls -s | размер файла списка |
ls -S | сортировать по размеру файла |
ls -r | список в обратном порядке |
ls -R | рекурсивно перечислить дерево каталогов |
ls -ls | список в длинном формате с размером файла |
ls -lh | список длинного формата с читаемым размером файла |
ls -la | список длинного формата, включая скрытые файлы |
ls -l | список с длинным форматом — показать разрешения |
ls -d | список каталогов — с помощью ‘* /’ |
cd
Далее, мы будем смотреть на cd, команды смены каталога. В нашем случае ваш текущий каталог — это то место, где вы сейчас работаете /home/maryam. Прежде чем мы начнем с изменения каталогов, давайте рассмотрим, что такое абсолютные и относительные пути.
Абсолютный путь начинается с корневой системой и относительного пути от текущего каталога. Таким образом, абсолютный путь для документов будет /home/Maryam/Documents, тогда как относительный путь будет Documents.
Чтобы изменить каталоги, используйте:
cd directory_name
Давайте изменим наш каталог на Documents, используя как относительный, так и абсолютный путь соответственно.
maryam@maryam-VirtualBox:~$ cd Documentsmaryam@maryam-VirtualBox:~/Documents$
maryam@maryam-VirtualBox:~$ cd /home/maryam/Documentsmaryam@maryam-VirtualBox:~/Documents$
Вы можете вернуться в предыдущий каталог, используя:
cd-
Ваш родительский каталог — это каталог, расположенный непосредственно над текущим. Чтобы перейти в родительский каталог, используйте:
cd ..
Чтобы перейти на два уровня вверх, используйте:
cd ../../
Чтобы перейти в домашний каталог, используйте:
cd ~
Как создавать папки и файлы
В Linux создавать файлы и папки довольно просто. Начнем с создания нового каталога под названием «Пончики». Вы будете использовать команду:
mkdir directory_name
Чтобы проверить, был ли создан каталог, используйте ls.
maryam@maryam-VirtualBox:~$ lsa.out Destination Donuts hello.c Public Source Videosbatstat Directory Downloads Music remotesrcdpc Templates…
Вы также можете создать несколько каталогов mkdir, используя:
mkdir{directory_name1,directory_name2,directory_name3}
Не добавляйте пробелы между именами, так как это приведет к включению пробелов в имена созданных каталогов.
Вы можете создавать подкаталоги внутри каталога, добавляя —p. Допустим, вы хотите создать Donuts2в Donuts1ин Donuts, вы должны использовать:
mkdir –p Donuts/Donuts1/Donuts2
Чтобы просмотреть структуру каталогов, используйте:
ls –R
Теперь, когда у нас много каталогов, давайте создадим несколько файлов. В Linux есть много методов для создания файлов, некоторые из них включают:
- Сенсорная команда
- Оператор перенаправления
- Команда кота
- Команда echo
Сенсорная команда
Чтобы создать новый файл с помощью команды touch, запустите touch, а затем укажите имя файла, который вы хотите создать.
touch Boston_creme_pie.txt
Чтобы создать несколько файлов одновременно, разделите имена файлов пробелом.
touch glazed_donut.txt chocolate_frosted_donut.txt
Вы могли бы использовать, lsчтобы перечислить все эти файлы, добавив джокер. Что за дикая карта? Подстановочные знаки позволяют искать файлы по определенным критериям.
Подстановочный *знак звездочки позволяет вам сопоставлять экземпляры символа. Чтобы просмотреть все текстовые файлы в Donuts, используйте:
ls *”.txt”
Оператор перенаправления
Оператор перенаправления >позволяет перезаписывать существующий файл, а >>оператор позволяет добавлять вывод в файл. Создавая файл с использованием >, убедитесь, что не перезаписали важный существующий файл.
Для создания файла используйте:
> filename
Давайте посмотрим, как вы можете >перенаправить вывод в новый файл. Мы перечислим все файлы и каталоги в Donuts, и результат будет перенаправлен в output.txt.
maryam@maryam-VirtualBox:~/Donuts$ ls > output.txt
Чтобы просмотреть output.txt, мы можем распечатать его содержимое в терминале, используя:
cat output.txt
Cat command
Мы рассмотрели, как можно использовать команду cat для чтения файлов. Теперь давайте посмотрим, как мы можем использовать его для его создания. Выполните команду:
cat > filename
Нажмите Enter, затем введите текст, который вы хотите добавить в файл, а затем нажмите CTRL+D.
Теперь давайте используем cat для добавления к файлам. В приведенном ниже примере мы добавляем содержимое из Boston_kreme_pie.txtи glazed_donut.txtв jelly_donut.txt. Затем мы используем cat для просмотра содержимого jelly_donut.txt.
Echo command
Чтобы создать пустые файлы с помощью echo, используйте:
echo > filename
Самые важные команды, которые нужно знать
Мы рассмотрели некоторые основные команды в предыдущих разделах. В этом разделе мы рассмотрим некоторые другие важные команды.
Find command
Вы можете использовать команды find, locate и grep с помощью команды find.
Команда find ищет файлы на вашем диске. Это позволяет вам искать файлы и каталоги на основе групп пользователей, времени изменения файлов или доступа к ним, прав доступа к файлам, дат и размера.
find –name filename
Чтобы игнорировать регистр, используйте:
find –iname file name
Раньше мы говорили о диких картах. Здесь мы используем их для поиска определенных файлов. Эта команда перечисляет все имена файлов, оканчивающиеся на donut.txt.
find . –name ‘*donut.txt’
И эта команда перечисляет все имена файлов, начинающиеся с c.
find . –name ‘c*’
Вы можете искать файлы по размеру, используя:
find –size filesize –type f
Используйте команду ниже для поиска файлов по дате их последнего изменения:
find -iname "*.txt" –mtime -days
Чтобы найти каталог, используйте команду:
find –name filename –type d
Locate command
По сравнению с поиском locateработает быстрее, так как считывает пути к файлам, хранящиеся в mlocate.dbбазе данных. Прежде чем приступить к работе, вам необходимо установитьlocate.
Команда для установки locate:
sudo apt-get install mlocate
Первый шаг — это ввод пароля. После ввода пароля начнется установка.
После установки необходимо обновить поисковую базу. Locateполагается на эту базу данных, поэтому ее регулярное обновление обеспечивает эффективность. Для обновления mlocateбазы данных необходимы права суперпользователя.
sudo updatedb
Чтобы искать файлы по их именам, используйте:
locate filename
Примечание. Функция Locate чувствительна к регистру, поэтому CreamPuffs.txtи creamPuffs.txtне одно и то же.
Чтобы игнорировать регистр, добавьте в команду —i.
locate –i file name
grep command
Печать глобального регулярного выражения (grep) используется в Linux для поиска строк в конкретном файле. Если grep находит эти символы, он печатает строку. Команда такая:
grep string file name
Вы распечатываете номера строк вместе со строкой соответствия, добавляя —nк команде:
grep string filename –n
Примечание: Grep чувствителен к регистру, поэтому glazedи Glazedне одно и то же.
Чтобы игнорировать регистр, используйте:
grep string file name –i
Для поиска чего-либо в каталоге используйте:
grep string . –R
chmod
Команда chmod, изменить режим, используется для просмотра разрешений на чтение, запись и выполнение, связанных с файлом. У вас есть три разных типа пользователей: пользователь (владелец), группа и другие (все остальные), которые могут читать, писать или выполнять файл.
Чтобы просмотреть разрешения, связанные с файлом, используйте:
ls filename –l
Посмотрим, что означает вывод:
- -означает, что это обычный файл. Если бы это был каталог, то так и было бы d.
- rw-rw-r— показывает права доступа к файлу.
Посмотрим на файл hello.c. Скажем, мы хотим, чтобы пользователь читал, записывал и выполнял файл, группа просто читала и выполняла его, а остальные только читали его. Вы будете использовать:
chmod u=rwx,g=rx,o=r filename
Вы можете просмотреть обновленные разрешения, используя:
ls –l hello.c
Вы также можете использовать команду chmod с числовым методом. Разрешения имеют следующие числовые значения:
- Читать = 4
- Написать = 2
- Выполнить = 1
- Нет разрешений = 0
Разрешения, которые получает определенный пользователь, представляют собой сумму этих чисел, поэтому, если вы хотите дать разрешение на чтение, запись и выполнение, это будет 4 + 2 + 1 = 74 + 2 + 1 = 7. Прочитать и выполнить будет4 + 0 + 1 = 54 + 0 + 1 = 5, и просто читать будет 4 + 0 + 0 = 44 + 0 + 0 = 4.
ping command
Команда ping используется для проверки статуса вашего соединения с сервером.
ping https://bestprogrammer.ru/
Вы можете проверить, смогли ли вы подключиться, и посмотреть время ответа. Команда продолжает выполняться, пока вы ее не остановите нажатием CTRL+C.
passwd command
Если вы хотите изменить пароль своей учетной записи, используйте passwdкоманду.
sudo passwd maryam
free command
Чтобы просмотреть использование памяти, используйте бесплатную команду.
free –h
В hпротивном случае он делает его удобочитаемым, он показывает данные в байтах.
gzip
Для сжатия файлов через терминал используйте gzipкоманду. Если вы хотите сохранить как исходный файл, так и сжатую версию, добавьте —k, в противном случае исходный файл будет удален.
mv
Чтобы переместить файлы из одного каталога в другой, используйте mv. Вы также можете переименовывать файлы с помощью этой команды.
mv current_location new_location
Чтобы переименовать файл, используйте:
mv old_name new_name
Чтобы переименовать файл при его перемещении, используйте:
mv current_location new_location/new_name
man
Чтобы узнать больше о любой команде, используйте man. Вы попадете в руководство, где сможете просмотреть описание и все параметры команды. Давайте рассмотрим команду ls более подробно.
man ls
Как писать собственные скрипты
Теперь, когда вы знакомы с некоторыми основами, давайте перейдем к сценариям оболочки. Сценарии оболочки — это программа с открытым исходным кодом, предназначенная для работы в Linux. Вы пишете серию команд, а оболочка их выполняет.
Перво-наперво, что такое оболочка? Shell — это интерфейс, который позволяет вам общаться с операционной системой. Вы получаете доступ к оболочке через терминал, вводите свои команды, оболочка обрабатывает их и выдает результат.
В Linux есть следующие оболочки:
- csh Оболочка C: синтаксис этой оболочки похож на C
- sh или Bourne Shell: эта оболочка доступна во всех системах Linux. Оболочка является базовой и предлагает несколько функций.
- ksh или Korn Shell
- Bash или Bourne Again Shell: этот мощный инструмент является стандартной оболочкой GNU. Он гибкий и интуитивно понятный.
Чтобы узнать больше о BASH, прочтите нашу шпаргалку по 25 лучшим командам BASH.
Приступим к нашему первому сценарию. Откройте текстовый редактор и напишите код ниже.
#!/bin/sh# This is a commentecho Hello World!
Сохраните файл как hello_world.sh. Будем распечатывать Hello World!. Первая строка — это директива, означающая, что все последующее должно интерпретироваться оболочкой Bourne. Вторая строка — комментарий. Третья команда печатает Hello World!.
Далее мы установим разрешения для этого файла, например:
maryam@maryam-VirtualBox:~$ chmod 755 hello_world.sh
Чтобы запустить файл, используйте:
./filename
Вот и все. Ваш самый первый сценарий оболочки!
Создадим еще один, name_age.shиспользующий переменные. Ниже у нас есть две переменные: nameи age. Сценарий принимает ввод с помощью чтения и выводит значения переменных на экран.
#!/bin/shecho What is your name?read nameecho Hello, $name! How old are you?read ageecho You are $age years old!