Linux

Знакомство с основными консольными командами.

Команда mkdir

Синтаксис mkdir команды следующий:

mkdir [Опция] [Имя директории]

Команда принимает одно или несколько имен каталогов в качестве аргументов

это из-за того что не существует родительский каталог под именем 8, Вместо того, чтобы создавать отсутствующие родительские каталоги один за другим, вызовите mkdir команду с -p опцией:

mkdir -p /home/sensei/test/1/2/3/4/5/6/7/8/9/

Когда -p опция используется, команда создает каталог, только если он не существует.

Команда выше создает следующее дерево каталогов :

Micros/
|-- OOP
|   `-- PYTHON
|-- Client
|-- Draw
|   `-- Photophop
`-- Linux
    |-- linux1
    |-- linux2
    |-- linux3

Команда cd

cd - это команда смена текущего каталога.

Для смены каталога вы должны четко понимать где вы находитесь и куда нужно направиться (путь до пункта назначения). Команда “pwd” позволяет вам узнать, в каком каталоге вы сейчас находитесь.

В операционной системе Linux может быть несколько видов путей к файлу.

По умолчанию, когда вы запускаете терминал, текущим рабочим каталогом становится рабочий каталог пользователя. (В моем случае имя пользователя sensei)

Для сравнения в Linux это: /home/sensei/ и в Windows это: C:\Users\sensei\

Предполагая, что каталог test существует в вашем домашнем каталоге, вы можете перейти к нему, используя относительный путь к каталогу:

 cd test

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

 cd /home/sensei/test/

При переходе в каталог знак слэша после имени каталога является не обязательным атрибутом, в первом примере я не добавил знак (/) после имени test, тем немении после нажатия на клавишу enter произайдет вход в каталог (система автоматически поймет если это каталог а не файл, а если будет файл то он сообщит об этом). Во втором примере я писал путь к каталогу нажимая клавишу TAB на клавиатуре.

Клавиша Tab отличный помощьник для администратора работающего в терминале linux, он реализует автозаполнение командной строки. Предположим, что вы забыли точное имя каталога. Введите начальные буквы каталга и нажмите Tab – система сама дополнит командную строку. Если после нажатия Tab вы услышите звуковой сигнал, значит, возможных вариантов несколько, в этом случае нажмите еще раз Tab, чтобы увидеть весь список возможных каталогов. Если возможных комбинаций нет и автозаполнения не происходит то это обозначает что вы не правильно набираете путь.

В Unix-подобных операционных системах текущий рабочий каталог представлен одной точкой ( . ). Две точки ( .. ) представляют родительский каталог или другими словами каталог непосредственно над текущим. Если вы напечатаете cd . , то перейдете в текущий каталог в терминале вы конечно не увидете изменений так как уже находитесь в текущем каталоге.

Предположим, что вы находитесь в каталоге /home/sensei/test/1/2/3/4/5/6/7/8/9, чтобы переключиться на каталог под именем 8 (на один уровень выше текущего каталога), вы должны набрать:

 cd ../  

Чтобы вернуться к предыдущему рабочему каталогу:

cd -

Чтобы перейти к вашему домашнему каталогу, просто введите cd без параматра. Другой способ вернуться непосредственно в ваш домашний каталог - использовать символ tilde (~), как показано ниже:

cd ~

Например, если вы находитесь в другом каталоге (/usr/local/bin/) и хотите перейти к каталогу test, который находится внутри вашего домашнего каталога, вы должны набрать:

cd ~/test  

Команда cd имеет множество опций, описание которых вы найдете в man-странице (наберите в командной строке man cd). В следующей таблице приведены примеры использования команды cd.

Команда Результат
cd Возвращает вас в ваш домашний каталог
cd ~ Также возвращает вас в ваш домашний каталог
cd / Переносит в корневой каталог
cd /root Переносит в домашний каталог пользователя root, или суперпользователя, чья учетная запись создается при установке системы; для доступа к этому каталогу вы должны быть суперпользователем
cd /home Переносит в каталог home, где обычно находятся каталоги всех пользователей, существующих в системе
cd .. Перемещает на один уровень вверх
cd - Перемещает на один уровень назад
cd /dir1/subdir Независимо от того, в каком каталоге вы находитесь, этот абсолютный переход переместит вас в каталог subdir, который является подкаталогом каталога dir1
cd ../../dir3/dir2 Этот относительный путь сначала переместит вас на два уровня вверх, затем в каталог dir3, а затем в каталог dir2

Команда touch

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

Создание пустого файла

touch file1

Создание нескольких файлов

touch file1 file2 file3

Также можно указывать диапазон, например:

touch file{1..3}

Имена файлов в Linux

По сравнению с Windows в Linux несколько другие правила построения имен файлов, вам придется с этим смириться. Начнем с того, что в Linux нет такого понятия, как расширение имени файла. В Windows, например, для файла Document1.doc именем файла является фрагмент Document 1, а doc — это расширение. В Linux Document1.doc — это имя файла, никакого расширения нет.

Максимальная длина имени файла — 254 символа. Имя может содержать любые символы (в том числе и кириллицу), кроме / ? < > * “ . Но кириллицу в именах файлов я бы не рекомендовал вообще. Впрочем, если вы уверены, что не будете эти файлы передавать Windows-пользователям (на флешке, по электронной почте) — используйте на здоровье. А при обмене файлами по электронной почте (кодировка-то у всех разная, поэтому вместо русскоязычного имени пользователь может увидеть абракадабру) имя файла лучше писать латиницей.

Также вам придется привыкнуть к тому, что Linux чувствительна к регистру в имени файла: FILE.txt и FiLe.Txt — это два разных файла.

Точка в начале имени

По соглашению файлы, чьи имена начинаются с точки, считаются скрытыми. Скрытость файлов никак не связана с возможностями доступа к содержимому скрытого файла или к оглавлению скрытой директории. Просто некоторые программы, вроде ls (она выводит списки файлов и сведения о них), не показывают скрытые файлы, если программе не дано особое указание.

Команда echo

Команда echo имеет простой синтаксис с несколькими опциями:

echo [опции] [входная строка]

Echo часто используется в bash скриптах для отображения информации, такой как запрос пользователя на ввод данных или отображение ошибки или предупреждения для определенного действия в сценарии. Она просто выводит свои аргументы на дисплей:

echo Hello World

Отображение значения переменной

Допустим, вы объявили переменную name=khasan. Вы можете отобразить значение этой переменной с помощью команды echo:

echo Значение переменной name равно $name

Его вывод будет отображаться так:

Значение переменной name равно khasan

Перенаправить вывод в файл

Вы можете использовать команду echo, чтобы создать новый файл в Linux или добавить новый текст в существующий файл,

Основные параметры:

Включим интерпретацию специальных последовательностей, параметр “-e” и переведем каждое слово на новую строку, аргумент “\n”:

echo -e "Я \nучусь \nв \nучебном \nцентре \nмикрос \nуз"

Опция “-n” Не переводит результат выполнения команды на новую строку. Подробно с ним мы познакомимся во втором этапе изучения линукса когда будем писать скрипты.

Команда cat

cat — считывает данные из файлов и выводит их содержимое. Это самый простой способ отображения содержимого файла в командной строке.

Простейший способ использования cat - задать команде имя файла. Содержимое текстового файла будет выведено на экран. Например, следующая команда прочитает содержимое файла mytext.txt и выведет его в стандартный поток вывода (экран вашего терминала):

cat mytext.txt

Если файл слишком длинный, он пролистается, и вы увидите только последний экран. При необходимости просмотреть документ постранично или прокручивать его вперёд и назад можно воспользоваться конвеером и передать обработку другой команде:

cat mytext.txt |less

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

cat mytext.txt mytext2.txt

Обычно копирование осуществляется командой cp, но для копирования текстовых файлов вы можете аналогичным образом использовать команду cat. cat отправляет результат в stdout (стандартный поток вывода), обычно это экран терминала. Однако, можно перенаправить результат в файл при помощи символа перенаправления “>”:

cat mytext.txt > newfile.txt

Присоединение содержимого текстового файла в конец другого текстового файла:

cat mytext.txt >> newfile.txt

вообщем cat — простой, но очень полезный инструмент для работы с данными в текстовых файлах, системных логах, файлах конфигурации и любыми другими читаемыми для человека данными.