Основные команды Bash

Основные команды Bash

Bash (Bourne-Again SHell) - это командная оболочка для Unix-подобных операционных систем, таких как Linux и macOS. Она предоставляет пользователю интерфейс командной строки для работы с операционной системой. Bash является одной из самых распространенных командных оболочек в мире, и ее функциональность может быть значительно расширена с помощью различных утилит и скриптов.

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

Общие команды

man

Команда man в bash является универсальным инструментом для получения справочной информации о любой команде в операционной системе. Кратко говоря, man (от англ. manual) предоставляет доступ к руководству пользователя (man-странице) для любой установленной команды в Linux или Unix.

Синтаксис команды:

$ man <команда>

Вот несколько распространенных опций, которые можно использовать с командой man в bash:

  1. -a, --all - отображает все страницы руководства, связанные с заданной командой, вместо первой страницы.
  2. -f, --whatis - выводит краткое описание заданной команды. Эта опция эквивалентна команде whatis.
  3. -k, --apropos - ищет команды, содержащие указанное ключевое слово в их описании.
  4. -w, --where - отображает путь к странице руководства, связанной с заданной командой.
  5. -C, --config-file - указывает файл конфигурации для использования вместо стандартного файлового пути.
  6. -P. --pager - позволяет указать программу-пейджер для использования вместо стандартного.
  7. -S, --section - позволяет выбрать раздел руководства, в котором будет производиться поиск. Например, -S 2 покажет страницу руководства для системных вызовов.
  8. -h, --help - отображает справочную информацию о команде man и ее опциях.

Это далеко не все опции, доступные для команды man. Чтобы узнать о них более подробно, можно обратиться к руководству пользователя (man-странице) команды man, введя в терминале "man man".

clear

Команда "clear" в bash используется для очистки терминала от предыдущих команд и вывода новой командной строки в верхней части экрана. Это может быть полезно, когда вы работаете в терминале и хотите убрать лишние данные с экрана, чтобы начать новую работу.

Синтаксис команды очень простой - достаточно ввести "clear" в командной строке терминала и нажать Enter. Это приведет к тому, что все предыдущие данные на экране будут удалены, и вы увидите чистый экран с новой командной строкой вверху.

Навигация

Для навигации по файловой системе в Bash есть три основных команды - pwd, ls и cd

pwd

Команда pwd (Print Working Directory) отображает полный путь к текущей рабочей директории. Это может быть полезно, когда вам нужно знать, в каком месте файловой системы вы находитесь. Команда pwd не принимает аргументов. Просто введите pwd в терминале и нажмите Enter, чтобы узнать текущую рабочую директорию.

$ pwd
	/home/user/Documents

ls

Команда ls (List) используется для отображения содержимого текущей директории. Эта команда позволяет просматривать и управлять файлами и директориями.

Синтаксис команды:

$ ls [опции]
	.  ..  file1.txt  file2.txt  .hidden_directory

Некоторые из наиболее распространенных аргументов команды ls в Bash:

  1. -a - отобразить скрытые файлы и директории, начинающиеся с точки.
  2. -l - отобразить длинный формат вывода, включая подробную информацию о файлах и директориях, такую как права доступа, владелец, группа, дата изменения и размер.
  3. -h - использовать человекочитаемый формат для размеров файлов и директорий (например, "10K" вместо "10240").
  4. -r - отобразить файлы и директории в обратном алфавитном порядке.
  5. -t - отобразить файлы и директории в порядке последнего изменения.
  6. -S - отобразить файлы и директории в порядке убывания размера.
  7. -R - отобразить содержимое всех поддиректорий рекурсивно.
  8. -i - отобразить индексный номер (i-node) для каждого файла и директории.

cd

Команда cd (Change Directory) используется для изменения текущей рабочей директории. Эта команда позволяет перемещаться по файловой системе. Команда cd может принимать абсолютный или относительный путь к директории.

Примеры использования

