![]()
Напишу немного о 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 потока данных:
stdinstdoutstderr
Информацию о них можешь найти по этой ссылке
Создание файлов (и наполнение их текстом) (Часть 2)
Теперь, прочев про потоки данных мы можем сделать следующее: перенаправить поток stdout команды echo в новый файл:
echo "hello" > new_file.txt
Открыв файл, мы увидим текст hello
Чтобы добавить к тексту word, выполним команду echo "word" >> new_file.txt. После выполнения этой команды содержимое файла станет
1 2 | |