Крайното ръководство за командния ред на 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, като отворите терминал. Нека разгледаме прост пример за здрав свят. Отворете терминала си и напишете следния ред (всичко след знака $):

[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 „име на файл“.

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

Сценарият има само два реда. Първият показва какъв интерпретатор да се използва за стартиране на файла (в този случай, bash). Вторият ред е командата, която искаме да използваме, ехо, последвана от това, което искаме да отпечатаме, което е „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.