Перейти в домашнюю директорию:

$ cd ~

Перейти в корневую директорию:

$ cd /

Перейти в родительскую директорию:

$ cd ..

Перейти в директорию Documents в текущей директории:

$ cd Documents/

Перейти в предыдущую директорию:

$ cd -

Перейти в директорию, используя абсолютный путь:

$ cd /home/user/Documents/

Перейти в директорию, используя относительный путь:

$ cd ../../Desktop/

Операции с файлами и директориями

Мы научились перемещаться по директориям, теперь давайте освоим операции создания, удаления, копирования и перемещения файлов и директорий используя команды Bash

touch

Команда touch в Bash используется для создания файлов или обновления временных меток (timestamp) у существующих файлов.

Если файл уже существует, команда touch обновит его временные метки до текущего времени. Если файл не существует, команда touch создаст его.

Синтаксис команды touch:

$ touch [опции] имя_файла

Опции команды touch:

  1. -a -изменить только время последнего доступа к файлу
  2. -c - не создавать новый файл, если он не существует
  3. -m - изменить только время последней модификации файла
  4. -t - устанавливает временные метки на основе заданного времени в формате [[CC]YY]MMDDhhmm[.ss], где CC - первые две цифры года, YY - последние две цифры года, MM - месяц, DD - день, hh - часы, mm - минуты, ss - секунды
  5. -d - устанавливает временные метки на основе заданной даты и времени в формате, который может быть распознан командой date
  6. --time - устанавливает только указанный тип временной метки, например, --time=atime для времени последнего доступа, --time=ctime для времени последнего изменения метаданных файла, --time=mtime для времени последней модификации содержимого файла

Команда touch также может использоваться для установки временных меток на основе другого файла с помощью опции -r. Например, touch -r file1.txt file2.txt установит временные метки для файла file2.txt на основе временных меток файла file1.txt.

mkdir

Команда mkdir (от англ. make directory) используется в операционной системе Linux/Unix для создания новых каталогов (папок) в файловой системе.

Синтаксис команды:

$ mkdir [опции] <имя каталога>

Опции команды mkdir:

  1. -m, --mode=РЕЖИМ - задает права доступа к создаваемому каталогу в восьмеричной системе счисления. Например, -m 755 задаст права на чтение, запись и выполнение для владельца каталога и на чтение и выполнение для всех остальных.
  2. -p, --parents - создает промежуточные каталоги, если они не существуют. Например, mkdir -p /home/user/new_directory создаст каталоги /home, /home/user и /home/user/new_directory.
  3. -v, --verbose - выводит информацию о созданных каталогах.
  4. -Z, --context[=CTX] - устанавливает контекст безопасности SELinux для создаваемого каталога (для систем, где SELinux включен).

rm

Команда rm (remove) в bash используется для удаления файлов или каталогов.

Синтаксис команды:

$ rm [опции] <имя каталога или файла>

Опции команды rm:

  1. -f - игнорировать ошибки и не запрашивать подтверждение удаления файлов
  2. -r - рекурсивное удаление каталогов и их содержимого
  3. -i - запрашивать подтверждение перед удалением каждого файла

Примеры использования

$ rm file.txt

Удаление файла file.txt

$ rm -r directory

Удаление каталога directory и его содержимого

$ rm -f file.txt

Удаление файла file.txt без запрашивания подтверждения

$ rm -i file.txt

Запрос на подтверждение перед удалением файла file.txt

$ rm -r -f directory

Удаление каталога directory и его содержимого без запрашивания подтверждения и без вывода сообщений об ошибках

Важно помнить, что команда rm без опции -r не может удалить каталоги. Также необходимо быть осторожным при использовании опции -f, так как она может привести к удалению важных файлов без возможности их восстановления.

rmdir

Команда rmdir в bash используется для удаления пустых каталогов (папок) в файловой системе. Если каталог не пустой, то команда выдаст ошибку.

Синтаксис команды:

