Окончательное руководство по командной строке Linux - полное руководство по Bash

Добро пожаловать в наше полное руководство по командной строке Linux. Это руководство покажет вам некоторые из ключевых технологий командной строки Linux и познакомит вас с языком сценариев Bash.

Что такое Баш?

Bash (сокращение от Bourne Again SHell) - это оболочка Unix и интерпретатор командного языка. Оболочка - это просто макропроцессор, выполняющий команды. Это наиболее широко используемая оболочка, упакованная по умолчанию для большинства дистрибутивов Linux, и преемница оболочки Korn (ksh) и оболочки C (csh).

Многие вещи, которые можно сделать в операционной системе Linux, можно сделать через командную строку. Вот несколько примеров…

  • Редактирование файлов
  • Регулировка громкости операционной системы
  • Получение веб-страниц из Интернета
  • Автоматизация повседневной работы

Вы можете узнать больше о bash здесь, в документации GNU и в руководстве по tldp.

Использование bash в командной строке (Linux, OS X)

Вы можете начать использовать bash в большинстве операционных систем Linux и OS X, открыв терминал. Рассмотрим простой пример hello world. Откройте свой терминал и напишите следующую строку (все после знака $):

[email protected]:~$ echo "Hello world!" Hello world!

Как видите, мы использовали команду echo для вывода строки «Hello world!» к терминалу.

Написание bash-скрипта

Вы также можете поместить все свои команды bash в файл .sh и запускать их из командной строки. Допустим, у вас есть сценарий bash со следующим содержимым:

#!/bin/bash echo "Hello world!"

Стоит отметить, что первая строка скрипта начинается с #!. Это особая директива, к которой Unix относится иначе.

Почему мы использовали #! / Bin / bash в начале файла сценария?

Это потому, что это соглашение, позволяющее интерактивной оболочке знать, какой интерпретатор запускать для следующей программы. Первая строка сообщает Unix, что файл должен быть выполнен / bin / bash. Это стандартное расположение оболочки Bourne практически в каждой системе Unix. Добавление #! / Bin / bash в качестве первой строки вашего сценария указывает операционной системе вызвать указанную оболочку для выполнения команд, которые следуют в сценарии. #!часто называют «хэш-бэнг», «ша-бэнг» или «ша-бэнг». Хотя он выполняется только в том случае, если вы запускаете свой скрипт как исполняемый файл. Например, когда вы печатаете ./scriptname.extension, он будет смотреть на верхнюю строку, чтобы найти интерпретатор, тогда как при запуске скрипта как bash scriptname.shпервая строка игнорируется.

Затем вы можете запустить сценарий следующим образом: Чтобы сделать файл исполняемым, вы должны вызвать эту команду в sudo chmod + x «filename».

[email protected]:~$ ./myBashScript.sh Hello world!

В скрипте всего две строки. Первый указывает, какой интерпретатор использовать для запуска файла (в данном случае bash). Вторая строка - это команда, которую мы хотим использовать, echo, за которой следует то, что мы хотим напечатать, - «Hello World».

Иногда скрипт не выполняется, и приведенная выше команда возвращает ошибку. Это связано с разрешениями, установленными для файла. Чтобы избежать этого использования:

[email protected]:~$ chmod u+x myBashScript.sh

А затем выполните сценарий.

Командная строка Linux: Bash Cat

Cat - одна из наиболее часто используемых команд в операционных системах Unix.

Cat используется для последовательного чтения файла и вывода его на стандартный вывод. Название происходит от его функции к кон кошачьих файлов Enate.

Применение

cat [options] [file_names]

Наиболее часто используемые варианты:

  • -b, числовые непустые строки вывода
  • -n, пронумеровать все выходные строки
  • -s, сжать несколько смежных пустых строк
  • -v, отображать непечатаемые символы, кроме табуляции и символа конца строки

пример

Распечатайте в терминале содержимое файла file.txt:

cat file.txt

Объедините содержимое двух файлов и отобразите результат в терминале:

cat file1.txt file2.txt

Командная строка Linux: Bash cd

Например, измените каталог на указанный путьcd projects.

В пользу этого есть несколько действительно полезных аргументов:

  • . относится к текущему каталогу, например ./projects
  • ..можно использовать для перехода на одну папку вверх, использовать cd ..и можно комбинировать для перехода на несколько уровней вверх../../my_folder
  • /является корнем вашей системы для доступа к основным папкам, таким как system, usersи т. д.
  • ~ is the home directory, usually the path /users/username. Move back to folders referenced relative to this path by including it at the start of your path, for example ~/projects.

Linux Command Line: Bash head

Head is used to print the first ten lines (by default) or any other amount specified of a file or files. Cat is used to read a file sequentially and print it to the standard output.

ie prints out the entire contents of the entire file. - that is not always necessary, perhaps you just want to check the contents of a file to see if it is the correct one, or check that it is indeed not empty. The head command allows you to view the first N lines of a file.

if more than on file is called then the first ten lines of each file is displayed, unless specific number of lines are specified. Choosing to display the file header is optional using the option below

Usage

head [options] [file_name(s)]

Most used options:

  • -n N, prints out the first N lines of the file(s)
  • -q, doesn’t print out the file headers
  • -v, always prints out the file headers

Example

head file.txt

Prints in terminal the first ten lines of file.txt (default)

head -n 7 file.txt

Prints in terminal the first seven lines of file.txt

head -q -n 5 file1.txt file2.txt

Print in terminal the first 5 lines of file1.txt, followed by the first 5 lines of file2.txt

Linux Command Line: Bash ls

ls is a command on Unix-like operating systems to list contents of a directory, for example folder and file names.

Usage

cat [options] [file_names]

Most used options:

  • -a, all files and folders, including ones that are hidden and start with a .
  • -l, List in long format
  • -G, enable colorized output.

Example:

List files in freeCodeCamp/guide/

ls ⚬ master CODE_OF_CONDUCT.md bin package.json utils CONTRIBUTING.md gatsby-browser.js plugins yarn.lock LICENSE.md gatsby-config.js src README.md gatsby-node.js static assets gatsby-ssr.js translations

Linux Command Line: Bash man

Man, the abbreviation of manual, is a bash command used to display on-line reference manuals of the given command.

Man displays the reletive man page (short for manual page) of the given command.

Usage

man [options] [command]

Most used options:

  • -f, print a short description of the given command
  • -a, display, in succession, all of the available intro manual pages contained within the manual

Example

Display the man page of ls:

man ls

Linux Command Line: Bash mv

Moves files and folders.

mv source target mv source ... directory

The first argument is the file you want to move, and the second is the location to move it to.

Commonly used options:

  • -f to force move them and overwrite files without checking with the user.
  • -i to prompt confirmation before overwriting files.

That's all. Go forth and use Linux.