Напишу немного о Linux.
Пути
Путь - коротко говоря то, где расположен файл.
Представим, что у нас есть папка foo/
, в которой есть другая папка bar/
, в которой расположен файл baz/
. Тогда путь для файла baz/
будет выглядеть как foo/bar/baz/
В системах UNIX/Linux все пути начинаются из корневого раздела - /
. Это не просто черточка, это указатель на вполне определённый раздел жесткого диска.
Пути бывают двух типов: абсолютные и относительные пути. В чем же разница?
Абсолютный путь требует указания ПОЛНОГО перечня директорий до текущей директории. Например, нам нужна директория log/
. Для того, чтобы получить доступ к этой директории, нам придётся записать полный её путь от корневого раздела: /var/log
. Обрати внимание, что запись пути мы начали с /
- корневого раздела, затем записали папку var/
, в которой находится директорию log/
.
Относительный путь более умный. Допустим, нам все также требуется получить доступ к файлу log_file
в директории /var/log/
, но сейчас мы находимся в директорию var/
. Чтобы получить доступ к log_file
нам достаточно указать путь log/log_file
. Терминал знает то, в какой директорию ты сейчас находишься и достаточно указать путь, относительно текущей папки.
Домашня директорию /home/<текущий пользователь>/
сокращается до ~/
. Допустим, ты сейчас залогинен под пользователем Ilya
. Тогда, для тебя ~/
будет равносилен /home/Ilya/
Символ .
- указывает на текущую директорию
Например, мы находимся в папке foo/bar
. для нас папка .
будет foo/bar/
Символ ..
- указывает на директорию, находящуюся на уровень выше.
Например, мы находимся в папке foo/bar
. Для нас папка ..
будет foo
.
Подробней про пути смотри по этой ссылке
Навигация по файловой системе
Для перехода по папкам используется команда cd
(change directory - смени директорию).
Примеры использования:
- Перейти в корневой раздел:
cd /
- Перейти в домашнюю директорию:
cd ~/
илиcd /home/<имя текущего пользователя>/
- Перейти в директорию
foo/bar
:cd foo/bar
- Перейти в директорию
foo/
, находясь в директориюfoo/bar/
:cd ..
- Перейти в директорию
foo/baz/
, находясь в директориюfoo/bar/
:cd ../baz
Подробней по команде cd
смотри по этой ссылке
Просмотр содержимого директорий
Для просмотра содержимого директорий служит команда ls
(От английского list - список)
Примеры использования:
- Просмотр содержимого текущей директории:
ls
- Просмотр содержимого директории
/var/log/
:ls /var/log
- Просмотр содержимого директори
foo/baz/
, находясь в директорииfoo/bar/
:ls ../baz/
Подробней по команде ls
смотри по этой ссылке
Создание файлов в консоли
Один из способов создания файлов в консоли - использование команды touch
(прикосновение с английского)
Пример:
* touch my_file.txt
- создаст в текущей папке пустой файл с названием my_file.txt
* touch foo/another_file.txt
- создаст в папке ./foo
файл another_file.txt
Подробней по команде touch
смотри по этой ссылке
Создание директорий
Для создания директорий используется команда mkdir
(make dir - сделай директорию)
Примеры:
- создать папку
foo/
:mkdir foo
- мы находимся в папке
foo/bar/
, создать папкуfoo/baz
:mkdir ../baz
Если необходимо создать последовательность директорий, стоит использовать команду mkdir
с ключем -p
:
- мы находимся в папке в папке foo/
, нам нужно создать директорию foo/bar/baz/
. Используя команду без ключа -p нам пришлось бы выполнить две команды:
mkdir bar/
- создаём директориюbar/
mkdir bar/baz/
создаём директориюbaz/
в директорииbar/baz
Используя ключ -p
достаточно выполнить одну:
mkdir -p bar/baz
Подробней по команде mkdir
смотри по этой ссылке
Команда Echo
Выводит в консоль (на самом деле в stdout, что это такое - читай ниже) переданный ей текст.
echo hello
выведет в консоль hello
Важно помнить, что есть мы хотим вывести больше одного слова, стоит использовать ковычки:
echo "hello world\!"
выведет в консоль hello world\!
(\ перед восклицательным знаком - так называемое экранирование)
Более полные примеры смотри по этой ссылке
Стандартные потоки
В средах UNIX/Linux существует такое понятие, как стандартные потоки
У каждой программы существует 3 потока данных:
stdin
stdout
stderr
Информацию о них можешь найти по этой ссылке
Создание файлов (и наполнение их текстом) (Часть 2)
Теперь, прочев про потоки данных мы можем сделать следующее: перенаправить поток stdout
команды echo
в новый файл:
echo "hello" > new_file.txt
Открыв файл, мы увидим текст hello
Чтобы добавить к тексту word
, выполним команду echo "word" >> new_file.txt
. После выполнения этой команды содержимое файла станет
1 2 |
|