$ rmdir [опции] directory

Опции команды rmdir:

  1. -p, --parents - удаляет родительские каталоги, если они стали пустыми после удаления целевого каталога
  2. -v, --verbose - выводит информацию о каждом удаленном каталоге

cp

Команда "cp" (от англ. "copy") в операционной системе Linux используется для копирования файлов и директорий из одного места в другое. Команда имеет множество опций, которые позволяют настраивать ее поведение в соответствии с нуждами пользователя.

Синтаксис команды:

$ cp [опции] <имя каталога или файла>

Опции команды cp:

  1. -a - копирует файлы с сохранением всех атрибутов, включая права доступа, дату создания и модификации, владельца и группу;
  2. -b - создает резервную копию файла, если он уже существует в целевой директории;
  3. -i - запрашивает подтверждение перед перезаписью файла, если файл с таким именем уже существует в целевой директории;
  4. -f - принудительно перезаписывает файлы без запроса подтверждения;
  5. -n - не перезаписывает файлы, если файл с таким именем уже существует в целевой директории;
  6. -r - копирует директорию и ее содержимое рекурсивно;
  7. -p - сохраняет все атрибуты файла, кроме владельца и группы;
  8. -S - создает резервную копию файла и сохраняет ее с указанным расширением.
  9. -u - копирует только те файлы, которые новее, чем уже существующие файлы с тем же именем в целевой директории;
  10. -v - выводит информацию о каждом скопированном файле на экран.

mv

Команда mv в операционной системе Linux используется для перемещения или переименования файлов и директорий.

Синтаксис команды:

$ mv [опции] исходный_файл/директория целевая_директория/новое_имя

Опции команды mv:

  1. -i - запрашивать подтверждение перед перезаписью файла, если файл с таким именем уже существует в целевой директории.
  2. -f - перезаписать файл, даже если он уже существует в целевой директории и не запрашивать подтверждение.
  3. -n - не перезаписывать файл, если файл с таким именем уже существует в целевой директории.
  4. -v - выводить на экран информацию о перемещении файлов.

Примеры использования команды mv:

  1. Переименование файла:

    $ mv file.txt newfile.txt

    Эта команда переименует файл file.txt в newfile.txt.

  2. Перемещение файла в другую директорию:

    $ mv file.txt /home/user/documents/

    Эта команда переместит файл file.txt в директорию /home/user/documents/.

  3. Перемещение файла и переименование его:

    $ mv file.txt /home/user/documents/newfile.txt

    Эта команда переместит файл file.txt в директорию /home/user/documents/ и переименует его в newfile.txt.

  4. Перемещение директории с содержимым:

    $ mv /home/user/documents /home/user/newdocuments

    Эта команда переместит директорию documents в директорию newdocuments. Если директория newdocuments не существует, то она будет создана.

Просмотр и редактирование файлов

head

Команда head в Bash используется для вывода первых строк из указанных файлов или стандартного ввода. По умолчанию, head выводит первые 10 строк из каждого файла, но это поведение может быть изменено с помощью опций.

$ head [опции] <имя файла>

Опции команды head:

  1. -n - указывает количество строк для вывода. Например, head -n 5 file.txt выведет первые 5 строк файла file.txt.
  2. -c - указывает количество байт для вывода. Например, head -c 100 file.txt выведет первые 100 байт из файла file.txt.
  3. -q - если команда head используется для вывода содержимого нескольких файлов, опция -q подавляет вывод имен файлов.
  4. -v - если команда head используется для вывода содержимого нескольких файлов, опция -v позволяет выводить имена файлов перед выводимыми строками.
  5. -z - указывает, что входные файлы являются сжатыми с помощью gzip. head будет читать данные из таких файлов и выводить первые строки, не распаковывая файлы.

tail

Команда tail в Bash используется для вывода последних строк из файла или потока данных. Она может быть полезна при мониторинге логов или других файлов, которые постоянно обновляются.

$ tail [опции] <имя файла>

Опции команды tail:

  1. -n <число> - позволяет указать количество выводимых строк. Например, tail -n 10 file.txt выводит последние 10 строк из файла file.txt.
  2. -f - следит за изменениями в файле и выводит новые строки по мере появления. Эта опция может быть полезна для мониторинга логов в реальном времени.
  3. -q - не выводит заголовок файла при выводе нескольких файлов.
  4. -v - выводит заголовок файла при выводе нескольких файлов.
  5. -c <байты> - позволяет указать количество выводимых байт вместо строк. Например, tail -c 100 file.txt выведет последние 100 байт из файла file.txt.
  6. --pid=<идентификатор процесса> - следит за изменениями в файле, связанном с указанным идентификатором процесса.

cat / tac

Команды cat и tac являются утилитами командной строки, которые используются для чтения, объединения и вывода содержимого файлов.

Команда cat (от англ. concatenate — объединять) читает содержимое одного или нескольких файлов и выводит его в стандартный вывод (обычно в терминал). Синтаксис команды:

$ cat [опции] <файлы>

Некоторые из доступных опций команды cat:

  1. -n - нумерует каждую строку вывода
  2. -b - нумерует только строки, которые не являются пустыми
  3. -s - объединяет повторяющиеся пустые строки в одну
  4. -E - добавляет символ $ в конце каждой строки вывода
  5. -T - заменяет символы табуляции на соответствующее количество пробелов

Например, команда cat -n file.txt выведет содержимое файла file.txt с нумерацией строк.

Команда tac делает то же самое, что и cat, но выводит содержимое файлов в обратном порядке.

Синтаксис команды:

$ tac [опции] <файлы>

Опции для команды tac идентичны опциям для команды cat. Например, команда tac -n file.txt выведет содержимое файла file.txt в обратном порядке с нумерацией строк.

   19.07.2023 11:05:00
Автор статьи:
Гончаров Владимир Сергеевич ©
ЕЩЕ ПО ТЕМЕ

Для настройки редиректа с http на https в Nginx нужно прописать соответствующее правило в файле конфигурации сервера. После редактирования файлов конфигурации, чтобы изменения вступили в силу, сервер каждый раз нужно перезагружать или перезапускать.

18.08.2023 18:17:17

Nginx - это популярный веб-сервер и прокси-сервер, который используется для обслуживания многих веб-сайтов в Интернете. Перезапуск Nginx может быть необходим, чтобы применить изменения в конфигурации, исправить ошибки, или обновить версию Nginx.

18.08.2023 17:55:09

Nginx входит в число самых востребованных сервисов, который известен хорошей производительностью при существенных нагрузках. Все больше и больше сайтов поддерживают протокол HTTPS, а ведущие браузерные разработчики, включая Google и Mozilla, активно поощряют владельцев сайтов, использующих данный защищенный протокол.

Сейчас переход на него — несложная задача, поскольку все топовые серверы включают поддержку SSL, а выпустить сертификат можно даже бесплатно. В данной статье рассмотрим процесс настройки SSL в Nginx с использованием сертификата Let's Encrypt.

03.08.2023 18:02:00

DNS-записи являются одним из самых важных элементов инфраструктуры Интернета. Без них пользователи не смогут получить доступ к веб-ресурсам, почте и другим сервисам. DNS-записи используются для преобразования доменных имен в IP-адреса и наоборот. В этой статье мы рассмотрим основные типы DNS-записей, способы их проверки и настройки в Linux.

31.07.2023 17:11:00

FTP (File Transfer Protocol) - это протокол передачи файлов, который используется для обмена файлами между компьютерами в сети. FTP является одним из наиболее распространенных протоколов передачи файлов в Интернете и используется для загрузки и скачивания файлов с сервера. FTP был разработан в 1971 году и с тех пор был значительно усовершенствован и расширен.

27.07.2023 17:07:00